S60 3rd Edition SDK for Symbian OS
Example Applications Guide

CIsvTelInfoAppDlg Class Reference

#include <IsvTelInfoAppDlg.h>

Inheritance diagram for CIsvTelInfoAppDlg:

MIsvTelInfoAppTelephonyNotify List of all members.

Public Member Functions

virtual ~CIsvTelInfoAppDlg ()
TInt ExecuteLD (TInt aResourceId)
TKeyResponse OfferKeyEventL (const TKeyEvent &aKeyEvent, TEventCode aType)
void DynInitMenuPaneL (TInt aResourceId, CEikMenuPane *aMenuPane)
virtual void ProcessCommandL (TInt aCommandId)
void PageChangedL (TInt aPageId)
void SetDlgPage (TInt aPageId)
void SetTitlePane (CAknTitlePane *aTitlePane)
void SetContainer (CIsvTelInfoAppContainer *aContainer)
void SetPageTitleOnPaneL (TInt aPageId)
void SetMainPageTitleOnPaneL ()
void GetPhoneIdApiCompleteL (TInt aStatus, CTelephony::TPhoneIdV1 aPhoneId, TDesC16 &aErrMsg)
void GetSubscriberIdApiCompleteL (TInt aStatus, CTelephony::TSubscriberIdV1 aSubscriberId, TDesC16 &aErrMsg)
void GetNwRegistrationStatusApiCompleteL (TInt aStatus, CTelephony::TNetworkRegistrationV1 aNwRegistrationStatus, TDesC16 &aErrMsg)
void GetBarringStatusApiCompleteL (TInt aStatus, CTelephony::TCallBarringCondition aBarringCondition, CTelephony::TCallBarringSupplServicesV1 aCallBarringServices, TDesC16 &aErrMsg)
void GetWaitingStatusApiCompleteL (TInt aStatus, CTelephony::TCallWaitingSupplServicesV1 aCallWaitingServices, TDesC16 &aErrMsg)
void GetIdentityServiceStatusApiCompleteL (TInt aStatus, CTelephony::TIdentityService aIdentityServiceType, CTelephony::TIdentityServiceV1 aIdentityService, TDesC16 &aErrMsg)

Static Public Member Functions

static CIsvTelInfoAppDlg * NewL ()

Private Member Functions

 CIsvTelInfoAppDlg ()
void ConstructL ()
void DefaultInitialiseMembers ()
void PostLayoutDynInitL ()
void LoadStringsFromResource ()

Private Attributes

CAknTitlePane * iTitlePane
CIsvTelInfoAppContainer * iContainer
CIsvTelInfoAppDlg * iStoreForm
TBool iIsStoreForm
TInt iPageId
TBool iIsInEditMode
CIsvTelInfoAppTelephony * iTelephony
TBuf8< KMaxCmdSize > iErrString
TBuf8< KMaxCmdSize > iSuccessString
TBuf8< KMaxCmdSize > iNwRegUnknown
TBuf8< KMaxCmdSize > iNwRegNoRegNoSrvc
TBuf8< KMaxCmdSize > iNwRegNoRegEmergSrvc
TBuf8< KMaxCmdSize > iNwRegNoRegSearching
TBuf8< KMaxCmdSize > iNwRegBusy
TBuf8< KMaxCmdSize > iNwRegHome
TBuf8< KMaxCmdSize > iNwRegDenied
TBuf8< KMaxCmdSize > iNwRegRoaming
TBuf8< KMaxCmdSize > iBarStatusActive
TBuf8< KMaxCmdSize > iBarStatusNotActive
TBuf8< KMaxCmdSize > iBarStatusNotProvisioned
TBuf8< KMaxCmdSize > iBarStatusNotAvailable
TBuf8< KMaxCmdSize > iBarStatusUnknown
TBuf8< KMaxCmdSize > iWaitStatusActive
TBuf8< KMaxCmdSize > iWaitStatusNotActive
TBuf8< KMaxCmdSize > iWaitStatusNotProvisioned
TBuf8< KMaxCmdSize > iWaitStatusNotAvailable
TBuf8< KMaxCmdSize > iWaitStatusUnknown
TBuf8< KMaxCmdSize > iIdStatusActivePerm
TBuf8< KMaxCmdSize > iIdStatusDefaultRestricted
TBuf8< KMaxCmdSize > iIdStatusDefaultAllowed
TBuf8< KMaxCmdSize > iIdStatusNotProvisioned
TBuf8< KMaxCmdSize > iIdStatusUnknown
TBuf< EIsvTelInfoAppEdwinMaxLength > iEdwinPhoneMfr
TBuf< EIsvTelInfoAppEdwinMaxLength > iEdwinPhoneModel
TBuf< EIsvTelInfoAppEdwinMaxLength > iEdwinPhoneSerNum
TBuf< EIsvTelInfoAppEdwinMaxLength > iEdwinSubscriberId
TBuf< EIsvTelInfoAppEdwinMaxLength > iEdwinBarringStatus
TBuf< EIsvTelInfoAppEdwinMaxLength > iEdwinBarringCondition
TBuf< EIsvTelInfoAppEdwinMaxLength > iEdwinWaiting
TBuf< EIsvTelInfoAppEdwinMaxLength > iEdwinIdentity
TBuf< EIsvTelInfoAppEdwinMaxLength > iEdwinNwRegistration

Detailed Description

