Attempt to represent the S^2->S^3 header reorganisation as a series of "hg rename" operations
1 // Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies).
2 // All rights reserved.
3 // This component and the accompanying materials are made available
4 // 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
5 // which accompanies this distribution, and is available
6 // at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
8 // Initial Contributors:
9 // Nokia Corporation - initial contribution.
17 #ifndef SCHEDULE_BASE_SERVER_MTM_H_
18 #define SCHEDULE_BASE_SERVER_MTM_H_
20 /////////////////////////////////////////////////////////////////////////////
22 // CScheduleBaseServerMtm Declaration
24 /////////////////////////////////////////////////////////////////////////////
32 class CMsvScheduleSend;
33 class CMsvSysAgentActions;
34 class TMsvSendErrorAction;
35 class TMsvSchedulePackage;
38 class CScheduleBaseServerMtm : public CBaseServerMtm
40 Base class for Server MTMs that support scheduling.
42 It contains pure virtual functions which must be implemented by the Server
43 MTM. These functions are not required for interoperability with any other
44 classes, however they are essential functionality that must be implemented
45 by a Server MTM that support scheduling.
47 CScheduleBaseServerMtm uses a class derived from CMsvScheduleSend to
48 interface with the task scheduler.
57 // --- Construction ---
59 IMPORT_C CScheduleBaseServerMtm(CRegisteredMtmDll& aRegisteredMtmDll, CMsvServerEntry* aServerEntry);
61 // --- Send the Scheduled Messages ---
63 IMPORT_C virtual void SendScheduledL(CMsvEntrySelection& aSelection, const TBool aMove, const TDesC8& aParameter, TRequestStatus& aStatus);
64 IMPORT_C virtual void ScheduleL(CMsvEntrySelection& aSelection, const TBool aMove, const TDesC8& aParameter, TRequestStatus& aStatus);
65 IMPORT_C virtual void ConstructL();
66 IMPORT_C void LoadResourceFileL(const TDesC& aResFileName);
68 // Other Schedule Commands
70 IMPORT_C virtual void CheckScheduleL(const CMsvEntrySelection& aSelection, const TDesC8& aParameter, TRequestStatus& aStatus);
71 IMPORT_C virtual void DeleteScheduleL(const CMsvEntrySelection& aSelection, const TDesC8& aParameter, TRequestStatus& aStatus);
73 // --- Pure virtual functions that must be implemented in a derived class ---
76 Populates a TMsvSchedulePackage object with scheduling information.
78 @param aParameter Parameter information for the package
79 @param aMove Flag that signals whether a move or copy is required
80 @param aPackage On return, a populated object
82 virtual void PopulateSchedulePackage(const TDesC8& aParameter, const TBool aMove, TMsvSchedulePackage& aPackage) const = 0;
85 Loads the resource file (if any) for the MTM.
87 virtual void LoadResourceFileL() = 0;
90 IMPORT_C void Queue(TRequestStatus& aStatus);
92 IMPORT_C void LoadScheduleSettingsL(CRepository& aRepository, TBool aRestoreErrorsFromResource = EFalse, TInt aErrorsResourceId = 0);
96 IMPORT_C ~CScheduleBaseServerMtm();
100 void RequestComplete(TRequestStatus* aStatus, TInt aError);
104 // --- Data Member ---
106 /** Message scheduler. */
107 CMsvScheduleSend* iScheduleSend; //Should be constructed and deleted by the derived class
109 /** MTM resource file. */
110 RResourceFile iResourceFile;
111 /** File server handle. */
113 /** Asynchronous status word. */
114 TRequestStatus* iReport;