diff -r a0713522ab97 -r b276298d5729 idlefw/plugins/sapidataplugin/src/sapidataobserver.cpp --- 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 // --------------------------------------------------------------------------- //