locationtriggering/tsrc/lbtengine_test/CellbasedtriggerOperations/src/AsynOperationAO.cpp
branchRCL_3
changeset 44 2b4ea9893b66
parent 0 667063e416a2
child 45 6b6920c56e2f
--- a/locationtriggering/tsrc/lbtengine_test/CellbasedtriggerOperations/src/AsynOperationAO.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ b/locationtriggering/tsrc/lbtengine_test/CellbasedtriggerOperations/src/AsynOperationAO.cpp	Tue Aug 31 15:37:04 2010 +0300
@@ -286,6 +286,17 @@
     }
 
 // -----------------------------------------------------------------------------
+// CTriggerFireObserver::ConstructL
+// Symbian 2nd phase constructor can leave.
+// -----------------------------------------------------------------------------
+//
+void CLbtEventObserver::ConstructL()
+    {
+     RFileLogger aLog;
+     iCidchangenotifier=CLbtCidChangeNotifier::NewL(aLog,this);
+    }
+
+// -----------------------------------------------------------------------------
 // CTriggerFireObserver::NewL
 // Two-phased constructor.
 // -----------------------------------------------------------------------------
@@ -304,6 +315,19 @@
 
     }
 
+
+// -----------------------------------------------------------------------------
+// CTriggerFireObserver::NewL
+// -----------------------------------------------------------------------------
+CLbtEventObserver* CLbtEventObserver::NewL()
+    {
+    CLbtEventObserver* self = new (ELeave) CLbtEventObserver();
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop();
+    return self;
+    }
+
 // Destructor
 CLbtEventObserver::~CLbtEventObserver()
     { 
@@ -352,6 +376,14 @@
 	SetActive( ); 
 }
 
+void CLbtEventObserver::GetCurrentCGIInfo( CTelephony::TNetworkInfoV1& aNwInfo,
+                                           CActiveSchedulerWait* aWait )
+    {
+    iWait=aWait;
+    iNetWorkInfo = &aNwInfo;
+    iCidchangenotifier->GetCurrentCGIInfo();
+    }
+    
 void CLbtEventObserver::HandleCIDChangeL(const CTelephony::TNetworkInfoV1 &aNwInfo)
     { 
 
@@ -360,12 +392,20 @@
 //	RFileLogger::WriteFormat(KLbtTraceDir, KLbtTraceFile, EFileLoggingModeAppend,_L( "Network id = %s"),aNwInfo.iNetworkId);
 //	RFileLogger::WriteFormat(KLbtTraceDir, KLbtTraceFile, EFileLoggingModeAppend,_L( "Location Area code= %d"),aNwInfo.iLocationAreaCode);
 	RFileLogger::WriteFormat(KLbtTraceDir, KLbtTraceFile, EFileLoggingModeAppend,_L( "Cell Id= %d"),aNwInfo.iCellId);
-
+	if( iNetWorkInfo )
+	    {
+        iNetWorkInfo->iMode = aNwInfo.iMode;
+        iNetWorkInfo->iCountryCode = aNwInfo.iCountryCode;
+        iNetWorkInfo->iNetworkId = aNwInfo.iNetworkId;
+        iNetWorkInfo->iLocationAreaCode = aNwInfo.iLocationAreaCode;
+        iNetWorkInfo->iCellId  = aNwInfo.iCellId;
+        iWait->AsyncStop( );
+	    }
     }
     
     void CLbtEventObserver::StartCidNotification( CActiveSchedulerWait* aWait )
 	{
-	
+        iNetWorkInfo = NULL;
 	  	iWait=aWait;
 	  	iCidchangenotifier->Start();
 	}