idlefw/plugins/wrtdataplugin/src/wrtdataobserver.cpp
branchRCL_3
changeset 64 b276298d5729
parent 59 a0713522ab97
child 74 edd621764147
--- a/idlefw/plugins/wrtdataplugin/src/wrtdataobserver.cpp	Wed Apr 14 16:16:44 2010 +0300
+++ b/idlefw/plugins/wrtdataplugin/src/wrtdataobserver.cpp	Tue Apr 27 16:57:49 2010 +0300
@@ -55,8 +55,7 @@
 // ---------------------------------------------------------------------------
 //
 CWrtDataObserver::CWrtDataObserver ()
-    {
-
+    {    
     }
         
 // ---------------------------------------------------------------------------
@@ -65,6 +64,8 @@
 //
 CWrtDataObserver ::~CWrtDataObserver ()
     {
+    TRAP_IGNORE( ReleaseL() );
+    
     iInterface = NULL;
     iData = NULL;
     }
@@ -185,5 +186,31 @@
     CleanupStack::PopAndDestroy( inParamList ); 
     }
 
+// ---------------------------------------------------------------------------
+// CWrtDataObserver ::ReleaseL
+// Sing off to notification
+// ---------------------------------------------------------------------------
+//
+void CWrtDataObserver::ReleaseL()
+    {
+    if( iInterface )
+        {
+        CLiwGenericParamList* inParamList = CLiwGenericParamList::NewL();
+        CleanupStack::PushL( inParamList );
+        CLiwGenericParamList* outParamList = CLiwGenericParamList::NewL();
+        CleanupStack::PushL( outParamList );
+        
+        TInt err(KErrNone);
+        TRAP(err, iInterface->ExecuteCmdL( 
+                KRequestNotification,
+                *inParamList,
+                *outParamList,
+                KLiwOptCancel,
+                this ));
+        
+        CleanupStack::PopAndDestroy( outParamList );
+        CleanupStack::PopAndDestroy( inParamList );
+        }
+    }
+
 // End of file
-