diff -r 63c982fb92f2 -r b73252188534 locationmanager/locationtrail/inc/cnetworkinfo.h --- a/locationmanager/locationtrail/inc/cnetworkinfo.h Thu Jul 15 19:07:24 2010 +0300 +++ b/locationmanager/locationtrail/inc/cnetworkinfo.h Thu Aug 19 10:20:41 2010 +0300 @@ -20,6 +20,8 @@ #define C_CNETWORKINFO_H #include +#include +#include /** * An observer interface, which is used for getting current network cell id. @@ -34,6 +36,12 @@ * location trail. */ virtual void NetworkInfo( const CTelephony::TNetworkInfoV1 &aNetworkInfo, const TInt aError ) = 0; + + /** + * Get mobile phone object for network info object + * @return mobile phone object + */ + virtual RMobilePhone& GetMobilePhone4NwInfo() = 0; }; /** @@ -55,6 +63,33 @@ */ IMPORT_C virtual ~CNetworkInfo(); + /** + * Listen to n/w info change + * @since S60 9.2 + */ + IMPORT_C void StartNwInfoChangeNotifier(); + + /** + * Stop n/w info change listener + * @since S60 9.2 + */ + IMPORT_C void StopNwInfoChangeNotifier(); + + /** + * Map etel to ctelephony + * @since S60 9.2 + */ + IMPORT_C static void MapNetworkInfo(CTelephony::TNetworkInfoV1* aISVNetworkInfo, + RMobilePhone::TMobilePhoneNetworkInfoV2* aMMNetworkInfo, + RMobilePhone::TMobilePhoneLocationAreaV1* aMMArea); + + /* + * Get registrer network country code + * + * @return current register n/w info + */ + RMobilePhone::TMobilePhoneNetworkInfoV2& GetCurrentRegisterNw(); + protected: /** * Run error implementation in case of RunL leaving. @@ -85,6 +120,13 @@ void RunL(); private: + typedef enum + { + ENetworkInfoNoOptState = 0x00, + ENetworkInfoOptGetState, + ENetworkInfoOptNotifyState + }TNetworkInfoOptState; + /** * An observer interface to set current cell id to the location trail. * Not own. @@ -92,18 +134,23 @@ MNetworkInfoObserver* iTrail; /** - * Flag to indicate that we retrieve network info for the first time. + * phone object to retrieve modem parameters */ - TBool iFirstTime; - + RMobilePhone& iMobilePhone; + /** - * Interface to phone's telephony system to get Cell Id. - * Own. - */ - CTelephony* iTelephony; - + * Maintain the operation state. + */ + TNetworkInfoOptState iState; + + /* + * Retained this object just to give backward compatibility + */ CTelephony::TNetworkInfoV1 iNetworkInfoV1; - CTelephony::TNetworkInfoV1Pckg iNetworkInfoV1Pckg; + + RMobilePhone::TMobilePhoneNetworkInfoV2 iMMNetworkInfo; + RMobilePhone::TMobilePhoneNetworkInfoV2Pckg iMMNetworkInfoPckg; + RMobilePhone::TMobilePhoneLocationAreaV1 iMMArea; }; #endif // C_CNETWORKINFO_H