idlefw/plugins/sapidataplugin/src/sapidataobserver.cpp
branchRCL_3
changeset 64 b276298d5729
parent 59 a0713522ab97
child 74 edd621764147
--- a/idlefw/plugins/sapidataplugin/src/sapidataobserver.cpp	Wed Apr 14 16:16:44 2010 +0300
+++ b/idlefw/plugins/sapidataplugin/src/sapidataobserver.cpp	Tue Apr 27 16:57:49 2010 +0300
@@ -38,6 +38,7 @@
 //
 CSapiDataObserver ::~CSapiDataObserver ()
     {
+    TRAP_IGNORE( ReleaseL() );
     iInterface = NULL;
     iData = NULL;
     }
@@ -68,6 +69,30 @@
     }
 
 // ---------------------------------------------------------------------------
+// Sing off to notification
+// ---------------------------------------------------------------------------
+//
+void CSapiDataObserver::ReleaseL()
+    {
+    if( iInterface )
+        {
+        CLiwGenericParamList* inParamList = CLiwGenericParamList::NewL();
+        CleanupStack::PushL( inParamList );
+        CLiwGenericParamList* outParamList = CLiwGenericParamList::NewL();
+        CleanupStack::PushL( outParamList );
+        
+        TRAP_IGNORE( iInterface->ExecuteCmdL( KRequestNotification,
+                *inParamList,
+                *outParamList,
+                KLiwOptCancel,
+                this ));
+        
+        CleanupStack::PopAndDestroy( outParamList );
+        CleanupStack::PopAndDestroy( inParamList );
+        }
+    }
+
+// ---------------------------------------------------------------------------
 // Factory method construction
 // ---------------------------------------------------------------------------
 //