omadrm/drmplugins/drmromtm/ui/src/RoMtmUi.cpp
changeset 49 69d8e75812b7
parent 23 493788a4a8a4
child 54 5ebe1934bb32
--- a/omadrm/drmplugins/drmromtm/ui/src/RoMtmUi.cpp	Fri Jun 11 15:44:45 2010 +0300
+++ b/omadrm/drmplugins/drmromtm/ui/src/RoMtmUi.cpp	Thu Jun 24 12:39:58 2010 +0300
@@ -50,6 +50,8 @@
 #include <StringLoader.h> //StringLoader
 #include <ConeResLoader.h> //rconeresloader
 #include <RoMtmUi.rsg> // test
+#include "drmmsgwatcherobserver.h"
+
 // EXTERNAL DATA STRUCTURES
 // EXTERNAL FUNCTION PROTOTYPES
 // CONSTANTS
@@ -230,8 +232,6 @@
 CRightsObjectMtmUi::CRightsObjectMtmUi( CBaseMtm& aBaseMtm , CRegisteredMtmDll& aRegisteredMtmDll )
     :   CBaseMtmUi( aBaseMtm , aRegisteredMtmDll )
     {
-    iOpenService = NULL;
-    iDocHandler = NULL;
     iHostProcess = NULL;
     iType = ERo;
     }
@@ -272,9 +272,6 @@
     TRAP(err,WriteL(_L8("~CRightsObjectMtmUi")));
 #endif
     iFs.Close();
-
-  delete iOpenService;
-    delete iDocHandler;
     }
 
 
@@ -568,15 +565,11 @@
     BaseMtm().LoadMessageL();
     CRichText& body = BaseMtm().Body();
     TPtrC ptr16( body.Read(0) );
-    const TUid KUidDRMUI = { 0x101f85c7 };
+    //const TUid KUidDRMUI = { 0x101f85c7 };
+    CDrmMsgWatcherObserver* operation = NULL;
 
     if ( iType == ERoapTrigger || iType == ERoapTriggerRoAcquisition )
         {
-
-#ifdef _DRM_TESTING
-        WriteL(_L8("LaunchEditorApplicationL-iDocHandler"));
-#endif
-
         _LIT8( KRoapTriggerMimeType, "application/vnd.oma.drm.roap-trigger+xml" );
         TDataType type = TDataType( KRoapTriggerMimeType );
         HBufC* filename = NULL;
@@ -593,60 +586,33 @@
             return CompletedOperationL( aStatus );
             }
 
-#ifdef _DRM_TESTING
-        WriteL(ptr,ptr.Length());
-#endif
-        if (iDocHandler)
-            {
-            delete iDocHandler;
-            iDocHandler = NULL;
-            }
-#ifdef _DRM_TESTING
-        WriteL(_L8("LaunchEditorApplicationL-iDocHandler-NewL"));
-#endif
-        iDocHandler = CDocumentHandler::NewL();
-#ifdef _DRM_TESTING
-        WriteL(_L8("LaunchEditorApplicationL-iDocHandler-SetExitObserver"));
-#endif
-        iDocHandler->SetExitObserver(this);
-#ifdef _DRM_TESTING
-        WriteL(_L8("LaunchEditorApplicationL-iDocHandler-OpenFileEmbeddedL"));
-#endif
-        iDocHandler->OpenFileEmbeddedL(ptr,type);
-        CleanupStack::PopAndDestroy(filename);
-#ifdef _DRM_TESTING
-        WriteL(_L8("LaunchEditorApplicationL-iDocHandler-End"));
-#endif
+	operation = CDrmMsgWatcherObserver::NewL( 
+            Session(),
+            CActive::EPriorityStandard,
+            aStatus,
+            Type(),
+            ptr,
+            type );
         }
     else
         {
-        if ( iOpenService )
-            {
-            delete iOpenService;
-            iOpenService = NULL;
-            }
-#ifdef _DRM_TESTING
-        WriteL(_L8("LaunchEditorApplicationL-CAknOpenFileService::NewL"));
-#endif
 
         CAiwGenericParamList* paramList = CAiwGenericParamList::NewLC();
         TAiwVariant variantObject( ptr16 );
         TAiwGenericParam param( EGenericParamFile, variantObject );
         paramList->AppendL( param );
 
-        TRAPD( err, iOpenService = CAknLaunchAppService::NewL( KUidDRMUI, this, paramList ) );
-        if (err != KErrNone)
-            {
-            // just return to Inbox
-            }
+	operation = CDrmMsgWatcherObserver::NewL( 
+            Session(),
+            CActive::EPriorityStandard,
+            aStatus,
+            Type(),
+            paramList );
 
         CleanupStack::PopAndDestroy( paramList ); // paramList
         }
 
-#ifdef _DRM_TESTING
-    WriteL(_L8("LaunchEditorApplicationL-End"));
-#endif
-    return CompletedOperationL( aStatus );
+    return operation;
     }