00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef _DUMMY_BACKUP_STATEPOLICY_H__
00019 #define _DUMMY_BACKUP_STATEPOLICY_H__
00020
00021 #include <e32base.h>
00022 #include <f32file.h>
00023
00024 #include <ssm/ssmstatepolicy.h>
00025 #include <ssm/ssmstate.h>
00026 #include <ssm/ssmconditionalcallback.h>
00027 #include <ssm/ssmstatetransition.h>
00028
00029
00030 class CSsmCommandListResourceReader;
00031
00038 NONSHARABLE_CLASS(CSsmDummyBackUpStatePolicy) : public CBase, public MSsmStatePolicy, public MSsmConditionalCallback
00039 {
00040 public:
00041 IMPORT_C static MSsmStatePolicy* NewL();
00042
00043
00044 void Initialize(TRequestStatus& aStatus);
00045 void InitializeCancel();
00046 void Release();
00047 TResponse TransitionAllowed(const TSsmStateTransition& aRequest, TSsmStateTransition const* aCurrent, TSsmStateTransition const* aQueued, const RMessagePtr2& aMessage);
00048 void PrepareCommandList(TSsmState aState, TInt aReason, TRequestStatus& aStatus);
00049 void PrepareCommandListCancel();
00050 CSsmCommandList* CommandList();
00051 TBool GetNextState(TSsmState aCurrentTransition, TInt aReason, TInt aError, TInt aSeverity, TSsmState& aNextState);
00052
00053
00054 TBool ConditionalCommandAllowedL(CResourceFile& aResourceFile, TInt aResourceId);
00055
00056 private:
00057 void ConstructL();
00058
00059 CSsmDummyBackUpStatePolicy();
00060 ~CSsmDummyBackUpStatePolicy();
00061 TBool TransitionSupported(const TSsmState& aRequestedState) const;
00062 private:
00063 RFs iFs;
00064 CSsmCommandListResourceReader* iCommandListResourceReader;
00065 RArray<TSsmState> iCurrentlySupportedTransitions;
00066 enum TBackupPanicCodes
00067 {
00068 EInvalidResourceReader
00069 };
00070 };
00071
00072 #endif //_DUMMY_BACKUP_STATEPOLICY_H__