diff -r 000000000000 -r 8e480a14352b messagingfw/scheduledsendmtm/test/base/inc/pigeonservermtm.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/messagingfw/scheduledsendmtm/test/base/inc/pigeonservermtm.h Mon Jan 18 20:36:02 2010 +0200 @@ -0,0 +1,158 @@ +// Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies). +// All rights reserved. +// This component and the accompanying materials are made available +// under the terms of "Eclipse Public License v1.0" +// which accompanies this distribution, and is available +// at the URL "http://www.eclipse.org/legal/epl-v10.html". +// +// Initial Contributors: +// Nokia Corporation - initial contribution. +// +// Contributors: +// +// Description: +// + +#ifndef __PIGEONSERVERMTM_H__ +#define __PIGEONSERVERMTM_H__ + +#include +#include +#include +#include "t_schsendshare.h" + + + +const TUid KUidMsgTypePigeon = {0x1000127E}; + +class CPigeonScheduledSend; +class MPigeonObserver; + +class CPigeonServerMtm : public CScheduleBaseServerMtm + { +public: + + IMPORT_C static CPigeonServerMtm* NewL(CRegisteredMtmDll& aRegisteredMtmDll, CMsvServerEntry& aServerEntry); + + ~CPigeonServerMtm(); + + void ScheduleL(CMsvEntrySelection& aSelection, const TBool aMove, const TDesC8& aParameter, TRequestStatus& /*aStatus*/); + void RestoreScheduleSettingsL(); + void SendScheduledL(CMsvEntrySelection& aSelection, const TBool aMove, const TDesC8& aParameter, TRequestStatus& aStatus); + void SetFailFirstSendL(CMsvEntrySelection& aSelection); + void StartCommandL(CMsvEntrySelection& aSelection, TInt aCommand, const TDesC8& aParameter, TRequestStatus& aStatus); + + void DoCancel(){}; + void CopyToLocalL(const CMsvEntrySelection& /*aSelection*/, long /*aLong*/, TRequestStatus& /*aStatus*/){}; + void CopyFromLocalL(const CMsvEntrySelection& /*aSelection*/, long /*aLong*/, TRequestStatus& /*aStatus*/){}; + void CopyWithinServiceL(const CMsvEntrySelection& /*aSelection*/, long /*aLong*/, TRequestStatus& /*aStatus*/){}; + void DeleteAllL(const CMsvEntrySelection& /*aSelection*/, TRequestStatus& /*aStatus*/){}; + void CreateL(TMsvEntry /*aEntry*/, TRequestStatus& /*aStatus*/){}; + void ChangeL(TMsvEntry /*aEntry*/, TRequestStatus& /*aStatus*/){}; + TBool CommandExpected(){return ETrue;}; + const TDesC8& Progress(); + void MoveToLocalL(const CMsvEntrySelection& /*aSelection*/, long /*aLong*/, TRequestStatus& /*aStatus*/){}; + void MoveFromLocalL(const CMsvEntrySelection& /*aSelection*/, long /*aLong*/, TRequestStatus& /*aStatus*/){}; + void MoveWithinServiceL(const CMsvEntrySelection& /*aSelection*/, long /*aLong*/, TRequestStatus& /*aStatus*/){}; + void DoRunL(){}; + void DoComplete(int /*i*/){}; + void LoadResourceFileL(){}; + void PopulateSchedulePackage(const TDesC8& /*aDes*/, const int /*i*/, TMsvSchedulePackage& /*aPackage*/) const{}; + + + + +private: + void ConstructL(); + void RestoreSettingsL(); + void DoStartCommandL(CMsvEntrySelection& aSelection, TSchSendTestOperation aCommand, const TDesC8& aParameter, TRequestStatus& aStatus); + CPigeonServerMtm(CRegisteredMtmDll& aRegisteredMtmDll, CMsvServerEntry* aServerEntry);// + void UpdateProgressL(const CMsvEntrySelection& aSelection); + CMsvScheduledEntry* ScheduledEntryLC(TMsvId aId); + CMsvStore* GetServiceEntryEditStoreLC(); +private: + TMsvId iServiceId; + CPigeonScheduledSend* iScheduleSend; + + TSchSendTestProgressBuf iProgress; + + TBool iHeapFailure; + TInt iNextFailure; + }; + +class CPigeonScheduledEntry : public CMsvScheduledEntry + { +public: + IMPORT_C static CPigeonScheduledEntry* NewL(const TMsvEntry& aMsvEntry); + TBool CanSendToAnyRecipients(const TMsvSendErrorAction&); + TBool CanSendToAnyRecipients(const CMsvSendErrorActions&, TMsvSendErrorAction&); + void RecipientsResetRetries(){}; + void RecipientsIncreaseRetries(){}; + void RecipientsSetFailed(){}; + TBool RecipientsAllSent() const; + void RecipientsStoreL(CMsvStore&) const{}; + void RecipientsRestoreL(CMsvStore&) {}; + +private: + void ConstructL(); + CPigeonScheduledEntry(const TMsvEntry& aMsvEntry) : CMsvScheduledEntry(aMsvEntry){}; + }; + +class CPigeonScheduledSend : public CMsvScheduleSend + { +public: + IMPORT_C static CPigeonScheduledSend* NewL(CMsvServerEntry& aServerEntry); + ~CPigeonScheduledSend(); + CMsvScheduledEntry* GetMessageL(const TMsvId aId) const; + + void SetupL(TSchSendTestOperation aOption); + void SaveSysAgentActionsL(CRepository& aRepository); + void LoadSysAgentActionsL(CRepository& aRepository); + void LoadPendingConditionsTimeoutL(CRepository& aRepository); + void PopulateErrorListL(); + +private: + + //Two arrays of possible values for iSettings and iErrorActions + //This class takes ownership of _all_ of them including the ones installed in + //iSettings and iErrorActions at destructing time. + + CArrayFixFlat* iActionsList; + CArrayFixFlat* iOffPeakList; + +private: + CPigeonScheduledSend(CMsvServerEntry& aServerEntry) + : CMsvScheduleSend(aServerEntry){}; + void ConstructL(); + + enum TActions + { + EActionDefault = 0, + EActionImmediately = 1, + EActionLater = 2, + EActionVariable = 3, + EActionFail = 4 + }; + enum TSettings + { + ESettingsDefault = 0, + ESettingsCustom = 1 + }; + enum TOffPeak + { + EOffPeakCurrent = 0, + EOffPeakFinished = 1, + EOffPeakFuture = 2 + }; + + // Add all the different possible settings/actions to the lists + void PopulateSettingsL(); + void PopulateActionsListL(); + void PopulateOffPeakListL(); + + //Set the current settings/actions from the lists + void SetActionL(TActions aAction); + void SetOffPeakL(TOffPeak aSetting); + }; + +#endif