CIsvTelInfoAppDlg: A dialog class derived from CAknForm representing a Multi-page UI dialog It implments the MIsvTelInfoAppTelephonyNotify interface

Definition at line 41 of file IsvTelInfoAppDlg.h.


Constructor & Destructor Documentation

CIsvTelInfoAppDlg::~CIsvTelInfoAppDlg (   )  [virtual]
 

Destructor.

Definition at line 53 of file IsvTelInfoAppDlg.cpp.

References iIsStoreForm, iTelephony, and SetMainPageTitleOnPaneL().

00054     {
00055     
00056         SetMainPageTitleOnPaneL();
00057         
00058     if ( !iIsStoreForm )
00059         {
00060         if ( iTelephony )
00061             {
00062             delete iTelephony;
00063             }
00064         }
00065     }

CIsvTelInfoAppDlg::CIsvTelInfoAppDlg (   )  [private]
 

Default constructor.

Definition at line 742 of file IsvTelInfoAppDlg.cpp.

00743     {
00744     }


Member Function Documentation

CIsvTelInfoAppDlg * CIsvTelInfoAppDlg::NewL (   )  [static]
 

Two-phased constructor.

Definition at line 38 of file IsvTelInfoAppDlg.cpp.

References CIsvTelInfoAppDlg().

00039     {
00040     CIsvTelInfoAppDlg* self = 
00041         new (ELeave) CIsvTelInfoAppDlg();
00042     CleanupStack::PushL(self);
00043     self->ConstructL();
00044     CleanupStack::Pop();
00045     return self;
00046     }

TInt CIsvTelInfoAppDlg::ExecuteLD (  TInt  aResourceId  ) 
 

Overrides the ExecuteLD from CAknForm. Inturn calls the ExecuteLD of the base class. It adds the functionality of setting the Title of the page on the status pane.

Parameters:
aResourceId,: Id of the form resource
Returns:
Return value of the base class ExecuteLD

Definition at line 73 of file IsvTelInfoAppDlg.cpp.

References iIsStoreForm, iPageId, and SetPageTitleOnPaneL().

00074     {
00075     if ( iIsStoreForm )
00076         {
00077         User::Leave(KErrGeneral);
00078         return KErrGeneral;
00079         }
00080     else
00081         {
00082         TInt retCode;
00083 
00084         //Set page title for first page
00085         SetPageTitleOnPaneL(iPageId);
00086         
00087         //Call the base-class routine
00088         // Launches the dialog having resource ID aResourceId
00089         retCode = CAknForm::ExecuteLD( aResourceId );
00090 
00091         TryChangeFocusToL(EIsvTelInfoAppDlgCtrlIdPhoneMfr);
00092         
00093         return(retCode);
00094         }
00095     }

TKeyResponse CIsvTelInfoAppDlg::OfferKeyEventL (  const TKeyEvent &  aKeyEvent,
TEventCode  aType
) 
 

An over-riding routine that captures the Green dial key and the Red hang-up key from the key-pad when they are pressed with the focus being present on the Phone-numbers in the dialog screen. For other keys, it calls the base-class routine for handling.

Parameters:
aKeyEvent The key event.
aType The type of key event.
Returns:
Indicates whether or not the key event was used by this control.

Definition at line 105 of file IsvTelInfoAppDlg.cpp.

References iIsInEditMode.

00108     {
00109     if (aType == EEventKey)
00110         {
00111         //Catch the dial button
00112         switch (aKeyEvent.iCode)
00113             {
00114             case EKeyYes:
00115             case EKeyNo:
00116                 {
00117                 return EKeyWasConsumed;
00118                 }
00119             case EKeyUpArrow:
00120             case EKeyDownArrow:
00121                 {
00122                 if( iIsInEditMode )
00123                     {
00124                     return EKeyWasConsumed;
00125                     }
00126                 }
00127                 break;
00128             default:
00129                 break;
00130             }//switch
00131         }//if
00132     return CAknForm::OfferKeyEventL(aKeyEvent, aType);
00133     }

void CIsvTelInfoAppDlg::DynInitMenuPaneL (  TInt  aResourceId,
CEikMenuPane *  aMenuPane
) 
 

Different controls/dialog items/pages on the multi-page dialog require their own context sensitive menus to be able to choose only the applicable operations on the item. For this purpose, this function, loads menu panes that are appropriate and applicable for the respective menu items.

Parameters:
aResourceId Resource ID identifying the menu pane to initialise.
aMenuPane The in-memory representation of the menu pane.

Definition at line 143 of file IsvTelInfoAppDlg.cpp.

00146     {
00147 
00148     TInt pageId = ActivePageId();
00149 
00150     if (aResourceId == R_AVKON_FORM_MENUPANE) 
00151         {
00152         aMenuPane->AddMenuItemsL(
00153             R_GENERAL_STATUS_MENU_PANE,0,1);
00154         aMenuPane->SetItemDimmed(EAknFormCmdEdit,TRUE);
00155         aMenuPane->SetItemDimmed(EAknFormCmdSave,TRUE);
00156         aMenuPane->SetItemDimmed(EAknFormCmdAdd,TRUE);
00157         aMenuPane->SetItemDimmed(EAknFormCmdLabel,TRUE);
00158         aMenuPane->SetItemDimmed(EAknFormCmdDelete,TRUE);
00159         }
00160     else
00161         {
00162         CAknForm::DynInitMenuPaneL(aResourceId, aMenuPane);     
00163         }
00164     }

