00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00036 #include <ssm/ssmswppolicy.h>
00037 #include <ssm/ssmcommandlist.h>
00038 #include <ssm/ssmcommandlistresourcereader.h>
00039 #include "dummy_diskstatus_swppolicy.h"
00040 #include "dummy_diskstatus_swppolicy.hrh"
00041
00045 _LIT(KCommandListPath, "z:\\private\\2000d75b\\ssmaeg\\swp_dummy_diskstatus\\");
00046
00050 _LIT(KExamplePolicyPanic,"DummyDiskStatus");
00051
00057 EXPORT_C MSsmSwpPolicy* CSsmDummyDiskStatusSwpPolicy::NewL()
00058 {
00059 CSsmDummyDiskStatusSwpPolicy* self = new (ELeave) CSsmDummyDiskStatusSwpPolicy;
00060 CleanupStack::PushL(self);
00061 self->ConstructL();
00062 CleanupStack::Pop(self);
00063 return self;
00064 }
00065
00069 CSsmDummyDiskStatusSwpPolicy::CSsmDummyDiskStatusSwpPolicy()
00070 {
00071 }
00072
00076 CSsmDummyDiskStatusSwpPolicy::~CSsmDummyDiskStatusSwpPolicy()
00077 {
00078 iFs.Close();
00079 delete iCommandListResourceReader;
00080 }
00081
00085 void CSsmDummyDiskStatusSwpPolicy::ConstructL()
00086 {
00087 User::LeaveIfError(iFs.Connect());
00088
00089 iCommandListResourceReader = CSsmCommandListResourceReader::NewL(iFs, KCommandListPath(), *this);
00090 }
00091
00095 void CSsmDummyDiskStatusSwpPolicy::Initialize(TRequestStatus& aStatus)
00096 {
00097 __ASSERT_ALWAYS(iCommandListResourceReader, User::Panic(KExamplePolicyPanic, EInvalidResourceReader));
00098
00099 iCommandListResourceReader->Initialise(aStatus);
00100 }
00101
00105 void CSsmDummyDiskStatusSwpPolicy::InitializeCancel()
00106 {
00107 __ASSERT_ALWAYS(iCommandListResourceReader, User::Panic(KExamplePolicyPanic, EInvalidResourceReader));
00108 iCommandListResourceReader->InitialiseCancel();
00109 }
00110
00116 void CSsmDummyDiskStatusSwpPolicy::Release()
00117 {
00118 delete this;
00119 }
00120
00129 MSsmSwpPolicy::TResponse CSsmDummyDiskStatusSwpPolicy::TransitionAllowed(const TSsmSwp& , const RMessagePtr2& )
00130 {
00131 TResponse response = EAllowed;
00132 return response;
00133 }
00134
00141 void CSsmDummyDiskStatusSwpPolicy::PrepareCommandList(const TSsmSwp& aSwp, TRequestStatus& aStatus)
00142 {
00143 __ASSERT_ALWAYS(iCommandListResourceReader, User::Panic(KExamplePolicyPanic, EInvalidResourceReader));
00144
00145 iCommandListResourceReader->PrepareCommandList(aSwp.Value(), aSwp, aStatus);
00146 }
00147
00152 void CSsmDummyDiskStatusSwpPolicy::PrepareCommandListCancel()
00153 {
00154 __ASSERT_ALWAYS(iCommandListResourceReader, User::Panic(KExamplePolicyPanic, EInvalidResourceReader));
00155 iCommandListResourceReader->PrepareCommandListCancel();
00156 }
00157
00164 CSsmCommandList* CSsmDummyDiskStatusSwpPolicy::CommandList()
00165 {
00166 __ASSERT_ALWAYS(iCommandListResourceReader, User::Panic(KExamplePolicyPanic, EInvalidResourceReader));
00167 return iCommandListResourceReader->GetCommandList();
00168 }
00169
00178 void CSsmDummyDiskStatusSwpPolicy::HandleCleReturnValue(const TSsmSwp& , TInt , TInt , TRequestStatus& aStatus)
00179 {
00180
00181
00182
00183
00184 TRequestStatus* rs = &aStatus;
00185 User::RequestComplete(rs, KErrNone);
00186 }
00187
00192 void CSsmDummyDiskStatusSwpPolicy::HandleCleReturnValueCancel()
00193 {
00194
00195 }
00196
00207 TBool CSsmDummyDiskStatusSwpPolicy::ConditionalCommandAllowedL(CResourceFile& , TInt )
00208 {
00209 return EFalse;
00210 }