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