void CIsvTelInfoAppDlg::ProcessCommandL (  TInt  aCommandId  )  [virtual]
 

An over-riding function that handles all commands loaded by the DynInitMenuPaneL. For the remaining commands like Edit & Save, it invokes the base class routine. aCommandId ID of the command to respond to.

Definition at line 173 of file IsvTelInfoAppDlg.cpp.

References iIsInEditMode, iTelephony, CIsvTelInfoAppTelephony::TelApiWrapperGetBarringStatusL(), CIsvTelInfoAppTelephony::TelApiWrapperGetIdentityStatusL(), CIsvTelInfoAppTelephony::TelApiWrapperGetNwRegistrationStatusL(), CIsvTelInfoAppTelephony::TelApiWrapperGetPhoneIdL(), CIsvTelInfoAppTelephony::TelApiWrapperGetSubscriberIdL(), and CIsvTelInfoAppTelephony::TelApiWrapperGetWaitingStatusL().

00174     {
00175     TInt pageId = ActivePageId();
00176     switch (pageId)
00177         {
00178         /////////////////////////////////////////////////////////////
00179         case EIsvTelInfoAppPageCtrlIdPagePhoneInfo:
00180              {
00181              iTelephony->TelApiWrapperGetPhoneIdL( );    
00182              iTelephony->TelApiWrapperGetSubscriberIdL( );
00183              }//case
00184              break; 
00185                 /////////////////////////////////////////////////////////////    
00186         case EIsvTelInfoAppPageCtrlIdPageNwBarringStatus:
00187                 {
00188                 iTelephony->TelApiWrapperGetBarringStatusL( 
00189                     CTelephony::EBarAllIncoming );    
00190                 iTelephony->TelApiWrapperGetBarringStatusL( 
00191                     CTelephony::EBarAllOutgoing );    
00192                         iTelephony->TelApiWrapperGetBarringStatusL( 
00193                     CTelephony::EBarIncomingRoaming );    
00194                 iTelephony->TelApiWrapperGetBarringStatusL( 
00195                     CTelephony::EBarOutgoingInternational );    
00196                 iTelephony->TelApiWrapperGetBarringStatusL( 
00197                     CTelephony::EBarOutgoingInternationalExHC );    
00198                 }//case
00199                 break;                
00200         /////////////////////////////////////////////////////////////    
00201         case EIsvTelInfoAppPageCtrlIdPageMisc:
00202                 {
00203                 iTelephony->TelApiWrapperGetWaitingStatusL( );   
00204                 iTelephony->TelApiWrapperGetNwRegistrationStatusL( );
00205                 iTelephony->TelApiWrapperGetIdentityStatusL(
00206                     CTelephony::EIdServiceCallerPresentation );    
00207                 iTelephony->TelApiWrapperGetIdentityStatusL(
00208                     CTelephony::EIdServiceCallerRestriction );    
00209                 }//case
00210                 break;  
00211         ////////////////////////////////////////////////////////////////////
00212         case EAknFormCmdEdit:
00213             {
00214             iIsInEditMode = ETrue;
00215             }
00216             break;
00217 
00218        default:
00219                 break;
00220        }//pageId switch
00221     //Call the base class routine
00222     CAknForm::ProcessCommandL(aCommandId);
00223     }

void CIsvTelInfoAppDlg::PageChangedL (  TInt  aPageId  ) 
 

Derived from base-class. It invokes the base-class function and after the page switch is executed, it sets the appropriate title for the page.

Parameters:
aPageId The page ID.

Definition at line 231 of file IsvTelInfoAppDlg.cpp.

References SetPageTitleOnPaneL().

00232     {
00233     //Invoke the base class routine
00234     CAknForm::PageChangedL(aPageId);
00235 
00236     //Call SetPageTitleOnPaneL to set the appropriate title on pane
00237     SetPageTitleOnPaneL(aPageId);
00238     }

void CIsvTelInfoAppDlg::SetDlgPage (  TInt  aPageId  ) 
 

Sets page on the dialog

Parameters:
aPageId. The control Id of the page

Definition at line 245 of file IsvTelInfoAppDlg.cpp.

References iPageId.

00246     {
00247     iPageId = aPageId;
00248     }

void CIsvTelInfoAppDlg::SetTitlePane (  CAknTitlePane *  aTitlePane  ) 
 

Sets title to the status pane.

Parameters:
aTitlePane. This object contains Title Name.

Definition at line 257 of file IsvTelInfoAppDlg.cpp.

References iTitlePane.

00258     {
00259     iTitlePane = aTitlePane;
00260     }

void CIsvTelInfoAppDlg::SetContainer (  CIsvTelInfoAppContainer *  aContainer  ) 
 

Sets the container control.

Parameters:
aContainer. This object specifies container of type CIsvTelInfoAppContainer

Definition at line 269 of file IsvTelInfoAppDlg.cpp.

References iContainer.

00270     {
00271     iContainer = aContainer;
00272     }

void CIsvTelInfoAppDlg::SetPageTitleOnPaneL (  TInt  aPageId  ) 
 

Sets title of specified page to the status pane.

Parameters:
aPageId. specifes which page

Definition at line 279 of file IsvTelInfoAppDlg.cpp.

References iTitlePane.

