diff -r ab88d4a85041 -r 9f21bab39f42 harvester/client/src/harvesterclient.cpp --- a/harvester/client/src/harvesterclient.cpp Tue Apr 27 17:05:23 2010 +0300 +++ b/harvester/client/src/harvesterclient.cpp Tue May 11 16:36:55 2010 +0300 @@ -22,6 +22,7 @@ #include "harvestereventobserverao.h" #include "harvesterlog.h" #include "harvesterclientao.h" +#include "harvestersessionwatcher.h" #include "mdsutils.h" #include "harvesterrequestactive.h" #include "mdscommoninternal.h" @@ -164,6 +165,8 @@ { WRITELOG( "RHarvesterClient::Close()" ); + delete iSessionWatcher; + // cancels Harvest Complete request if it exist at server UnregisterHarvestComplete(); @@ -408,6 +411,33 @@ } // ---------------------------------------------------------------------------------------- +// AddSessionObserver +// ---------------------------------------------------------------------------------------- +// +EXPORT_C void RHarvesterClient::AddSessionObserverL( MHarvesterSessionObserver& aObserver ) + { + if( iSessionWatcher ) + { + delete iSessionWatcher; + iSessionWatcher = NULL; + } + iSessionWatcher = CHarvesterSessionWatcher::NewL( aObserver ); + } + +// ---------------------------------------------------------------------------------------- +// RemoveSessionObserver +// ---------------------------------------------------------------------------------------- +// +EXPORT_C void RHarvesterClient::RemoveSessionObserver() + { + if( iSessionWatcher ) + { + delete iSessionWatcher; + iSessionWatcher = NULL; + } + } + +// ---------------------------------------------------------------------------------------- // RegisterHarvestComplete // ---------------------------------------------------------------------------------------- //