--- a/harvester/client/src/harvesterclient.cpp Fri May 14 16:17:23 2010 +0300
+++ b/harvester/client/src/harvesterclient.cpp Thu May 27 13:18:43 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"
@@ -125,6 +126,8 @@
iHEO = NULL;
+ iSessionWatcher = NULL;
+
return err;
}
@@ -164,6 +167,9 @@
{
WRITELOG( "RHarvesterClient::Close()" );
+ delete iSessionWatcher;
+ iSessionWatcher = NULL;
+
// cancels Harvest Complete request if it exist at server
UnregisterHarvestComplete();
@@ -199,8 +205,8 @@
if ( iHarvesterClientAO )
{
- iHarvesterClientAO->SetObserver( aObserver );
- }
+ iHarvesterClientAO->SetObserver( aObserver );
+ }
iObserver = aObserver;
}
@@ -408,6 +414,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
// ----------------------------------------------------------------------------------------
//