00280     {
00281     const TInt KTitlePaneBufLength = 256;
00282     TBuf<KTitlePaneBufLength> titleText( NULL );
00283     
00284     //Select the page title
00285     switch (aPageId)
00286         {
00287         case EIsvTelInfoAppPageCtrlIdPagePhoneInfo:
00288                 {
00289                 iEikonEnv->ReadResource( titleText, 
00290                 R_ISVTELINFOAPP_TEXT_STATUS_PANE_PAGE_PHONEINFO);
00291                 }
00292             break;
00293         case EIsvTelInfoAppPageCtrlIdPageNwBarringStatus:
00294                 {
00295                 iEikonEnv->ReadResource( titleText, 
00296                 R_ISVTELINFOAPP_TEXT_STATUS_PANE_PAGE_BARRINGSTATUS );
00297                 }
00298             break;
00299         case EIsvTelInfoAppPageCtrlIdPageMisc:
00300                 {
00301                 iEikonEnv->ReadResource(titleText, 
00302                 R_ISVTELINFOAPP_TEXT_STATUS_PANE_PAGE_MISC);
00303                 }
00304             break;
00305         default:
00306             break;
00307         }
00308         
00309     //Set the appropriate title on the pane
00310     if (iTitlePane)
00311         {
00312         iTitlePane->SetTextL( titleText );
00313         }
00314     }

void CIsvTelInfoAppDlg::SetMainPageTitleOnPaneL (   ) 
 

Sets title of Application to the status pane.

Definition at line 321 of file IsvTelInfoAppDlg.cpp.

References iTitlePane.

00322     {
00323     const TInt KTitlePaneBufLength = 256;
00324     TBuf<KTitlePaneBufLength> titleText( NULL );
00325     
00326     iEikonEnv->ReadResource(titleText, 
00327         R_ISVTELINFOAPP_TEXT_STATUS_PANE_MAIN_PAGE);
00328      
00329      //Set the appropriate title on the pane
00330     if (iTitlePane)
00331         {
00332         iTitlePane->SetTextL( titleText );
00333         }
00334     }

void CIsvTelInfoAppDlg::GetPhoneIdApiCompleteL (  TInt  aStatus,
CTelephony::TPhoneIdV1  aPhoneId,
TDesC16 &  aErrMsg
)  [virtual]
 

Gets invoked once command completion notification from GetPhoneId ETel ISV API is received.

Parameters:
aStatus,specifies SUCCESS or Error Code
aPhoneId Contains mobile phone identity.
aErrMsg,contains the error message returned by ETel ISV API

Implements MIsvTelInfoAppTelephonyNotify.

Definition at line 342 of file IsvTelInfoAppDlg.cpp.

References iEdwinPhoneMfr, iEdwinPhoneModel, and iEdwinPhoneSerNum.

00344     {
00345     if (aStatus != KErrNone)
00346         {
00347         SetEdwinTextL((TInt)EIsvTelInfoAppDlgCtrlIdPhoneMfr,
00348                 &aErrMsg);
00349                 
00350         SetEdwinTextL((TInt)EIsvTelInfoAppDlgCtrlIdPhoneModel,
00351             &aErrMsg);
00352                                        
00353                 SetEdwinTextL((TInt)EIsvTelInfoAppDlgCtrlIdPhoneSerNum,
00354             &aErrMsg);                                       
00355         }
00356     else    
00357         {
00358         //Update Phone Mfr to UI
00359         iEdwinPhoneMfr.Copy(aPhoneId.iManufacturer);
00360         SetEdwinTextL((TInt)EIsvTelInfoAppDlgCtrlIdPhoneMfr,
00361                 &iEdwinPhoneMfr);
00362 
00363         //Update Phone Model to UI
00364         iEdwinPhoneModel.Copy(aPhoneId.iModel);
00365         SetEdwinTextL((TInt)EIsvTelInfoAppDlgCtrlIdPhoneModel,
00366             &iEdwinPhoneModel);
00367                                       
00368         //Update Phone Ser num to UI
00369         iEdwinPhoneSerNum.Copy(aPhoneId.iSerialNumber);
00370         SetEdwinTextL((TInt)EIsvTelInfoAppDlgCtrlIdPhoneSerNum,
00371                 &iEdwinPhoneSerNum);
00372         }
00373     }

void CIsvTelInfoAppDlg::GetSubscriberIdApiCompleteL (  TInt  aStatus,
CTelephony::TSubscriberIdV1  aSubscriberId,
TDesC16 &  aErrMsg
)  [virtual]
 

Gets invoked once command completion notification from GetSubscriberId ETel ISV API is received.

Parameters:
aStatus,specifies SUCCESS or Error Code
aSubscriberId Contains Subscriber Id
aErrMsg,contains the error message returned by ETel ISV API

Implements MIsvTelInfoAppTelephonyNotify.

Definition at line 381 of file IsvTelInfoAppDlg.cpp.

References iEdwinSubscriberId.

00383     {
00384     if (aStatus != KErrNone)
00385         {
00386         SetEdwinTextL((TInt)EIsvTelInfoAppDlgCtrlIdSubscriberId,
00387             &aErrMsg);  
00388         }
00389     else
00390         {
00391         //Update the subscriber id to UI
00392         iEdwinSubscriberId.Copy(aSubscriberId.iSubscriberId);
00393         SetEdwinTextL((TInt)EIsvTelInfoAppDlgCtrlIdSubscriberId,
00394                 &iEdwinSubscriberId);    
00395        }
00396     }

void CIsvTelInfoAppDlg::GetNwRegistrationStatusApiCompleteL (  TInt  aStatus,
CTelephony::TNetworkRegistrationV1  aNwRegistrationStatus,
TDesC16 &  aErrMsg
)  [virtual]
 

