1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/epoc32/include/msvscheduledentry.h Tue Mar 16 16:12:26 2010 +0000
1.3 @@ -0,0 +1,158 @@
1.4 +// Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies).
1.5 +// All rights reserved.
1.6 +// This component and the accompanying materials are made available
1.7 +// under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
1.8 +// which accompanies this distribution, and is available
1.9 +// at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
1.10 +//
1.11 +// Initial Contributors:
1.12 +// Nokia Corporation - initial contribution.
1.13 +//
1.14 +// Contributors:
1.15 +//
1.16 +// Description:
1.17 +//
1.18 +
1.19 +#ifndef __MSVSCHEDULEDENTRY_H__
1.20 +#define __MSVSCHEDULEDENTRY_H__
1.21 +
1.22 +#include <msvsenderroraction.h>
1.23 +#include <msventryscheduledata.h>
1.24 +
1.25 +/**
1.26 +Abstract base class which stores the schedule data and recipients of a message.
1.27 +
1.28 +CMsvScheduledEntry does not force the Server MTM to store the message
1.29 +recipients in a certain way. However, it is recommended that the Server MTM
1.30 +derive its recipients class from CMsvRecipient, because the class already has
1.31 +support for the number of retries to send a message to a recipient.
1.32 +
1.33 +CMsvScheduledEntry stores the TMsvEntry to which it relates to provide quick
1.34 +access to the scheduling-related index data without needing calls to
1.35 +CMsvServerEntry::SetEntry().
1.36 +However, CMsvScheduledEntry does not provide access to all the members of
1.37 +the TMsvEntry. This is to stop the user of the CMsvScheduledEntry from
1.38 +accessing the descriptor members of the TMsvEntry while the server entry is
1.39 +not set to the TMsvEntry.
1.40 +
1.41 +@publishedAll
1.42 +@released
1.43 +*/
1.44 +
1.45 +class CMsvScheduledEntry : public CBase
1.46 + {
1.47 +public:
1.48 + /**
1.49 + Tests if any of the recipients of this message can still be sent to.
1.50 +
1.51 + @param aErrorActions
1.52 + Error-actions
1.53 +
1.54 + @param aAction
1.55 + Default error-action
1.56 +
1.57 + @return True if at least one of the recipients has not been sent
1.58 + the message.
1.59 + */
1.60 + virtual TBool CanSendToAnyRecipients(const CMsvSendErrorActions& aErrorActions, TMsvSendErrorAction& aAction) = 0;
1.61 +
1.62 + /**
1.63 + Tests if any of the recipients of this message can still be sent to.
1.64 +
1.65 + @param aAction
1.66 + Default error-action
1.67 +
1.68 + @return True if at least one of the recipients has not been sent
1.69 + the message.
1.70 + */
1.71 + virtual TBool CanSendToAnyRecipients(const TMsvSendErrorAction& aAction) = 0;
1.72 +
1.73 + /**
1.74 + Sets all the recipients' retries to zero.
1.75 + */
1.76 + virtual void RecipientsResetRetries() = 0;
1.77 +
1.78 + /**
1.79 + Increases all the recipients' retries by one.
1.80 + */
1.81 + virtual void RecipientsIncreaseRetries() = 0;
1.82 +
1.83 + /**
1.84 + Sets all the recipients' flags to sending failed.
1.85 + */
1.86 + virtual void RecipientsSetFailed() = 0;
1.87 +
1.88 + /**
1.89 + Tests if all recipients of the message have been sent successfully.
1.90 +
1.91 + @return True if all recipients have been sent successfully.
1.92 + */
1.93 + virtual TBool RecipientsAllSent() const = 0;
1.94 +
1.95 + IMPORT_C virtual void StoreL(CMsvStore& aStore) const;
1.96 + IMPORT_C virtual void RestoreL(CMsvStore& aStore);
1.97 +
1.98 + /**
1.99 + Stores the recipients.
1.100 +
1.101 + @param aStore
1.102 + Store to write to.
1.103 + */
1.104 + virtual void RecipientsStoreL(CMsvStore& aStore) const = 0;
1.105 +
1.106 + /**
1.107 + Restores the recipients.
1.108 +
1.109 + @param aStore
1.110 + Store to read from.
1.111 + */
1.112 + virtual void RecipientsRestoreL(CMsvStore& aStore) = 0;
1.113 +
1.114 + inline const TTime& ScheduleDate() const;
1.115 + inline void SetScheduleDate(const TTime& aDate);
1.116 +
1.117 + inline const TBool Scheduled() const;
1.118 + inline void SetScheduled(const TBool aScheduled);
1.119 +
1.120 + inline const TInt SendingState() const;
1.121 + inline void SetSendingState(TInt aState);
1.122 +
1.123 + inline const TInt Error() const;
1.124 + inline const TMsvId Id() const;
1.125 + inline const TBool OffPeak() const;
1.126 +
1.127 + inline void SetFailed(const TBool aFail);
1.128 + inline const TBool Failed() const;
1.129 +
1.130 + IMPORT_C TBool PendingConditions() const;
1.131 + IMPORT_C void SetPendingConditions(TBool aPendingConditions);
1.132 +
1.133 + inline const TUid Mtm() const;
1.134 +
1.135 + IMPORT_C void Entry(TMsvEntry& aEntry) const;
1.136 +
1.137 +protected:
1.138 +
1.139 + IMPORT_C CMsvScheduledEntry(const TMsvEntry& aEntry);
1.140 +
1.141 +public:
1.142 +
1.143 + /** Message schedule data. */
1.144 + TMsvEntryScheduleData iData;
1.145 +
1.146 +private:
1.147 +
1.148 + TMsvEntry iEntry;
1.149 + };
1.150 +
1.151 +/**
1.152 +Dynamic array of CMsvScheduledEntry objects.
1.153 +
1.154 +@publishedAll
1.155 +@released
1.156 +*/
1.157 +typedef CArrayPtrFlat<CMsvScheduledEntry> CMsvScheduledEntries;
1.158 +
1.159 +#include <msvscheduledentry.inl>
1.160 +
1.161 +#endif