locationtriggering/tsrc/lbtengine_test/CellbasedtriggerOperations/src/AsynOperationAO.cpp
--- a/locationtriggering/tsrc/lbtengine_test/CellbasedtriggerOperations/src/AsynOperationAO.cpp Tue Jul 06 14:44:11 2010 +0300
+++ b/locationtriggering/tsrc/lbtengine_test/CellbasedtriggerOperations/src/AsynOperationAO.cpp Wed Aug 18 10:11:45 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();
}