Gets invoked once command completion notification from GetNwRegistrationStatus ETel ISV API is received.

Parameters:
aStatus,specifies SUCCESS or Error Code
aNwRegistrationStatus Contains current network registration status.
aErrMsg,contains the error message returned by ETel ISV API

Implements MIsvTelInfoAppTelephonyNotify.

Definition at line 664 of file IsvTelInfoAppDlg.cpp.

References iEdwinNwRegistration, iErrString, iNwRegBusy, iNwRegDenied, iNwRegHome, iNwRegNoRegEmergSrvc, iNwRegNoRegNoSrvc, iNwRegNoRegSearching, iNwRegRoaming, and iNwRegUnknown.

00666     {
00667     if (aStatus != KErrNone)
00668         {
00669         SetEdwinTextL((TInt)EIsvTelInfoAppDlgCtrlIdNwRegistration,
00670             &aErrMsg);
00671         }
00672     else
00673         {
00674         switch (aNwRegistrationStatus.iRegStatus)
00675             {
00676             case CTelephony::ERegistrationUnknown :
00677                 {
00678                 iEdwinNwRegistration.Copy(iNwRegUnknown);
00679                 }
00680                 break;
00681 
00682             case CTelephony::ENotRegisteredNoService:
00683                 {
00684                 iEdwinNwRegistration.Copy(iNwRegNoRegNoSrvc);
00685                 }
00686                 break;
00687     
00688             case CTelephony::ENotRegisteredEmergencyOnly:
00689                 {
00690                 iEdwinNwRegistration.Copy(iNwRegNoRegEmergSrvc);
00691                 }
00692                 break;
00693 
00694             case CTelephony::ENotRegisteredSearching:
00695                 {
00696                 iEdwinNwRegistration.Copy(iNwRegNoRegSearching);
00697                 }
00698                 break;
00699 
00700             case CTelephony::ERegisteredBusy:
00701                 {
00702                 iEdwinNwRegistration.Copy(iNwRegBusy);
00703                 }
00704                 break;
00705 
00706             case CTelephony::ERegisteredOnHomeNetwork:
00707                 {
00708                 iEdwinNwRegistration.Copy(iNwRegHome);
00709                 }
00710                 break;
00711 
00712             case CTelephony::ERegistrationDenied:
00713                 {
00714                 iEdwinNwRegistration.Copy(iNwRegDenied);
00715                 }
00716                 break;
00717         
00718             case CTelephony::ERegisteredRoaming:
00719                 {
00720                 iEdwinNwRegistration.Copy(iNwRegRoaming);
00721                 }
00722                 break;
00723             
00724             default:
00725                 {
00726                 iEdwinNwRegistration.Copy(iErrString);
00727                 }
00728                 break;
00729             }
00730 
00731         //Update Nw Regstrn status to UI        
00732         SetEdwinTextL((TInt)EIsvTelInfoAppDlgCtrlIdNwRegistration,
00733             &iEdwinNwRegistration);
00734         }
00735     }

void CIsvTelInfoAppDlg::GetBarringStatusApiCompleteL (  TInt  aStatus,
CTelephony::TCallBarringCondition  aBarringCondition,
CTelephony::TCallBarringSupplServicesV1  aCallBarringServices,
TDesC16 &  aErrMsg
)  [virtual]
 

Gets invoked once command completion notification from GetBarringStatus ETel ISV API is received.

Parameters:
aStatus,specifies SUCCESS or Error Code
CTelephony::TCallBarringCondition aBarringCondition, contains barring condition
aCallBarringServices Contains information about the call barring service.
aErrMsg,contains the error message returned by ETel ISV API

Implements MIsvTelInfoAppTelephonyNotify.

Definition at line 404 of file IsvTelInfoAppDlg.cpp.

References iBarStatusActive, iBarStatusNotActive, iBarStatusNotAvailable, iBarStatusNotProvisioned, iBarStatusUnknown, iEdwinBarringStatus, and iErrString.

