This tutorial describes how to get the registration information with the telephony API for applications.
The information about the network service like Roaming, Busy, Emergency calls only or No service is provided to the client applications.
CTelephony
CTelephony::GetNetworkRegistrationStatus()
to
get the registration status information from the network
CTelephony::EGetNetworkRegistrationStatusCancel
to
cancel the asynchronous request
CTelephony::ENetworkRegistrationStatusChange
to
get the notification of any changes to the registration status
CTelephony::ENetworkRegistrationStatusChangeCancel
to
cancel the notification request.
#include <e32base.h> #include <Etel3rdParty.h> class CClientApp : public CActive { private: CTelephony* iTelephony; CTelephony::TNetworkRegistrationV1 iNetworkRegistrationV1; CTelephony::TNetworkRegistrationV1Pckg iNetworkRegistrationV1Pckg; public: CClientApp(CTelephony* aTelephony); void SomeFunction(); private: /* These are the pure virtual methods from CActive that MUST be implemented by all active objects */ void RunL(); void DoCancel(); }; CClientApp::CClientApp(CTelephony* aTelephony) : CActive(EPriorityStandard), iTelephony(aTelephony), iNetworkRegistrationV1Pckg(iNetworkRegistrationV1) { //default constructor } void CClientApp::SomeFunction() { iTelephony->GetNetworkRegistrationStatus(iStatus, iNetworkRegistrationV1Pckg); SetActive(); } void CClientApp::RunL() { if(iStatus==KErrNone) { CTelephony::TRegistrationStatus regStatus = iNetworkRegistrationV1.iRegStatus; } } void CClientApp::DoCancel() { iTelephony->CancelAsync(CTelephony::EGetNetworkRegistrationStatusCancel); }