omadrm/drmplugins/drmromtm/ui/src/RoMtmUi.cpp
branchRCL_3
changeset 25 50c53e893c3f
parent 24 99ea7534c5ab
--- a/omadrm/drmplugins/drmromtm/ui/src/RoMtmUi.cpp	Thu Jul 15 18:57:30 2010 +0300
+++ b/omadrm/drmplugins/drmromtm/ui/src/RoMtmUi.cpp	Thu Aug 19 10:12:10 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2002-2010 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"
@@ -52,6 +52,8 @@
 #include <RoMtmUi.rsg> // test
 #include "drmmsgwatcherobserver.h"
 
+#include "cleanupresetanddestroy.h"
+
 // EXTERNAL DATA STRUCTURES
 // EXTERNAL FUNCTION PROTOTYPES
 // CONSTANTS
@@ -566,7 +568,7 @@
     CRichText& body = BaseMtm().Body();
     TPtrC ptr16( body.Read(0) );
     //const TUid KUidDRMUI = { 0x101f85c7 };
-    CDrmMsgWatcherObserver* operation = NULL;
+    CMsvOperation* operation( NULL );
 
     if ( iType == ERoapTrigger || iType == ERoapTriggerRoAcquisition )
         {
@@ -580,36 +582,39 @@
         ptr.Append(ptr16.Right(ptr16.Length()-4));
 
         show = ShowQueryL(ptr);
+
         if (!show)
             {
-            CleanupStack::PopAndDestroy(filename);
-            return CompletedOperationL( aStatus );
+            operation = CompletedOperationL( aStatus );
+            }
+        else
+            {
+            operation = CDrmMsgWatcherObserver::NewL(
+                    Session(),
+                    CActive::EPriorityStandard,
+                    aStatus,
+                    Type(),
+                    ptr,
+                    type );
             }
 
-	operation = CDrmMsgWatcherObserver::NewL( 
-            Session(),
-            CActive::EPriorityStandard,
-            aStatus,
-            Type(),
-            ptr,
-            type );
+        CleanupStack::PopAndDestroy(filename);
         }
     else
         {
-
         CAiwGenericParamList* paramList = CAiwGenericParamList::NewLC();
         TAiwVariant variantObject( ptr16 );
         TAiwGenericParam param( EGenericParamFile, variantObject );
         paramList->AppendL( param );
 
-	operation = CDrmMsgWatcherObserver::NewL( 
-            Session(),
-            CActive::EPriorityStandard,
-            aStatus,
-            Type(),
-            paramList );
+        operation = CDrmMsgWatcherObserver::NewL(
+                Session(),
+                CActive::EPriorityStandard,
+                aStatus,
+                Type(),
+                paramList );
 
-        CleanupStack::PopAndDestroy( paramList ); // paramList
+        CleanupStack::PopAndDestroy( paramList );
         }
 
     return operation;
@@ -765,9 +770,9 @@
     CleanupStack::PushL(buf);
     roap = Roap::CRoapEng::NewL();
     CleanupStack::PushL(roap);
+    CleanupResetAndDestroyPushL(array);
     roap->SetTriggerL(ptr,NULL,type,status,op,array);
-    array.ResetAndDestroy();
-    array.Close();
+    CleanupStack::PopAndDestroy(&array);
     CleanupStack::PopAndDestroy(roap);
     CleanupStack::PopAndDestroy(buf);