00409     {
00410     if (aStatus != KErrNone)
00411         {
00412         SetEdwinTextL((TInt) 
00413             EIsvTelInfoAppDlgCtrlIdBarringAllIncoming, &aErrMsg);
00414             
00415         SetEdwinTextL(
00416             (TInt) EIsvTelInfoAppDlgCtrlIdBarringIncomingRoaming, &aErrMsg);
00417 
00418                 SetEdwinTextL((TInt) 
00419             EIsvTelInfoAppDlgCtrlIdBarringAllOutgoing, &aErrMsg);
00420 
00421                 SetEdwinTextL((TInt) 
00422             EIsvTelInfoAppDlgCtrlIdBarringOutgoingInternational, &aErrMsg);
00423 
00424                 SetEdwinTextL((TInt)
00425             EIsvTelInfoAppDlgCtrlIdBarringOutgoingInternationalExHC, 
00426             &aErrMsg);
00427         
00428          return;
00429         }    
00430     else
00431         {
00432         TBuf<EIsvTelInfoAppEdwinMaxLength> barringStatusStr;
00433         switch (aCallBarringServices.iCallBarring)
00434             {
00435             case CTelephony::EStatusActive:
00436                 {
00437                 barringStatusStr.Copy(iBarStatusActive);    
00438                 }
00439                 break;
00440             case CTelephony::ENotActive:
00441                 {
00442                 barringStatusStr.Copy(iBarStatusNotActive);    
00443                 }
00444                 break;
00445             case CTelephony::ENotProvisioned:
00446                 {
00447                 barringStatusStr.Copy(iBarStatusNotProvisioned);    
00448                 }
00449                 break;
00450             case CTelephony::ENotAvailable:
00451                 {
00452                 barringStatusStr.Copy(iBarStatusNotAvailable);    
00453                 }
00454                 break;
00455             case CTelephony::EUnknown:
00456                 {
00457                 barringStatusStr.Copy(iBarStatusUnknown);    
00458                 }
00459                 break;
00460             default:
00461                 {
00462                 barringStatusStr.Copy(iErrString);
00463                 }
00464                 break;
00465             }
00466             
00467         iEdwinBarringStatus.Copy(barringStatusStr);
00468     
00469         switch (aBarringCondition)    
00470             {
00471             case CTelephony::EBarAllIncoming:
00472                 {
00473                 SetEdwinTextL((TInt) 
00474                     EIsvTelInfoAppDlgCtrlIdBarringAllIncoming, 
00475                     &iEdwinBarringStatus);
00476                 }
00477                 break;
00478             case CTelephony::EBarIncomingRoaming:
00479                 {
00480                 SetEdwinTextL(
00481                     (TInt) EIsvTelInfoAppDlgCtrlIdBarringIncomingRoaming,     
00482                     &iEdwinBarringStatus);
00483                 }
00484                 break;
00485             case CTelephony::EBarAllOutgoing:
00486                 {
00487                 SetEdwinTextL((TInt) 
00488                     EIsvTelInfoAppDlgCtrlIdBarringAllOutgoing, 
00489                     &iEdwinBarringStatus);
00490                 }
00491                 break;
00492             case CTelephony::EBarOutgoingInternational:
00493                 {
00494                 SetEdwinTextL((TInt) 
00495                     EIsvTelInfoAppDlgCtrlIdBarringOutgoingInternational, 
00496                     &iEdwinBarringStatus);
00497                 }
00498                 break;
00499             case CTelephony::EBarOutgoingInternationalExHC:
00500                 {
00501                 SetEdwinTextL((TInt)
00502                     EIsvTelInfoAppDlgCtrlIdBarringOutgoingInternationalExHC,  
00503                     &iEdwinBarringStatus);
00504                 }
00505                 break;
00506             default:
00507                 break;
00508             }
00509         }
00510     }

void CIsvTelInfoAppDlg::GetWaitingStatusApiCompleteL (  TInt  aStatus,
CTelephony::TCallWaitingSupplServicesV1  aCallWaitingServices,
TDesC16 &  aErrMsg
)  [virtual]
 

Gets invoked once command completion notification from GetWaitingStatus ETel ISV API is received.

Parameters:
aStatus,specifies SUCCESS or Error Code
aCallWaitingServices Contains information about the call waiting service.
aErrMsg,contains the error message returned by ETel ISV API

Implements MIsvTelInfoAppTelephonyNotify.

Definition at line 518 of file IsvTelInfoAppDlg.cpp.

References iEdwinWaiting, iErrString, iWaitStatusActive, iWaitStatusNotActive, iWaitStatusNotAvailable, iWaitStatusNotProvisioned, and iWaitStatusUnknown.

00521     {
00522     if (aStatus != KErrNone)
00523         {
00524         SetEdwinTextL((TInt) EIsvTelInfoAppDlgCtrlIdWaiting,
00525             &aErrMsg);
00526          return;
00527         }    
00528     else
00529         {
00530         TBuf<EIsvTelInfoAppEdwinMaxLength> waitingStatusStr;
00531         switch (aCallWaitingServices.iCallWaiting)
00532             {
00533             case CTelephony::EStatusActive:
00534                 {
00535                 waitingStatusStr.Copy(iWaitStatusActive);    
00536                 }
00537                 break;
00538             case CTelephony::ENotActive:
00539                 {
00540                 waitingStatusStr.Copy(iWaitStatusNotActive);    
00541                 }
00542                 break;
00543             case CTelephony::ENotProvisioned:
00544                 {
00545                 waitingStatusStr.Copy(iWaitStatusNotProvisioned);    
00546                 }
00547                 break;
00548             case CTelephony::ENotAvailable:
00549                 {
00550                 waitingStatusStr.Copy(iWaitStatusNotAvailable);    
00551                 }
00552                 break;
00553             case CTelephony::EUnknown:
00554                 {
00555                 waitingStatusStr.Copy(iWaitStatusUnknown);    
00556                 }
00557                 break;
00558             default:
00559                 {
00560                 waitingStatusStr.Copy(iErrString);
00561                 }
00562                 break;
00563             }
00564         iEdwinWaiting.Copy(waitingStatusStr);
00565         SetEdwinTextL((TInt) EIsvTelInfoAppDlgCtrlIdWaiting,
00566             &iEdwinWaiting);
00567         }  
00568     }

void CIsvTelInfoAppDlg::GetIdentityServiceStatusApiCompleteL (  TInt  aStatus,
CTelephony::TIdentityService  aIdentityServiceType,
CTelephony::TIdentityServiceV1  aIdentityService,
TDesC16 &  aErrMsg
)  [virtual]
 

Gets invoked once command completion notification from GetIdentityServiceStatus ETel ISV API is received.

Parameters:
aStatus,specifies SUCCESS or Error Code
CTelephony::TIdentityService aIdentityServiceType, contains identity serivce type
aIdentityService Conatins call identity service status.
aErrMsg,contains the error message returned by ETel ISV API

Implements MIsvTelInfoAppTelephonyNotify.

Definition at line 576 of file IsvTelInfoAppDlg.cpp.

References iEdwinIdentity, iErrString, iIdStatusActivePerm, iIdStatusDefaultAllowed, iIdStatusDefaultRestricted, iIdStatusNotProvisioned, and iIdStatusUnknown.

00581     {
00582     if (aStatus != KErrNone)
00583         {
00584         SetEdwinTextL((TInt) EIsvTelInfoAppDlgCtrlIdIdPresentation,
00585             &aErrMsg);
00586             
00587         SetEdwinTextL((TInt) EIsvTelInfoAppDlgCtrlIdIdRestriction,
00588             &aErrMsg); 
00589         return;
00590         }
00591      else
00592         {
00593         TBuf<EIsvTelInfoAppEdwinMaxLength> identityServiceStatusStr;
00594         switch (aIdentityService.iIdentityStatus)
00595             {
00596                 case CTelephony::EIdServiceActivePermanent:
00597                 {
00598                 identityServiceStatusStr.Copy(iIdStatusActivePerm);    
00599                 }
00600                 break;
00601                 
00602             case CTelephony::EIdServiceActiveDefaultRestricted:
00603                 {
00604                 identityServiceStatusStr.Copy(
00605                         iIdStatusDefaultRestricted);    
00606                 }
00607                 break;
00608                 
00609             case CTelephony::EIdServiceActiveDefaultAllowed:
00610                 {
00611                 identityServiceStatusStr.Copy(iIdStatusDefaultAllowed);    
00612                 }
00613                 break;
00614                 
00615             case CTelephony::EIdServiceNotProvisioned:
00616                 {
00617                 identityServiceStatusStr.Copy(iIdStatusNotProvisioned);    
00618                 }
00619                 break;
00620                 
00621             case CTelephony::EIdServiceUnknown:
00622                 {
00623                 identityServiceStatusStr.Copy(iIdStatusUnknown);    
00624                 }
00625                 break;
00626                 
00627             default:
00628                 {
00629                 identityServiceStatusStr.Copy(iErrString);
00630                 }
00631                 break;
00632             }
00633             
00634         iEdwinIdentity.Copy(identityServiceStatusStr);
00635         
00636         switch (aIdentityServiceType)
00637             {
00638             case CTelephony::EIdServiceCallerPresentation:
00639                 {
00640                 SetEdwinTextL((TInt)EIsvTelInfoAppDlgCtrlIdIdPresentation,
00641                     &iEdwinIdentity);
00642                 }
00643                 break;
00644                 
00645             case CTelephony::EIdServiceCallerRestriction:
00646                 {
00647                 SetEdwinTextL((TInt) EIsvTelInfoAppDlgCtrlIdIdRestriction,
00648                     &iEdwinIdentity);    
00649                 }
00650                 break;
00651 
00652             default:
00653                 break;
00654             }
00655         }    
00656     }

void CIsvTelInfoAppDlg::ConstructL (   )  [private]
 

Second-phase constructor.

Definition at line 751 of file IsvTelInfoAppDlg.cpp.

References iIsStoreForm, iTelephony, iTitlePane, and CIsvTelInfoAppTelephony::NewL().

00752     {
00753     iTitlePane = NULL;
00754 
00755     if(!iIsStoreForm)
00756         {
00757         CAknForm::ConstructL();
00758         // Create the telephony object for execution from GUI
00759         iTelephony = CIsvTelInfoAppTelephony::NewL(*this);
00760         }
00761     //Load strings from resource
00762     LoadStringsFromResource();
00763     }

void CIsvTelInfoAppDlg::DefaultInitialiseMembers (   )  [private]
 

Default Initialiser

void CIsvTelInfoAppDlg::PostLayoutDynInitL (   )  [private]
 

From CEikDialog Set default field value to member data.

Definition at line 771 of file IsvTelInfoAppDlg.cpp.

References iIsInEditMode.

00772     {
00773     //Call the base class routine
00774     CAknForm::PostLayoutDynInitL();
00775 
00776     //Set edit mode to false
00777     iIsInEditMode = EFalse;
00778     }

void CIsvTelInfoAppDlg::LoadStringsFromResource (   )  [private]
 

Loads strings from resource

Definition at line 785 of file IsvTelInfoAppDlg.cpp.

References iBarStatusActive, iBarStatusNotActive, iBarStatusNotAvailable, iBarStatusNotProvisioned, iBarStatusUnknown, iErrString, iIdStatusActivePerm, iIdStatusDefaultAllowed, iIdStatusDefaultRestricted, iIdStatusNotProvisioned, iIdStatusUnknown, iNwRegBusy, iNwRegDenied, iNwRegHome, iNwRegNoRegEmergSrvc, iNwRegNoRegNoSrvc, iNwRegNoRegSearching, iNwRegRoaming, iNwRegUnknown, iSuccessString, iWaitStatusActive, iWaitStatusNotActive, iWaitStatusNotAvailable, iWaitStatusNotProvisioned, and iWaitStatusUnknown.

00786     {
00787     TBuf16<KMaxCmdSize> resStr;
00788 
00789     //Load barring status strings from resource
00790     iCoeEnv->ReadResource(resStr, 
00791         R_ISVTELINFOAPP_STATUS_ACTIVE);
00792     iBarStatusActive.Copy(resStr);    
00793     
00794     iCoeEnv->ReadResource(resStr, 
00795         R_ISVTELINFOAPP_STATUS_NOTACTIVE);
00796     iBarStatusNotActive.Copy(resStr);
00797     
00798     iCoeEnv->ReadResource(resStr, 
00799         R_ISVTELINFOAPP_STATUS_NOTPROVISIONED);
00800     iBarStatusNotProvisioned.Copy(resStr);
00801     
00802     iCoeEnv->ReadResource(resStr, 
00803         R_ISVTELINFOAPP_STATUS_NOTAVAILABLE);
00804     iBarStatusNotAvailable.Copy(resStr);
00805     
00806     iCoeEnv->ReadResource(resStr, 
00807         R_ISVTELINFOAPP_STATUS_UNKNOWN);
00808     iBarStatusUnknown.Copy(resStr);  
00809     
00810   // Network Registration  
00811    iCoeEnv->ReadResource(resStr, 
00812         R_ISVTELINFOAPP_NWREG_UNKNOWN);
00813     iNwRegUnknown.Copy(resStr);  
00814     
00815     iCoeEnv->ReadResource(resStr, 
00816         R_ISVTELINFOAPP_NWREG_NOREGNOSRVC);
00817     iNwRegNoRegNoSrvc.Copy(resStr);
00818     
00819     iCoeEnv->ReadResource(resStr, 
00820         R_ISVTELINFOAPP_NWREG_NOREGEMERGSRVC);
00821     iNwRegNoRegEmergSrvc.Copy(resStr);
00822     
00823     iCoeEnv->ReadResource(resStr, 
00824         R_ISVTELINFOAPP_NWREG_NOREGSEARCHING);
00825     iNwRegNoRegSearching.Copy(resStr);
00826     
00827     iCoeEnv->ReadResource(resStr, 
00828         R_ISVTELINFOAPP_NWREG_REGBUSY);
00829     iNwRegBusy.Copy(resStr);
00830     
00831     iCoeEnv->ReadResource(resStr, 
00832         R_ISVTELINFOAPP_NWREG_REGHOME);
00833     iNwRegHome.Copy(resStr);    
00834                       
00835     iCoeEnv->ReadResource(resStr, 
00836         R_ISVTELINFOAPP_NWREG_REGDENIED);
00837     iNwRegDenied.Copy(resStr);
00838     
00839     iCoeEnv->ReadResource(resStr, 
00840         R_ISVTELINFOAPP_NWREG_REGROAMING);
00841     iNwRegRoaming.Copy(resStr);  
00842 
00843    //Load waiting status strings from resource
00844     iCoeEnv->ReadResource(resStr, 
00845         R_ISVTELINFOAPP_STATUS_ACTIVE);
00846     iWaitStatusActive.Copy(resStr);  
00847     
00848     iCoeEnv->ReadResource(resStr, 
00849         R_ISVTELINFOAPP_STATUS_NOTACTIVE);
00850     iWaitStatusNotActive.Copy(resStr);
00851     
00852     iCoeEnv->ReadResource(resStr, 
00853         R_ISVTELINFOAPP_STATUS_NOTPROVISIONED);
00854     iWaitStatusNotProvisioned.Copy(resStr);  
00855     
00856     iCoeEnv->ReadResource(resStr, 
00857         R_ISVTELINFOAPP_STATUS_NOTAVAILABLE);
00858     iWaitStatusNotAvailable.Copy(resStr);  
00859     
00860     iCoeEnv->ReadResource(resStr, 
00861         R_ISVTELINFOAPP_STATUS_UNKNOWN);
00862     iWaitStatusUnknown.Copy(resStr);
00863     
00864    //Load identity service strings from resource
00865     iCoeEnv->ReadResource(resStr, 
00866         R_ISVTELINFOAPP_IDSTATUS_ACTIVEPERM);
00867     iIdStatusActivePerm.Copy(resStr);     
00868     
00869     iCoeEnv->ReadResource(resStr, 
00870         R_ISVTELINFOAPP_IDSTATUS_DEFAULTRESTRICTED);
00871     iIdStatusDefaultRestricted.Copy(resStr);
00872     
00873     iCoeEnv->ReadResource(resStr, 
00874         R_ISVTELINFOAPP_IDSTATUS_DEFAULTALLOWED);
00875     iIdStatusDefaultAllowed.Copy(resStr);
00876     
00877     iCoeEnv->ReadResource(resStr, 
00878         R_ISVTELINFOAPP_IDSTATUS_NOTPROVISIONED);
00879     iIdStatusNotProvisioned.Copy(resStr);  
00880     
00881     iCoeEnv->ReadResource(resStr, 
00882         R_ISVTELINFOAPP_IDSTATUS_UNKNOWN);
00883     iIdStatusUnknown.Copy(resStr);      
00884 
00885    //Load general error and success strings
00886     iCoeEnv->ReadResource(resStr, 
00887         R_ISVTELINFOAPP_TELSTR_ERRSTRING);
00888     iErrString.Copy(resStr);
00889 
00890     iCoeEnv->ReadResource(resStr, 
00891         R_ISVTELINFOAPP_TELSTR_SUCCESSSTRING);
00892     iSuccessString.Copy(resStr);
00893 
00894     return;
00895     }


© Nokia 2006

Back to top