telephonyserverplugins/common_tsy/customapi/src/RMmCustomAPI.cpp
changeset 0 3553901f7fa8
child 24 6638e7f4bd8f
equal deleted inserted replaced
-1:000000000000 0:3553901f7fa8
       
     1 // Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
       
     2 // All rights reserved.
       
     3 // This component and the accompanying materials are made available
       
     4 // under the terms of "Eclipse Public License v1.0"
       
     5 // which accompanies this distribution, and is available
       
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     7 //
       
     8 // Initial Contributors:
       
     9 // Nokia Corporation - initial contribution.
       
    10 //
       
    11 // Contributors:
       
    12 //
       
    13 // Description:
       
    14 //
       
    15 
       
    16 
       
    17 
       
    18 // INCLUDE FILES
       
    19 #include <etelext.h>
       
    20 #include <etelmm.h>
       
    21 #include <ctsy/rmmcustomapi.h>
       
    22 
       
    23 // MODULE DATA STRUCTURES
       
    24 enum
       
    25     {
       
    26     ESlotActivateSimLockPassword,
       
    27     ESlotActivateSimLockNumber,
       
    28     ESlotDeActivateSimLockPassword,
       
    29     ESlotDeActivateSimLockNumber,
       
    30     ESlotNotifyDtmfEvent,
       
    31     ESlotSetAlsBlocked,
       
    32     ESlotGetAlsBlocked,
       
    33     ESlotCallOrigin,
       
    34     ESlotNotifyAlsBlockedChanged,
       
    35     ESlotTerminateCall,
       
    36     ESlotGetCipheringInfo,
       
    37     ESlotNotifyCipheringInfoChange,
       
    38     ESlotNotifyNSPSStatus,
       
    39     ESlotNetWakeup,
       
    40     ESlotNotifySsAdditionalInfo,
       
    41     ESlotNotifySsRequestComplete,
       
    42     ESlotCheckAlsPpSupport,
       
    43     ESlotViagHomeZoneParams,
       
    44     ESlotViagHomeZoneElems,
       
    45     ESlotReadViagCacheId,
       
    46     ESlotReadViagCacheRecord,
       
    47     ESlotWriteViagCacheId,
       
    48     ESlotWriteViagCacheRecord,
       
    49     ESlotWriteViagUHZIUESettings,
       
    50     ESlotCheckSecurityCode,
       
    51     ESlotCheckEmergencyNumberNumMode,
       
    52     ESlotCheckEmergencyNumberResult,
       
    53     ESlotGetOperatorName,
       
    54     ESlotGetProgrammableOperatorId,
       
    55     ESlotGetProgrammableOperatorLogo,
       
    56     ESlotCheckTwoDigitDialSupport,
       
    57     ESlotNotifyPndCacheReady,
       
    58     ESlotGetPndCacheStatus,
       
    59     ESlotSsNotifyTypeAndMode,
       
    60     ESlotSsNotifyInfo,
       
    61     ESlotGetOperatorNameType,
       
    62     ESlotGetNextSimCbTopic,
       
    63     ESlotDeleteSimCbTopic,
       
    64     ESlotNotifyProgrammableOperatorId,
       
    65     ESlotDisablePhoneLock,
       
    66     ESlotGet3GPBInfo,
       
    67     ESlotGetSystemNetworkModes,
       
    68     ESlotSetSystemNetworkMode,
       
    69     ESlotGetCurrentSystemNetworkModes,
       
    70     ESlotGetSimCardReaderStatus,
       
    71     ESlotNotifySimCardStatus,
       
    72     ESlotSendAPDUReqV2Status,
       
    73     ESlotSetDriveMode,
       
    74     ESlotSetAlwaysOn,
       
    75     ESlotNotifyRauEvent,
       
    76     ESlotReadHSxPAStatus,
       
    77     ESlotWriteHSxPAStatus,
       
    78     ESlotNotifyHSxPAStatus,
       
    79     ESlotGetIccCallForwardingStatusCFInd,
       
    80     ESlotGetIccCallForwardingStatusMspId,
       
    81     ESlotNotifyIccCallForwardingStatusChangeCFInd,
       
    82     ESlotNotifyIccCallForwardingStatusChangeMspId,
       
    83     ESlotNotifyCellInfoChange,
       
    84     ESlotGetCellInfo,
       
    85     ESlotGetSystemNetworkBand, 
       
    86     ESlotSetSystemNetworkBand, 
       
    87     ESlotGetUSIMServiceSupport,
       
    88     ESlotNotifyRemoteAlertingToneStatusChange,
       
    89     //let the next value be the last in the enum
       
    90     ESlotMaxNumOfNonConstSlots
       
    91     };
       
    92 
       
    93 // Const slots enumeration
       
    94 enum
       
    95     {
       
    96     //let the next value be the last in the enum
       
    97     ESlotCMaxNumOfConstSlots,
       
    98     };
       
    99 
       
   100 #define K_EXPECTED_ELEMENT_COUNT_FOR_READ_VIAG_HOME_ZONE			4
       
   101 
       
   102 
       
   103 // ======== MEMBER FUNCTIONS ========
       
   104 
       
   105 EXPORT_C RMmCustomAPI::RMmCustomAPI():iCustomPtrHolder( NULL )
       
   106     {
       
   107     }
       
   108 
       
   109 EXPORT_C void RMmCustomAPI::ConstructL()
       
   110     {
       
   111     iCustomPtrHolder = CMmCustomPtrHolder::NewL( ESlotMaxNumOfNonConstSlots,
       
   112         ESlotCMaxNumOfConstSlots );
       
   113     }
       
   114 
       
   115 EXPORT_C void RMmCustomAPI::Destruct()
       
   116     {
       
   117     if ( NULL != iCustomPtrHolder )
       
   118         {
       
   119         delete iCustomPtrHolder;
       
   120         }
       
   121     iCustomPtrHolder = NULL;
       
   122     }
       
   123 
       
   124 // ---------------------------------------------------------------------------
       
   125 // RMmCustomAPI::Open
       
   126 // This method opens a RMmCustomAPI subsession from RMobilePhone.
       
   127 // (other items were commented in a header).
       
   128 // ---------------------------------------------------------------------------
       
   129 //
       
   130 EXPORT_C TInt RMmCustomAPI::Open(
       
   131     RMobilePhone& aPhone )
       
   132     {
       
   133     RSessionBase* session=&aPhone.SessionHandle();
       
   134     __ASSERT_ALWAYS( session != 0, PanicClient( EEtelPanicNullHandle ) );
       
   135     TInt subSessionHandle=aPhone.SubSessionHandle();
       
   136     __ASSERT_ALWAYS( subSessionHandle != 0, PanicClient(
       
   137         EEtelPanicNullHandle ) );
       
   138     TRAPD( ret, ConstructL() );
       
   139     if ( ret )
       
   140         {
       
   141         return ret;
       
   142         }
       
   143 
       
   144     TPtrC name( KCustomAPIName );
       
   145     TIpcArgs args( &name, TIpcArgs::ENothing, subSessionHandle );
       
   146     SetSessionHandle( *session );
       
   147     ret = CreateSubSession( *session, EEtelOpenFromSubSession, args);
       
   148 
       
   149     if ( ret )
       
   150         {
       
   151         Destruct();
       
   152         }
       
   153 
       
   154     return ret;
       
   155     }
       
   156 
       
   157 // ---------------------------------------------------------------------------
       
   158 // RMmCustomAPI::Close
       
   159 // This method closes a RMmCustomAPI subsession
       
   160 // (other items were commented in a header).
       
   161 // ---------------------------------------------------------------------------
       
   162 //
       
   163 EXPORT_C void RMmCustomAPI::Close()
       
   164     {
       
   165     CloseSubSession( EEtelClose );
       
   166     Destruct();
       
   167     }
       
   168 
       
   169 // ---------------------------------------------------------------------------
       
   170 // RMmCustomAPI::SetDriveMode
       
   171 // This function sets the Drive Mode status with the value defined in
       
   172 // aModeStatus.
       
   173 // (other items were commented in a header).
       
   174 // ---------------------------------------------------------------------------
       
   175 //
       
   176 EXPORT_C void RMmCustomAPI::SetDriveMode(
       
   177     TRequestStatus& aStatus,
       
   178     const TSetDriveMode aModeStatus )
       
   179     {
       
   180     __ASSERT_ALWAYS( iCustomPtrHolder != NULL, PanicClient(
       
   181         EEtelPanicNullHandle ) );
       
   182     iCustomPtrHolder->iSetDriveMode = aModeStatus;
       
   183 
       
   184     TPtr8& ptr = iCustomPtrHolder->Set( ESlotSetDriveMode,
       
   185         iCustomPtrHolder->iSetDriveMode );
       
   186     Set( ECustomSetDriveModeIPC, aStatus, ptr );
       
   187     }
       
   188 
       
   189 // ---------------------------------------------------------------------------
       
   190 // RMmCustomAPI::ActivateSimLock
       
   191 // This function activates the sim lock synchronously.
       
   192 // (other items were commented in a header).
       
   193 // ---------------------------------------------------------------------------
       
   194 //
       
   195 EXPORT_C TInt RMmCustomAPI::ActivateSimLock(
       
   196     const TSimLockPassword& aPassWord,
       
   197     const TLockNumber aNumber ) const
       
   198     {
       
   199     TPtr8 passWord( REINTERPRET_CAST( TText8*, CONST_CAST( TSimLockPassword*,
       
   200         &aPassWord ) ), sizeof( TSimLockPassword ),
       
   201         sizeof( TSimLockPassword ) );
       
   202 
       
   203     TPtr8 number( REINTERPRET_CAST( TText8*, CONST_CAST( TLockNumber*,
       
   204          &aNumber ) ), sizeof( TLockNumber ), sizeof( TLockNumber ) );
       
   205 
       
   206     return Set( ECustomSimLockActivateIPC, passWord, number );
       
   207     }
       
   208 
       
   209 // ---------------------------------------------------------------------------
       
   210 // RMmCustomAPI::ActivateSimLock
       
   211 // This function activates the sim lock asynchronously
       
   212 // (other items were commented in a header).
       
   213 // ---------------------------------------------------------------------------
       
   214 //
       
   215 EXPORT_C void RMmCustomAPI::ActivateSimLock(
       
   216     TRequestStatus& aStatus,
       
   217     const TSimLockPassword& aPassWord,
       
   218     const TLockNumber aNumber ) const
       
   219     {
       
   220     __ASSERT_ALWAYS( iCustomPtrHolder != NULL, PanicClient(
       
   221         EEtelPanicNullHandle ) );
       
   222 
       
   223     iCustomPtrHolder->iSimLockPassword = aPassWord;
       
   224     TPtr8& ptr = iCustomPtrHolder->Set( ESlotActivateSimLockPassword,
       
   225         iCustomPtrHolder->iSimLockPassword );
       
   226 
       
   227     iCustomPtrHolder->iSimLockNumber=aNumber;
       
   228     TPtr8& ptr2 = iCustomPtrHolder->Set( ESlotActivateSimLockNumber,
       
   229         iCustomPtrHolder->iSimLockNumber );
       
   230 
       
   231     Set( ECustomSimLockActivateIPC, aStatus, ptr, ptr2 );
       
   232     }
       
   233 
       
   234 // ---------------------------------------------------------------------------
       
   235 // RMmCustomAPI::DeActivateSimLock
       
   236 // This function Deactivates the sim lock synchronously
       
   237 // (other items were commented in a header).
       
   238 // ---------------------------------------------------------------------------
       
   239 //
       
   240 EXPORT_C TInt RMmCustomAPI::DeActivateSimLock(
       
   241     const TSimLockPassword& aPassWord,
       
   242     const TLockNumber aNumber ) const
       
   243     {
       
   244     TPtr8 passWord( REINTERPRET_CAST( TText8*, CONST_CAST( TSimLockPassword*,
       
   245         &aPassWord ) ), sizeof( TSimLockPassword ),
       
   246         sizeof( TSimLockPassword ) );
       
   247 
       
   248     TPtr8 number( REINTERPRET_CAST( TText8*, CONST_CAST(
       
   249         TLockNumber*, &aNumber ) ), sizeof( TLockNumber ),
       
   250         sizeof( TLockNumber) );
       
   251 
       
   252     return Set( ECustomSimLockDeActivateIPC, passWord, number );
       
   253     }
       
   254 
       
   255 // ---------------------------------------------------------------------------
       
   256 // RMmCustomAPI::DeActivateSimLock
       
   257 // This function Deactivates the sim lock asynchronously
       
   258 // (other items were commented in a header).
       
   259 // ---------------------------------------------------------------------------
       
   260 //
       
   261 EXPORT_C void RMmCustomAPI::DeActivateSimLock(
       
   262     TRequestStatus& aStatus,
       
   263     const TSimLockPassword& aPassWord,
       
   264     const TLockNumber aNumber ) const
       
   265     {
       
   266     __ASSERT_ALWAYS( iCustomPtrHolder != NULL, PanicClient(
       
   267         EEtelPanicNullHandle ) );
       
   268 
       
   269     iCustomPtrHolder->iSimLockPassword=aPassWord;
       
   270     TPtr8& ptr = iCustomPtrHolder->Set( ESlotDeActivateSimLockPassword,
       
   271         iCustomPtrHolder->iSimLockPassword );
       
   272 
       
   273     iCustomPtrHolder->iSimLockNumber=aNumber;
       
   274     TPtr8& ptr2 = iCustomPtrHolder->Set( ESlotDeActivateSimLockNumber,
       
   275         iCustomPtrHolder->iSimLockNumber );
       
   276 
       
   277     Set( ECustomSimLockDeActivateIPC, aStatus, ptr, ptr2 );
       
   278     }
       
   279 
       
   280 
       
   281 // ---------------------------------------------------------------------------
       
   282 // RMmCustomAPI::NotifyDtmfEvent
       
   283 // This function notifies a client of a Dtmf event.
       
   284 // (other items were commented in a header).
       
   285 // ---------------------------------------------------------------------------
       
   286 //
       
   287 EXPORT_C void RMmCustomAPI::NotifyDtmfEvent(
       
   288     TRequestStatus& aStatus,
       
   289     TDtmfInfo& aInfo )
       
   290     {
       
   291     __ASSERT_ALWAYS( iCustomPtrHolder != NULL, PanicClient(
       
   292         EEtelPanicNullHandle ) );
       
   293     TPtr8& ptr = iCustomPtrHolder->Set( ESlotNotifyDtmfEvent, aInfo );
       
   294     Get( ECustomNotifyDtmfEventIPC, aStatus, ptr );
       
   295     }
       
   296 
       
   297 // ---------------------------------------------------------------------------
       
   298 // RMmCustomAPI::GetDiagnosticInfo
       
   299 // Gets the Diagnostics octets of a given call.
       
   300 // (other items were commented in a header).
       
   301 // ---------------------------------------------------------------------------
       
   302 //
       
   303 EXPORT_C TInt RMmCustomAPI::GetDiagnosticInfo(
       
   304     TName& aCallName) const
       
   305     {
       
   306     TPtr8 ptr( REINTERPRET_CAST( TText8*, &aCallName ), sizeof( TName ),
       
   307         sizeof( TName ) );
       
   308 
       
   309     return Get( ECustomGetDiagnosticOctetsIPC, ptr);
       
   310     }
       
   311 
       
   312 // ---------------------------------------------------------------------------
       
   313 // RMmCustomAPI::SetAlsBlocked
       
   314 // This function sets the alternating line service block
       
   315 // status with the value defined in aBlockStatus.
       
   316 // (other items were commented in a header).
       
   317 // ---------------------------------------------------------------------------
       
   318 //
       
   319 EXPORT_C TInt RMmCustomAPI::SetAlsBlocked(
       
   320     const TSetAlsBlock aBlockStatus ) const
       
   321     {
       
   322     TPtr8 ptr( REINTERPRET_CAST( TText8*, CONST_CAST( TSetAlsBlock*,
       
   323         &aBlockStatus ) ), sizeof( TSetAlsBlock ), sizeof( TSetAlsBlock ) );
       
   324 
       
   325     return Set( ECustomSetAlsBlockedIPC, ptr );
       
   326     }
       
   327 
       
   328 // ---------------------------------------------------------------------------
       
   329 // RMmCustomAPI::SetAlsBlocked
       
   330 // This function sets the alternating line service block
       
   331 // status with the value defined in aBlockStatus.
       
   332 // (other items were commented in a header).
       
   333 // ---------------------------------------------------------------------------
       
   334 //
       
   335 EXPORT_C void RMmCustomAPI::SetAlsBlocked(
       
   336     TRequestStatus& aStatus,
       
   337     const TSetAlsBlock aBlockStatus )
       
   338     {
       
   339     __ASSERT_ALWAYS( iCustomPtrHolder != NULL, PanicClient(
       
   340         EEtelPanicNullHandle) );
       
   341     iCustomPtrHolder->iSetAlsBlock = aBlockStatus;
       
   342 
       
   343     TPtr8& ptr = iCustomPtrHolder->Set( ESlotSetAlsBlocked,
       
   344         iCustomPtrHolder->iSetAlsBlock );
       
   345     Set( ECustomSetAlsBlockedIPC, aStatus, ptr );
       
   346     }
       
   347 
       
   348 // ---------------------------------------------------------------------------
       
   349 // RMmCustomAPI::GetAlsBlocked
       
   350 // This function returns the alternating line service block status.
       
   351 // (other items were commented in a header).
       
   352 // ---------------------------------------------------------------------------
       
   353 //
       
   354 EXPORT_C TInt RMmCustomAPI::GetAlsBlocked(
       
   355     TGetAlsBlockStatus& aBlockStatus ) const
       
   356     {
       
   357     TPtr8 ptr( REINTERPRET_CAST( TText8*, &aBlockStatus ),
       
   358         sizeof( TGetAlsBlockStatus ), sizeof( TGetAlsBlockStatus ) );
       
   359 
       
   360     return Get( ECustomGetAlsBlockedIPC, ptr );
       
   361     }
       
   362 
       
   363 // ---------------------------------------------------------------------------
       
   364 // RMmCustomAPI::GetAlsBlocked
       
   365 // This function returns the alternating line service block status.
       
   366 // (other items were commented in a header).
       
   367 // ---------------------------------------------------------------------------
       
   368 //
       
   369 EXPORT_C void RMmCustomAPI::GetAlsBlocked(
       
   370     TRequestStatus& aStatus,
       
   371     TGetAlsBlockStatus& aBlockStatus )
       
   372     {
       
   373     __ASSERT_ALWAYS( iCustomPtrHolder != NULL,
       
   374         PanicClient( EEtelPanicNullHandle ) );
       
   375 
       
   376     TPtr8& ptr = iCustomPtrHolder->Set( ESlotGetAlsBlocked, aBlockStatus );
       
   377     Get( ECustomGetAlsBlockedIPC, aStatus, ptr );
       
   378     }
       
   379 
       
   380 // ---------------------------------------------------------------------------
       
   381 // RMmCustomAPI::CheckAlsPpSupport
       
   382 // This function returns Als Pp Support state.
       
   383 // (other items were commented in a header).
       
   384 // ---------------------------------------------------------------------------
       
   385 //
       
   386 EXPORT_C TInt RMmCustomAPI::CheckAlsPpSupport(
       
   387     TAlsSupport& aSupport ) const
       
   388     {
       
   389     TPtr8 ptr( REINTERPRET_CAST( TText8*, &aSupport ),
       
   390         sizeof( TAlsSupport ), sizeof ( TAlsSupport ) );
       
   391 
       
   392     return Get( ECustomCheckAlsPpSupportIPC, ptr );
       
   393     }
       
   394 
       
   395 // ---------------------------------------------------------------------------
       
   396 // RMmCustomAPI::CheckAlsPpSupport
       
   397 // This function returns Als Pp Support state.
       
   398 // (other items were commented in a header).
       
   399 // ---------------------------------------------------------------------------
       
   400 //
       
   401 EXPORT_C void RMmCustomAPI::CheckAlsPpSupport(
       
   402     TRequestStatus& aStatus,
       
   403     TAlsSupport& aSupport )
       
   404     {
       
   405     __ASSERT_ALWAYS( iCustomPtrHolder != NULL,
       
   406         PanicClient(EEtelPanicNullHandle ) );
       
   407 
       
   408     TPtr8& ptr = iCustomPtrHolder->Set( ESlotCheckAlsPpSupport, aSupport );
       
   409     Get( ECustomCheckAlsPpSupportIPC, aStatus, ptr );
       
   410     }
       
   411 
       
   412 // ---------------------------------------------------------------------------
       
   413 // RMmCustomAPI::GetRemoteAlertingToneStatus
       
   414 // This function reads the remote alerting tone status.
       
   415 // (other items were commented in a header).
       
   416 // ---------------------------------------------------------------------------
       
   417 //
       
   418 EXPORT_C TInt RMmCustomAPI::GetRemoteAlertingToneStatus(
       
   419     TRemoteAlertingToneStatus& aToneStatus ) const
       
   420     {
       
   421     TPtr8 ptr( REINTERPRET_CAST( TText8*, &aToneStatus ),
       
   422         sizeof( TRemoteAlertingToneStatus ), sizeof(
       
   423         TRemoteAlertingToneStatus ) );
       
   424 
       
   425     return Get( ECustomGetRemoteAlertingToneStatusIPC, ptr );
       
   426     }
       
   427 
       
   428 // ---------------------------------------------------------------------------
       
   429 // RMmCustomAPI::CallOrigin
       
   430 // This function returns the origin of the call,
       
   431 // defined by aCallName parameter.
       
   432 // (other items were commented in a header).
       
   433 // ---------------------------------------------------------------------------
       
   434 //
       
   435 EXPORT_C TInt RMmCustomAPI::CallOrigin(
       
   436     TName& aCallName,
       
   437     TCallOrigin& aOrigin ) const
       
   438     {
       
   439     TPtr8 ptr1( REINTERPRET_CAST( TText8*, &aCallName ), sizeof( TName ),
       
   440         sizeof( TName ) );
       
   441 
       
   442     TPtr8 ptr2( REINTERPRET_CAST( TText8*, &aOrigin ), sizeof( TCallOrigin ),
       
   443         sizeof( TCallOrigin ) );
       
   444 
       
   445     return Get( ECustomCallOriginIPC, ptr1, ptr2 );
       
   446     }
       
   447 
       
   448 // ---------------------------------------------------------------------------
       
   449 // RMmCustomAPI::TerminateCall
       
   450 // This synchronous function terminates a given call or all the ongoing calls
       
   451 // based in the value of aCallName
       
   452 // (other items were commented in a header).
       
   453 // ---------------------------------------------------------------------------
       
   454 //
       
   455 EXPORT_C TInt RMmCustomAPI::TerminateCall(
       
   456     TName& aCallName )const
       
   457     {
       
   458     TPtr8 ptr( REINTERPRET_CAST( TText8*, &aCallName ), sizeof( TName ),
       
   459         sizeof( TName ) );
       
   460 
       
   461     return Get( ECustomTerminateCallIPC, ptr);
       
   462     }
       
   463 
       
   464 // ---------------------------------------------------------------------------
       
   465 // RMmCustomAPI::TerminateCall
       
   466 // This asynchronous function terminates a given call or all
       
   467 // the ongoing calls based in the value of aCallName
       
   468 // (other items were commented in a header).
       
   469 // ---------------------------------------------------------------------------
       
   470 //
       
   471 EXPORT_C void RMmCustomAPI::TerminateCall(
       
   472     TRequestStatus& aStatus,
       
   473     TName& aCallName )
       
   474     {
       
   475     __ASSERT_ALWAYS( iCustomPtrHolder != NULL, PanicClient(
       
   476         EEtelPanicNullHandle) );
       
   477 
       
   478     TPtr8& ptr = iCustomPtrHolder->Set( ESlotTerminateCall, aCallName );
       
   479     Get( ECustomTerminateCallIPC, aStatus, ptr);
       
   480     }
       
   481 
       
   482 // ---------------------------------------------------------------------------
       
   483 // RMmCustomAPI::NotifyAlsBlockedChanged
       
   484 // This function notifies a client of changed Als blocked status.
       
   485 // (other items were commented in a header).
       
   486 // ---------------------------------------------------------------------------
       
   487 //
       
   488 EXPORT_C void RMmCustomAPI::NotifyAlsBlockedChanged(
       
   489     TRequestStatus& aStatus,
       
   490     TGetAlsBlockStatus& aBlockStatus )
       
   491     {
       
   492     __ASSERT_ALWAYS( iCustomPtrHolder != NULL,
       
   493         PanicClient( EEtelPanicNullHandle ) );
       
   494 
       
   495     TPtr8& ptr = iCustomPtrHolder->Set( ESlotNotifyAlsBlockedChanged,
       
   496         aBlockStatus );
       
   497     Get( ECustomNotifyAlsBlockedChangedIPC, aStatus, ptr );
       
   498     }
       
   499 
       
   500 // ---------------------------------------------------------------------------
       
   501 // RMmCustomAPI::GetCipheringInfo
       
   502 // This function gets the ciphering information synchronously.
       
   503 // (other items were commented in a header).
       
   504 // ---------------------------------------------------------------------------
       
   505 //
       
   506 EXPORT_C TInt RMmCustomAPI::GetCipheringInfo(
       
   507     TCipheringInfo& aInfo )
       
   508     {
       
   509     TPtr8 ptr( REINTERPRET_CAST( TText8*, &aInfo ), sizeof( TCipheringInfo ),
       
   510         sizeof( TCipheringInfo ) );
       
   511 
       
   512     return Get( ECustomGetCipheringInfoIPC, ptr );
       
   513     }
       
   514 
       
   515 // ---------------------------------------------------------------------------
       
   516 // RMmCustomAPI::GetCipheringInfo
       
   517 // This function gets the ciphering info asynchronously.
       
   518 // (other items were commented in a header).
       
   519 // ---------------------------------------------------------------------------
       
   520 //
       
   521 EXPORT_C void RMmCustomAPI::GetCipheringInfo(
       
   522     TRequestStatus& aStatus,
       
   523     TCipheringInfo& aInfo )
       
   524     {
       
   525     __ASSERT_ALWAYS( iCustomPtrHolder != NULL,
       
   526         PanicClient( EEtelPanicNullHandle ) );
       
   527     TPtr8& ptr = iCustomPtrHolder->Set( ESlotGetCipheringInfo, aInfo );
       
   528     Get( ECustomGetCipheringInfoIPC, aStatus, ptr );
       
   529     }
       
   530 
       
   531 // ---------------------------------------------------------------------------
       
   532 // RMmCustomAPI::NotifyCipheringInfoChange
       
   533 // This function notifies a client of ciphering info change
       
   534 // (other items were commented in a header).
       
   535 // ---------------------------------------------------------------------------
       
   536 //
       
   537 EXPORT_C void RMmCustomAPI::NotifyCipheringInfoChange(
       
   538     TRequestStatus& aStatus,
       
   539     TCipheringInfo& aInfo )
       
   540     {
       
   541     __ASSERT_ALWAYS( iCustomPtrHolder != NULL, PanicClient(
       
   542         EEtelPanicNullHandle ) );
       
   543     TPtr8& ptr = iCustomPtrHolder->Set( ESlotNotifyCipheringInfoChange, aInfo );
       
   544     Get( ECustomNotifyCipheringInfoChangeIPC, aStatus, ptr );
       
   545     }
       
   546 
       
   547 // ---------------------------------------------------------------------------
       
   548 // RMmCustomAPI::NotifyNSPSStatus
       
   549 // This function notifies a client of a change in NSPS
       
   550 // (No Service Power Save) status
       
   551 // (other items were commented in a header).
       
   552 // ---------------------------------------------------------------------------
       
   553 //
       
   554 EXPORT_C void RMmCustomAPI::NotifyNSPSStatus(
       
   555     TRequestStatus& aStatus,
       
   556     TNspsStatus& aNspsStatus )
       
   557     {
       
   558     __ASSERT_ALWAYS( iCustomPtrHolder != NULL, PanicClient(
       
   559         EEtelPanicNullHandle ) );
       
   560 
       
   561     TPtr8& ptr = iCustomPtrHolder->Set( ESlotNotifyNSPSStatus, aNspsStatus );
       
   562     Get( ECustomNotifyNSPSStatusIPC, aStatus, ptr );
       
   563     }
       
   564 
       
   565 // ---------------------------------------------------------------------------
       
   566 // RMmCustomAPI::NetWakeup
       
   567 // This function wakes up the Net from the NSPS state
       
   568 // (other items were commented in a header).
       
   569 // ---------------------------------------------------------------------------
       
   570 //
       
   571 EXPORT_C void RMmCustomAPI::NetWakeup(
       
   572     TRequestStatus& aStatus )
       
   573     {
       
   574     Blank( ECustomNetWakeupIPC, aStatus );
       
   575     }
       
   576 
       
   577 // ---------------------------------------------------------------------------
       
   578 // RMmCustomAPI::ReadViagHomeZoneParams
       
   579 // This function reads VIAG Home Zone Parameters synchronously
       
   580 // (other items were commented in a header).
       
   581 // ---------------------------------------------------------------------------
       
   582 //
       
   583 EXPORT_C TInt RMmCustomAPI::ReadViagHomeZoneParams(
       
   584     TViagParams& aParam,
       
   585     TViagElements& aElems ) const
       
   586     {
       
   587     __ASSERT_ALWAYS( iCustomPtrHolder != NULL, PanicClient(
       
   588         EEtelPanicNullHandle ) );
       
   589 
       
   590     TPtr8 ptr( REINTERPRET_CAST( TText8*, &aParam ),
       
   591         sizeof( TViagParams ), sizeof( TViagParams ) );
       
   592 
       
   593     TPtr8 ptr2( REINTERPRET_CAST( TText8*, &aElems ),
       
   594         sizeof( TViagElements ), sizeof( TViagElements ) );
       
   595 
       
   596      __ASSERT_ALWAYS( aElems.Count() == 4, PanicClient(
       
   597         EEtelPanicIndexOutOfRange ) );
       
   598 
       
   599      RMmCustomAPI::TViagElement* b = aElems.Back( 0 );
       
   600      const TInt sizeOfElement = sizeof( RMmCustomAPI::TViagElement );
       
   601      const TInt sizeOfArray = 4*sizeOfElement;
       
   602 
       
   603      ptr2.Set(
       
   604         REINTERPRET_CAST( TText8*, b ),
       
   605         sizeOfArray,
       
   606         sizeOfArray );
       
   607 
       
   608     return Get( EReadViagHomeZoneParamsIPC, ptr, ptr2 );
       
   609     }
       
   610 
       
   611 // ---------------------------------------------------------------------------
       
   612 // RMmCustomAPI::ReadViagHomeZoneParams
       
   613 // This function reads VIAG Home Zone Parameters asynchronously.
       
   614 // (other items were commented in a header).
       
   615 // ---------------------------------------------------------------------------
       
   616 //
       
   617 EXPORT_C void RMmCustomAPI::ReadViagHomeZoneParams(
       
   618     TRequestStatus& aStatus,
       
   619     TViagParams& aParam,
       
   620     TViagElements& aElems )
       
   621     {
       
   622     __ASSERT_ALWAYS( iCustomPtrHolder != NULL, PanicClient(
       
   623         EEtelPanicNullHandle ) );
       
   624     
       
   625     if(aElems.Count() != K_EXPECTED_ELEMENT_COUNT_FOR_READ_VIAG_HOME_ZONE)
       
   626         {
       
   627         TRequestStatus* reqStatus = &aStatus;
       
   628         User::RequestComplete(reqStatus, KErrArgument);
       
   629         return;
       
   630         }
       
   631     
       
   632     TPtr8& ptr = iCustomPtrHolder->Set( ESlotViagHomeZoneParams, aParam );
       
   633     TPtr8& ptr2 = iCustomPtrHolder->Set( ESlotViagHomeZoneElems, aElems );
       
   634 
       
   635      RMmCustomAPI::TViagElement* b = aElems.Back( 0 );
       
   636      const TInt sizeOfElement = sizeof( RMmCustomAPI::TViagElement );
       
   637      const TInt sizeOfArray = 4*sizeOfElement;
       
   638 
       
   639      ptr2.Set(
       
   640         REINTERPRET_CAST( TText8*, b ),
       
   641         sizeOfArray,
       
   642         sizeOfArray );
       
   643 
       
   644      Get( EReadViagHomeZoneParamsIPC, aStatus, ptr, ptr2 );
       
   645      }
       
   646 
       
   647 // ---------------------------------------------------------------------------
       
   648 // RMmCustomAPI::ReadViagHomeZoneCache
       
   649 // This function reads specified VIAG home zone cache synchronously.
       
   650 // (other items were commented in a header).
       
   651 // ---------------------------------------------------------------------------
       
   652 //
       
   653 EXPORT_C TInt RMmCustomAPI::ReadViagHomeZoneCache(
       
   654     TViagCacheRecordId& aId,
       
   655     TViagCacheRecordContent& aRecord ) const
       
   656     {
       
   657     TPtr8 ptr( REINTERPRET_CAST( TText8*, &aId ),
       
   658         sizeof( TViagCacheRecordId ), sizeof( TViagCacheRecordId ) );
       
   659     TPtr8 ptr2( REINTERPRET_CAST( TText8*, &aRecord),
       
   660         sizeof( TViagCacheRecordContent ),
       
   661         sizeof( TViagCacheRecordContent ) );
       
   662 
       
   663     return Get( EReadViagHomeZoneCacheIPC, ptr, ptr2 );
       
   664     }
       
   665 
       
   666 // ---------------------------------------------------------------------------
       
   667 // RMmCustomAPI::ReadViagHomeZoneCache
       
   668 // This function reads specified VIAG home zone cache asynchronously.
       
   669 // (other items were commented in a header).
       
   670 // ---------------------------------------------------------------------------
       
   671 //
       
   672 EXPORT_C void RMmCustomAPI::ReadViagHomeZoneCache(
       
   673     TRequestStatus& aStatus,
       
   674     TViagCacheRecordId& aId,
       
   675     TViagCacheRecordContent& aRecord )
       
   676     {
       
   677     __ASSERT_ALWAYS( iCustomPtrHolder != NULL, PanicClient(
       
   678         EEtelPanicNullHandle ) );
       
   679 
       
   680     TPtr8& ptr = iCustomPtrHolder->Set( ESlotReadViagCacheId, aId );
       
   681     TPtr8& ptr2 = iCustomPtrHolder->Set( ESlotReadViagCacheRecord, aRecord );
       
   682 
       
   683     Get( EReadViagHomeZoneCacheIPC, aStatus, ptr, ptr2 );
       
   684     }
       
   685 
       
   686 // ---------------------------------------------------------------------------
       
   687 // RMmCustomAPI::WriteViagHomeZoneCache
       
   688 // This function writes specified VIAG home zone cache synchronously
       
   689 // (other items were commented in a header).
       
   690 // ---------------------------------------------------------------------------
       
   691 //
       
   692 EXPORT_C TInt RMmCustomAPI::WriteViagHomeZoneCache(
       
   693     const TViagCacheRecordId& aId,
       
   694     const TViagCacheRecordContent& aRecord ) const
       
   695     {
       
   696     TPtr8 ptr( REINTERPRET_CAST( TText8*, CONST_CAST(
       
   697         TViagCacheRecordId*, &aId ) ), sizeof( TViagCacheRecordId ),
       
   698         sizeof( TViagCacheRecordId ) );
       
   699 
       
   700     TPtr8 ptr2( REINTERPRET_CAST( TText8*, CONST_CAST(
       
   701         TViagCacheRecordContent*, &aRecord ) ),
       
   702         sizeof( TViagCacheRecordContent ),
       
   703         sizeof( TViagCacheRecordContent ) );
       
   704 
       
   705     return Set( EWriteViagHomeZoneCacheIPC, ptr, ptr2 );
       
   706     }
       
   707 
       
   708 // ---------------------------------------------------------------------------
       
   709 // RMmCustomAPI::WriteViagHomeZoneCache
       
   710 // This function writes specified VIAG home zone cache asynchronously
       
   711 // (other items were commented in a header).
       
   712 // ---------------------------------------------------------------------------
       
   713 //
       
   714 EXPORT_C void RMmCustomAPI::WriteViagHomeZoneCache(
       
   715     TRequestStatus& aStatus,
       
   716     const TViagCacheRecordId& aId,
       
   717     const TViagCacheRecordContent& aRecord )
       
   718     {
       
   719     __ASSERT_ALWAYS( iCustomPtrHolder != NULL, PanicClient(
       
   720         EEtelPanicNullHandle ) );
       
   721     iCustomPtrHolder->iViagCacheId = aId;
       
   722     iCustomPtrHolder->iViagCacheRecord = aRecord;
       
   723     TPtr8& ptr = iCustomPtrHolder->Set( ESlotWriteViagCacheId,
       
   724         iCustomPtrHolder->iViagCacheId );
       
   725     TPtr8& ptr2 = iCustomPtrHolder->Set( ESlotReadViagCacheRecord,
       
   726         iCustomPtrHolder->iViagCacheRecord );
       
   727     Set( EWriteViagHomeZoneCacheIPC, aStatus, ptr, ptr2 );
       
   728     }
       
   729 
       
   730 // ---------------------------------------------------------------------------
       
   731 // RMmCustomAPI::ClearCallBlackList
       
   732 // Clears asynchronously call blacklist.
       
   733 // (other items were commented in a header).
       
   734 // ---------------------------------------------------------------------------
       
   735 //
       
   736 EXPORT_C void RMmCustomAPI::ClearCallBlackList(
       
   737     TRequestStatus& aStatus )
       
   738     {
       
   739     __ASSERT_ALWAYS( iCustomPtrHolder != NULL, PanicClient(
       
   740         EEtelPanicNullHandle ) );
       
   741     Blank( ECustomClearCallBlackListIPC, aStatus );
       
   742     }
       
   743 
       
   744 // ---------------------------------------------------------------------------
       
   745 // RMmCustomAPI::ClearCallBlackList
       
   746 // Clears synchronously call blacklist.
       
   747 // (other items were commented in a header).
       
   748 // ---------------------------------------------------------------------------
       
   749 //
       
   750 EXPORT_C TInt RMmCustomAPI::ClearCallBlackList() const
       
   751     {
       
   752     __ASSERT_ALWAYS( iCustomPtrHolder != NULL, PanicClient(
       
   753         EEtelPanicNullHandle ) );
       
   754 
       
   755     return Blank( ECustomClearCallBlackListIPC );
       
   756     }
       
   757 
       
   758 // ---------------------------------------------------------------------------
       
   759 // RMmCustomAPI::SsAdditionalInfoNotification
       
   760 // Notification request for additionalinfo message
       
   761 // (other items were commented in a header).
       
   762 // ---------------------------------------------------------------------------
       
   763 //
       
   764 EXPORT_C void RMmCustomAPI::SsAdditionalInfoNotification(
       
   765     TRequestStatus& aStatus,
       
   766     TSsAdditionalInfo& aSsAdditionalInfo )
       
   767     {
       
   768     __ASSERT_ALWAYS( iCustomPtrHolder != NULL,
       
   769         PanicClient( EEtelPanicNullHandle ) );
       
   770     TPtr8& ptr = iCustomPtrHolder->Set( ESlotNotifySsAdditionalInfo,
       
   771         aSsAdditionalInfo );
       
   772     Get( ECustomSsAdditionalInfoNotificationIPC, aStatus, ptr );
       
   773     }
       
   774 
       
   775 // ---------------------------------------------------------------------------
       
   776 // RMmCustomAPI::SsRequestCompleteNotification
       
   777 // Notify a client of the success of the sended SS command.
       
   778 // (other items were commented in a header).
       
   779 // ---------------------------------------------------------------------------
       
   780 //
       
   781 EXPORT_C void RMmCustomAPI::SsRequestCompleteNotification(
       
   782         TRequestStatus& aStatus,
       
   783         TInt& aSsStatus )
       
   784     {
       
   785     __ASSERT_ALWAYS( iCustomPtrHolder != NULL,
       
   786         PanicClient( EEtelPanicNullHandle ) );
       
   787     TPtr8& ptr = iCustomPtrHolder->Set( ESlotNotifySsRequestComplete,
       
   788         aSsStatus );
       
   789     Get( ECustomNotifySsRequestCompleteIPC, aStatus, ptr );
       
   790     }
       
   791 
       
   792 // ---------------------------------------------------------------------------
       
   793 // RMmCustomAPI::IsBlocked
       
   794 // This method retrieves syncronously the information if the
       
   795 // security code is blocked or not.
       
   796 // (other items were commented in a header).
       
   797 // ---------------------------------------------------------------------------
       
   798 //
       
   799 EXPORT_C TInt RMmCustomAPI::IsBlocked(
       
   800     TSecurityCodeType& aType,
       
   801     TBool& aIsBlocked )
       
   802     {
       
   803     TPtr8 ptr( REINTERPRET_CAST( TText8*, &aType ),
       
   804         sizeof( TSecurityCodeType ), sizeof( TSecurityCodeType ) );
       
   805     TPtr8 ptr2( REINTERPRET_CAST( TText8*, &aIsBlocked ),
       
   806         sizeof( TBool ), sizeof( TBool ) );
       
   807 
       
   808     return Get( ECustomIsBlockedIPC, ptr, ptr2 );
       
   809     }
       
   810 
       
   811 // ---------------------------------------------------------------------------
       
   812 // RMmCustomAPI::CheckSecurityCode
       
   813 // This method activates syncronously the security code request and
       
   814 // triggers the security server to prompt PIN-code from client.
       
   815 // (other items were commented in a header).
       
   816 // ---------------------------------------------------------------------------
       
   817 //
       
   818 EXPORT_C TInt RMmCustomAPI::CheckSecurityCode(
       
   819     const TSecurityCodeType aCode )
       
   820     {
       
   821     TPtr8 ptr( REINTERPRET_CAST( TText8*, CONST_CAST(
       
   822         TSecurityCodeType*, &aCode ) ), sizeof( TSecurityCodeType ),
       
   823         sizeof( TSecurityCodeType ) );
       
   824 
       
   825     return Get( ECustomCheckSecurityCodeIPC, ptr );
       
   826     }
       
   827 
       
   828 // ---------------------------------------------------------------------------
       
   829 // RMmCustomAPI::CheckSecurityCode
       
   830 // This method activates asyncronously the security code request and
       
   831 // triggers the security server to prompt PIN-code from client.
       
   832 // (other items were commented in a header).
       
   833 // ---------------------------------------------------------------------------
       
   834 //
       
   835 EXPORT_C void RMmCustomAPI::CheckSecurityCode(
       
   836     TRequestStatus& aStatus,
       
   837     const TSecurityCodeType aCode )
       
   838     {
       
   839     __ASSERT_ALWAYS ( iCustomPtrHolder != NULL, PanicClient(
       
   840         EEtelPanicNullHandle ) );
       
   841     iCustomPtrHolder->iSecurityCodeType = aCode;
       
   842     TPtr8& ptr = iCustomPtrHolder->Set( ESlotCheckSecurityCode,
       
   843         iCustomPtrHolder->iSecurityCodeType );
       
   844     Get( ECustomCheckSecurityCodeIPC, aStatus, ptr );
       
   845     }
       
   846 
       
   847 // ---------------------------------------------------------------------------
       
   848 // RMmCustomAPI::GetActivePin
       
   849 // This method retrieves syncronously the information whether the currently
       
   850 // active PIN is PIN1 or Universal PIN (UPIN).
       
   851 // (other items were commented in a header).
       
   852 // ---------------------------------------------------------------------------
       
   853 //
       
   854 EXPORT_C void RMmCustomAPI::GetActivePin(
       
   855     RMobilePhone::TMobilePhoneSecurityCode& aActivePin )
       
   856     {
       
   857     TPtr8 ptr( REINTERPRET_CAST( TText8*, &aActivePin ),
       
   858         sizeof( RMobilePhone::TMobilePhoneSecurityCode ),
       
   859         sizeof( RMobilePhone::TMobilePhoneSecurityCode ) );
       
   860 
       
   861     Get( ECustomGetActivePinIPC, ptr );
       
   862     }
       
   863 
       
   864 // ---------------------------------------------------------------------------
       
   865 // RMmCustomAPI::GetAirTimeDuration
       
   866 // This method gets the air time duration. The air time
       
   867 // calculation starts when a first call is connected and ends when last call
       
   868 // is disconnected. If no calls are active, this method will return the value
       
   869 // of the last air time duration.
       
   870 // (other items were commented in a header).
       
   871 // ---------------------------------------------------------------------------
       
   872 //
       
   873 EXPORT_C TInt RMmCustomAPI::GetAirTimeDuration(
       
   874     TTimeIntervalSeconds& aTime ) const
       
   875     {
       
   876     TPtr8 ptr( REINTERPRET_CAST( TText8*, &aTime ),
       
   877         sizeof( TTimeIntervalSeconds ), sizeof( TTimeIntervalSeconds ) );
       
   878 
       
   879     return Get( ECustomGetAirTimeDurationIPC, ptr );
       
   880     }
       
   881 
       
   882 // ---------------------------------------------------------------------------
       
   883 // RMmCustomAPI::GetNetworkProviderName
       
   884 // This function gets network provider name synchronously
       
   885 // (other items were commented in a header).
       
   886 // ---------------------------------------------------------------------------
       
   887 //
       
   888 EXPORT_C TInt RMmCustomAPI::GetNetworkProviderName(
       
   889     TDes& aNetworkProviderName ) const
       
   890     {
       
   891     return Get( ECustomGetNetworkProviderNameIPC, aNetworkProviderName );
       
   892     }
       
   893 
       
   894 // ---------------------------------------------------------------------------
       
   895 // RMmCustomAPI::GetNetworkProviderName
       
   896 // This function gets network provider name asynchronously
       
   897 // (other items were commented in a header).
       
   898 // ---------------------------------------------------------------------------
       
   899 //
       
   900 EXPORT_C void RMmCustomAPI::GetNetworkProviderName(
       
   901     TRequestStatus& aStatus,
       
   902     TDes& aNetworkProviderName )
       
   903     {
       
   904     Get( ECustomGetNetworkProviderNameIPC, aStatus, aNetworkProviderName );
       
   905     }
       
   906 
       
   907 // ---------------------------------------------------------------------------
       
   908 // RMmCustomAPI::CheckEmergencyNumber
       
   909 // This function checks if given is emergency number with given mode and
       
   910 // returns the result synchronously
       
   911 // (other items were commented in a header).
       
   912 // ---------------------------------------------------------------------------
       
   913 //
       
   914 EXPORT_C TInt RMmCustomAPI::CheckEmergencyNumber(
       
   915     TEmerNumberCheckMode& aNumMode,
       
   916     TBool& aResult ) const
       
   917     {
       
   918     TPtr8 ptr( REINTERPRET_CAST( TText8*, &aNumMode ),
       
   919         sizeof( TEmerNumberCheckMode ), sizeof( TEmerNumberCheckMode ) );
       
   920 
       
   921     TPtr8 ptr2( REINTERPRET_CAST( TText8*, &aResult ),
       
   922         sizeof( TBool ), sizeof( TBool ) );
       
   923 
       
   924     return Get( ECustomCheckEmergencyNumberIPC, ptr, ptr2 );
       
   925     }
       
   926 
       
   927 // ---------------------------------------------------------------------------
       
   928 // RMmCustomAPI::CheckEmergencyNumber
       
   929 // This function checks if given is emergency number with given mode and
       
   930 // returns the result asynchronously
       
   931 // (other items were commented in a header).
       
   932 // ---------------------------------------------------------------------------
       
   933 //
       
   934 EXPORT_C void RMmCustomAPI::CheckEmergencyNumber(
       
   935     TRequestStatus& aStatus,
       
   936     TEmerNumberCheckMode& aNumMode,
       
   937     TBool& aResult )
       
   938     {
       
   939     __ASSERT_ALWAYS( iCustomPtrHolder != NULL,
       
   940         PanicClient( EEtelPanicNullHandle ) );
       
   941 
       
   942     TPtr8& ptr = iCustomPtrHolder->Set( ESlotCheckEmergencyNumberNumMode,
       
   943         aNumMode );
       
   944     TPtr8& ptr2 = iCustomPtrHolder->Set( ESlotCheckEmergencyNumberResult,
       
   945         aResult );
       
   946 
       
   947     Get( ECustomCheckEmergencyNumberIPC, aStatus, ptr, ptr2 );
       
   948     }
       
   949 
       
   950 // ---------------------------------------------------------------------------
       
   951 // RMmCustomAPI::NotifyPndCacheReady
       
   952 // Notifies client when phonebook caching is ready
       
   953 // (other items were commented in a header).
       
   954 // ---------------------------------------------------------------------------
       
   955 //
       
   956 EXPORT_C void RMmCustomAPI::NotifyPndCacheReady(
       
   957     TRequestStatus& aStatus,
       
   958     TName& aPndName )
       
   959     {
       
   960     __ASSERT_ALWAYS( iCustomPtrHolder != NULL, PanicClient(
       
   961         EEtelPanicNullHandle ) );
       
   962 
       
   963     TPtr8& ptr = iCustomPtrHolder->Set( ESlotNotifyPndCacheReady, aPndName );
       
   964 
       
   965     Get( ECustomNotifyPndCacheReadyIPC, aStatus, ptr );
       
   966     }
       
   967 
       
   968 // ---------------------------------------------------------------------------
       
   969 // RMmCustomAPI::GetPndCacheStatus
       
   970 // This function gets current status of caching
       
   971 // (other items were commented in a header).
       
   972 // ---------------------------------------------------------------------------
       
   973 //
       
   974 EXPORT_C void RMmCustomAPI::GetPndCacheStatus(
       
   975     TRequestStatus& aStatus,
       
   976     RMmCustomAPI::TPndCacheStatus& aPndStatus,
       
   977     const TName& aPndName ) const
       
   978     {
       
   979     __ASSERT_ALWAYS( iCustomPtrHolder != NULL, PanicClient(
       
   980         EEtelPanicNullHandle ) );
       
   981 
       
   982     TPtr8& ptr1 = iCustomPtrHolder->Set( ESlotGetPndCacheStatus, aPndStatus );
       
   983 
       
   984     SetAndGet( ECustomGetPndCacheStatusIPC, aStatus, ptr1, aPndName );
       
   985     }
       
   986 
       
   987 // ---------------------------------------------------------------------------
       
   988 // RMmCustomAPI::GetOperatorName
       
   989 // This function gets asynchronously the operator name of the
       
   990 // current Network.
       
   991 // (other items were commented in a header).
       
   992 // ---------------------------------------------------------------------------
       
   993 //
       
   994 EXPORT_C void RMmCustomAPI::GetOperatorName(
       
   995     TRequestStatus& aStatus,
       
   996     TOperatorNameInfo& aOperatorNameInfo )
       
   997     {
       
   998     __ASSERT_ALWAYS( iCustomPtrHolder != NULL,
       
   999         PanicClient( EEtelPanicNullHandle ) );
       
  1000 
       
  1001     TPtr8& ptr1 = iCustomPtrHolder->Set( ESlotGetOperatorName,
       
  1002         aOperatorNameInfo );
       
  1003 
       
  1004     Get( ECustomGetOperatorNameIPC, aStatus, ptr1 );
       
  1005     }
       
  1006 
       
  1007 // ---------------------------------------------------------------------------
       
  1008 // RMmCustomAPI::GetProgrammableOperatorLogo
       
  1009 // This function gets asynchronously the programmable operator logo and
       
  1010 // operator Id of the current Network.
       
  1011 // (other items were commented in a header).
       
  1012 //
       
  1013 //	This API is no longer supported!
       
  1014 // ---------------------------------------------------------------------------
       
  1015 //
       
  1016 EXPORT_C void RMmCustomAPI::GetProgrammableOperatorLogo(
       
  1017     TRequestStatus& aStatus,
       
  1018     TOperatorId& aOperatorId,
       
  1019     TOperatorLogo& aLogo )
       
  1020     {
       
  1021     __ASSERT_ALWAYS( iCustomPtrHolder != NULL,
       
  1022         PanicClient( EEtelPanicNullHandle ) );
       
  1023 
       
  1024     TPtr8& ptr = iCustomPtrHolder->Set( ESlotGetProgrammableOperatorId,
       
  1025         aOperatorId );
       
  1026 
       
  1027     TPtr8& ptr2 = iCustomPtrHolder->Set( ESlotGetProgrammableOperatorLogo,
       
  1028         aLogo );
       
  1029 
       
  1030     Get( ECustomGetProgrammableOperatorLogoIPC, aStatus, ptr, ptr2 );
       
  1031     }
       
  1032 
       
  1033 // ---------------------------------------------------------------------------
       
  1034 // RMmCustomAPI::NotifyProgrammableOperatorLogoChange
       
  1035 // This function notifies the programmable operator logo change
       
  1036 // (other items were commented in a header).
       
  1037 // ---------------------------------------------------------------------------
       
  1038 //
       
  1039 EXPORT_C void RMmCustomAPI::NotifyProgrammableOperatorLogoChange(
       
  1040     TRequestStatus& aStatus,
       
  1041     TOperatorId& aOperatorId )
       
  1042     {
       
  1043     __ASSERT_ALWAYS( iCustomPtrHolder != NULL, PanicClient(
       
  1044         EEtelPanicNullHandle ) );
       
  1045 
       
  1046     TPtr8& ptr = iCustomPtrHolder->Set( ESlotNotifyProgrammableOperatorId,
       
  1047         aOperatorId );
       
  1048 
       
  1049     Get( ECustomNotifyProgrammableOperatorLogoChangeIPC, aStatus, ptr );
       
  1050     }
       
  1051 
       
  1052 // ---------------------------------------------------------------------------
       
  1053 // RMmCustomAPI::NotifySsNetworkEvent
       
  1054 // This function notifies the client about different network generated
       
  1055 // SS events
       
  1056 // (other items were commented in a header).
       
  1057 // ---------------------------------------------------------------------------
       
  1058 //
       
  1059 EXPORT_C void RMmCustomAPI::NotifySsNetworkEvent(
       
  1060     TRequestStatus& aStatus,
       
  1061     TSsTypeAndMode& aSsTypeAndMode,
       
  1062     TSsInfo& aSsInfo )
       
  1063     {
       
  1064     __ASSERT_ALWAYS( iCustomPtrHolder != NULL, PanicClient(
       
  1065         EEtelPanicNullHandle ) );
       
  1066 
       
  1067     TPtr8& ptr = iCustomPtrHolder->Set( ESlotSsNotifyTypeAndMode,
       
  1068         aSsTypeAndMode );
       
  1069     TPtr8& ptr2 = iCustomPtrHolder->Set( ESlotSsNotifyInfo, aSsInfo );
       
  1070 
       
  1071     Get( ECustomNotifySsNetworkEventIPC, aStatus, ptr, ptr2 );
       
  1072     }
       
  1073 
       
  1074 // ---------------------------------------------------------------------------
       
  1075 // RMmCustomAPI::CancelUssdSession
       
  1076 // This function cancel active ussd session synchronously
       
  1077 // (other items were commented in a header).
       
  1078 // ---------------------------------------------------------------------------
       
  1079 //
       
  1080 EXPORT_C TInt RMmCustomAPI::CancelUssdSession() const
       
  1081     {
       
  1082     return Blank( ECustomCancelUssdSessionIPC );
       
  1083     }
       
  1084 
       
  1085 // ---------------------------------------------------------------------------
       
  1086 // RMmCustomAPI::CancelUssdSession
       
  1087 // This function cancel active ussd session asynchronously
       
  1088 // (other items were commented in a header).
       
  1089 // ---------------------------------------------------------------------------
       
  1090 //
       
  1091 EXPORT_C void RMmCustomAPI::CancelUssdSession(
       
  1092     TRequestStatus& aStatus )
       
  1093     {
       
  1094     Blank( ECustomCancelUssdSessionIPC, aStatus );
       
  1095     }
       
  1096 
       
  1097 // ---------------------------------------------------------------------------
       
  1098 // RMmCustomAPI::SatRefreshCompleteNotification
       
  1099 // This function notifies a client of SAT refresh
       
  1100 // (other items were commented in a header).
       
  1101 // ---------------------------------------------------------------------------
       
  1102 //
       
  1103 EXPORT_C void RMmCustomAPI::SatRefreshCompleteNotification(
       
  1104     TRequestStatus& aStatus )
       
  1105     {
       
  1106     Blank( ECustomSatRefreshCompleteNotificationIPC, aStatus );
       
  1107     }
       
  1108 
       
  1109 // ---------------------------------------------------------------------------
       
  1110 // RMmCustomAPI::TCustomCallParams::TCustomCallParams
       
  1111 // This method is the constructor of class TCustomCallParams.
       
  1112 // (other items were commented in a header).
       
  1113 // ---------------------------------------------------------------------------
       
  1114 //
       
  1115 EXPORT_C RMmCustomAPI::TCustomCallParams::TCustomCallParams()
       
  1116     {
       
  1117     iExtensionId = KETelCustomExtCustomCallParamsV3;
       
  1118     iSubAddress.Zero();
       
  1119     iBearer.Zero();
       
  1120     }
       
  1121 
       
  1122 // ---------------------------------------------------------------------------
       
  1123 // RMmCustomAPI::CheckTwoDigitDialSupport
       
  1124 // This function checks two digit dialing support state synchronously.
       
  1125 // (other items were commented in a header).
       
  1126 // ---------------------------------------------------------------------------
       
  1127 //
       
  1128 EXPORT_C TInt RMmCustomAPI::CheckTwoDigitDialSupport(
       
  1129     TTwoDigitDialSupport& aSupport ) const
       
  1130     {
       
  1131     TPtr8 ptr( REINTERPRET_CAST( TText8*, &aSupport ),
       
  1132         sizeof( TTwoDigitDialSupport ), sizeof( TTwoDigitDialSupport ) );
       
  1133 
       
  1134     return Get( ECustomCheckTwoDigitDialSupportIPC, ptr );
       
  1135     }
       
  1136 
       
  1137 // ---------------------------------------------------------------------------
       
  1138 // RMmCustomAPI::CheckTwoDigitDialSupport
       
  1139 // This function checks two digit dialing support state asynchronously.
       
  1140 // (other items were commented in a header).
       
  1141 // ---------------------------------------------------------------------------
       
  1142 //
       
  1143 EXPORT_C void RMmCustomAPI::CheckTwoDigitDialSupport(
       
  1144     TRequestStatus& aStatus,
       
  1145     TTwoDigitDialSupport& aSupport )
       
  1146     {
       
  1147     __ASSERT_ALWAYS( iCustomPtrHolder != NULL,
       
  1148         PanicClient( EEtelPanicNullHandle ) );
       
  1149 
       
  1150     TPtr8& ptr = iCustomPtrHolder->Set( ESlotCheckTwoDigitDialSupport,
       
  1151         aSupport );
       
  1152     Get( ECustomCheckTwoDigitDialSupportIPC, aStatus, ptr );
       
  1153     }
       
  1154 
       
  1155 // ---------------------------------------------------------------------------
       
  1156 // RMmCustomAPI::ResetNetServer
       
  1157 // This function resets the net server
       
  1158 // (other items were commented in a header).
       
  1159 // ---------------------------------------------------------------------------
       
  1160 //
       
  1161 EXPORT_C void RMmCustomAPI::ResetNetServer() const
       
  1162     {
       
  1163     Blank ( ECustomResetNetServerIPC );
       
  1164     }
       
  1165 
       
  1166 // ---------------------------------------------------------------------------
       
  1167 // RMmCustomAPI::ResetNetServer
       
  1168 // This function resets the net server asynchronously.
       
  1169 // (other items were commented in a header).
       
  1170 // ---------------------------------------------------------------------------
       
  1171 //
       
  1172 EXPORT_C void RMmCustomAPI::ResetNetServer(
       
  1173     TRequestStatus& aStatus )
       
  1174     {
       
  1175     Blank ( ECustomResetNetServerIPC, aStatus );
       
  1176     }
       
  1177 
       
  1178 // ---------------------------------------------------------------------------
       
  1179 // RMmCustomAPI::ReleaseFile
       
  1180 // This function releases file in CommDB.
       
  1181 // (other items were commented in a header).
       
  1182 // ---------------------------------------------------------------------------
       
  1183 //
       
  1184 EXPORT_C void RMmCustomAPI::ReleaseFile(
       
  1185     TRequestStatus& aStatus,
       
  1186     const TDesC& aFileName )
       
  1187     {
       
  1188     Set( ECustomReleaseFileIPC, aStatus, aFileName );
       
  1189     }
       
  1190 
       
  1191 // ---------------------------------------------------------------------------
       
  1192 // RMmCustomAPI::RestartFile
       
  1193 // This function restarts the file in CommDB.
       
  1194 // (other items were commented in a header).
       
  1195 // ---------------------------------------------------------------------------
       
  1196 //
       
  1197 EXPORT_C void RMmCustomAPI::RestartFile(
       
  1198     TRequestStatus& aStatus,
       
  1199     const TDesC& aFileName )
       
  1200     {
       
  1201     Set( ECustomRestartFileIPC, aStatus, aFileName );
       
  1202     }
       
  1203 
       
  1204 // ---------------------------------------------------------------------------
       
  1205 // RMmCustomAPI::StartSimCbTopicBrowsing
       
  1206 // This function gets the Cell Broadcast message ID's from SIM
       
  1207 // (other items were commented in a header).
       
  1208 // ---------------------------------------------------------------------------
       
  1209 //
       
  1210 EXPORT_C TInt RMmCustomAPI::StartSimCbTopicBrowsing()
       
  1211     {
       
  1212     return Blank( ECustomStartSimCbTopicBrowsingIPC );
       
  1213     }
       
  1214 
       
  1215 // ---------------------------------------------------------------------------
       
  1216 // RMmCustomAPI::GetNextSimCbTopic
       
  1217 // This function gets next Cell Broadcast Id.
       
  1218 // (other items were commented in a header).
       
  1219 // ---------------------------------------------------------------------------
       
  1220 //
       
  1221 EXPORT_C TInt RMmCustomAPI::GetNextSimCbTopic(
       
  1222     TSimCbTopic& aSimCbTopic )
       
  1223     {
       
  1224     TPtr8 ptr( REINTERPRET_CAST ( TText8*, &aSimCbTopic ),
       
  1225         sizeof( TSimCbTopic ),sizeof( TSimCbTopic ) );
       
  1226 
       
  1227     return Get( ECustomGetNextSimCbTopicIPC, ptr );
       
  1228     }
       
  1229 
       
  1230 // ---------------------------------------------------------------------------
       
  1231 // RMmCustomAPI::GetNextSimCbTopic
       
  1232 // This function gets next Cell Broadcast Id.
       
  1233 // (other items were commented in a header).
       
  1234 // ---------------------------------------------------------------------------
       
  1235 //
       
  1236 EXPORT_C void RMmCustomAPI::GetNextSimCbTopic(
       
  1237     TRequestStatus& aStatus,
       
  1238     TSimCbTopic& aSimCbTopic )
       
  1239     {
       
  1240     __ASSERT_ALWAYS( iCustomPtrHolder != NULL, PanicClient(
       
  1241         EEtelPanicNullHandle ) );
       
  1242     iCustomPtrHolder->iSimCbTopic = aSimCbTopic;
       
  1243     TPtr8& ptr = iCustomPtrHolder->Set(
       
  1244         ESlotGetNextSimCbTopic, aSimCbTopic );
       
  1245     Get( ECustomGetNextSimCbTopicIPC, aStatus, ptr );
       
  1246     }
       
  1247 
       
  1248 // ---------------------------------------------------------------------------
       
  1249 // RMmCustomAPI::DeleteSimCbTopic
       
  1250 // This function deletes a Cell Broadcast Id from SIM
       
  1251 // (other items were commented in a header).
       
  1252 // ---------------------------------------------------------------------------
       
  1253 //
       
  1254 EXPORT_C TInt RMmCustomAPI::DeleteSimCbTopic(
       
  1255     const TUint &aSimCbTopicNumber)
       
  1256     {
       
  1257     TPtr8 ptr(REINTERPRET_CAST( TText8*,CONST_CAST(
       
  1258         TUint*,&aSimCbTopicNumber ) ), sizeof( TUint ),sizeof( TUint ) );
       
  1259 
       
  1260     return Set( ECustomDeleteSimCbTopicIPC, ptr );
       
  1261     }
       
  1262 
       
  1263 // ---------------------------------------------------------------------------
       
  1264 //  RMmCustomAPI::DeleteSimCbTopic
       
  1265 //  This function deletes a Cell Broadcast Id from SIM
       
  1266 // (other items were commented in a header).
       
  1267 // ---------------------------------------------------------------------------
       
  1268 //
       
  1269 EXPORT_C void RMmCustomAPI::DeleteSimCbTopic(
       
  1270     TRequestStatus& aStatus,
       
  1271     const TUint &aSimCbTopicNumber )
       
  1272     {
       
  1273     __ASSERT_ALWAYS( iCustomPtrHolder != NULL,
       
  1274         PanicClient( EEtelPanicNullHandle ) );
       
  1275     iCustomPtrHolder->iSimCbTopicNumber = aSimCbTopicNumber;
       
  1276     TPtr8& ptr = iCustomPtrHolder->Set( ESlotDeleteSimCbTopic,
       
  1277         iCustomPtrHolder->iSimCbTopicNumber );
       
  1278     Set( ECustomDeleteSimCbTopicIPC, aStatus, ptr );
       
  1279     }
       
  1280 
       
  1281 // ---------------------------------------------------------------------------
       
  1282 // RMmCustomAPI::NotifyNetworkConnectionFailure
       
  1283 // Notifies of a network connection failure. This failure is so sever that
       
  1284 // the only way to recover is to restart the phone.
       
  1285 // (other items were commented in a header).
       
  1286 // ---------------------------------------------------------------------------
       
  1287 //
       
  1288 EXPORT_C void RMmCustomAPI::NotifyNetworkConnectionFailure(
       
  1289     TRequestStatus& aStatus )
       
  1290     {
       
  1291     Blank ( ECustomNotifyNetworkConnectionFailureIPC, aStatus );
       
  1292     }
       
  1293 
       
  1294 // ---------------------------------------------------------------------------
       
  1295 // RMmCustomAPI::SendAPDUReq
       
  1296 // This method transmits APDU requests message asyncronously to Etel Server.
       
  1297 // (other items were commented in a header).
       
  1298 // ---------------------------------------------------------------------------
       
  1299 //
       
  1300 EXPORT_C void RMmCustomAPI::SendAPDUReq(
       
  1301     TRequestStatus& aStatus,
       
  1302     TApdu& anAPDUReq )
       
  1303     {
       
  1304     __ASSERT_ALWAYS( iCustomPtrHolder != NULL, PanicClient(
       
  1305         EEtelPanicNullHandle ) );
       
  1306     Get( ECustomSendAPDUReqIPC, aStatus, *( anAPDUReq.iInfo ),
       
  1307         *( anAPDUReq.iData ) );
       
  1308     }
       
  1309 
       
  1310 // ---------------------------------------------------------------------------
       
  1311 // RMmCustomAPI::SendAPDUReq
       
  1312 // This method transmits APDU requests message syncronously to Etel Server.
       
  1313 // (other items were commented in a header).
       
  1314 // ---------------------------------------------------------------------------
       
  1315 //
       
  1316 EXPORT_C TInt RMmCustomAPI::SendAPDUReq(
       
  1317     TApdu& anAPDUReq )
       
  1318     {
       
  1319     __ASSERT_ALWAYS( iCustomPtrHolder != NULL, PanicClient(
       
  1320         EEtelPanicNullHandle ) );
       
  1321 
       
  1322     return Get( ECustomSendAPDUReqIPC, *( anAPDUReq.iInfo ), *(
       
  1323         anAPDUReq.iData ) );
       
  1324     }
       
  1325 
       
  1326 // ---------------------------------------------------------------------------
       
  1327 // RMmCustomApiExt::DisablePhoneLock
       
  1328 // Disable phone lock with password supplied in aVerifyCode.
       
  1329 // (other items were commented in a header).
       
  1330 // ---------------------------------------------------------------------------
       
  1331 //
       
  1332 EXPORT_C void RMmCustomAPI::DisablePhoneLock(
       
  1333     TRequestStatus& aStatus,
       
  1334     RMobilePhone::TMobilePassword& aVerifyCode ) const
       
  1335     {
       
  1336     __ASSERT_ALWAYS( iCustomPtrHolder != NULL, PanicClient(
       
  1337         EEtelPanicNullHandle ) );
       
  1338 
       
  1339     TPtr8& ptr1 = iCustomPtrHolder->Set( ESlotDisablePhoneLock, aVerifyCode );
       
  1340 
       
  1341     Set( ECustomDisablePhoneLockIPC, aStatus, ptr1 );
       
  1342     }
       
  1343 
       
  1344 // ---------------------------------------------------------------------------
       
  1345 // RMmCustomAPI::NotifyEGprsInfoChange
       
  1346 // This method informs upper levels about EGPRS.
       
  1347 // (other items were commented in a header).
       
  1348 // ---------------------------------------------------------------------------
       
  1349 //
       
  1350 EXPORT_C void RMmCustomAPI::NotifyEGprsInfoChange(
       
  1351     TRequestStatus& aStatus,
       
  1352     TDes8& aGprsInfo ) const
       
  1353     {
       
  1354     Get( ECustomNotifyEGprsInfoChange, aStatus, aGprsInfo );
       
  1355     }
       
  1356 
       
  1357 // ---------------------------------------------------------------------------
       
  1358 // RMmCustomAPI::GetEGprsInfo
       
  1359 // This method gets information about EGPRS.
       
  1360 // (other items were commented in a header).
       
  1361 // ---------------------------------------------------------------------------
       
  1362 //
       
  1363 EXPORT_C void RMmCustomAPI::GetEGprsInfo(
       
  1364     TRequestStatus& aStatus,
       
  1365     TDes8& aGprsInfo ) const
       
  1366     {
       
  1367     Get( ECustomGetEGprsInfo, aStatus, aGprsInfo );
       
  1368     }
       
  1369 
       
  1370 // ---------------------------------------------------------------------------
       
  1371 // RMmCustomAPI::TGprsInformation
       
  1372 // This is Constructor of class TGprsInformation.
       
  1373 // (other items were commented in a header).
       
  1374 // ---------------------------------------------------------------------------
       
  1375 //
       
  1376 EXPORT_C RMmCustomAPI::TGprsInformation::TGprsInformation()
       
  1377     {
       
  1378     iGprsInfo = EGprs;
       
  1379     }
       
  1380 
       
  1381 // ---------------------------------------------------------------------------
       
  1382 // RMmCustomApiExt::ReadSimFile
       
  1383 // Reads information from the SIM file specified in aSimFileInfo
       
  1384 // (other items were commented in a header).
       
  1385 // ---------------------------------------------------------------------------
       
  1386 //
       
  1387 EXPORT_C void RMmCustomAPI::ReadSimFile (
       
  1388     TRequestStatus& aStatus,
       
  1389     TDes8& aSimFileInfo,
       
  1390     TDes8& aResponseBytes ) const
       
  1391     {
       
  1392     __ASSERT_ALWAYS( iCustomPtrHolder != NULL, PanicClient(
       
  1393         EEtelPanicNullHandle ) );
       
  1394 
       
  1395     Get( ECustomReadSimFileIPC, aStatus, aSimFileInfo, aResponseBytes );
       
  1396     }
       
  1397 
       
  1398 // ---------------------------------------------------------------------------
       
  1399 // RMmCustomAPI::TSimFileInfo TSimFileInfo
       
  1400 // Default constructor for TSimFileInfo
       
  1401 // (other items were commented in a header).
       
  1402 // ---------------------------------------------------------------------------
       
  1403 //
       
  1404 EXPORT_C RMmCustomAPI::TSimFileInfo::TSimFileInfo()
       
  1405     {
       
  1406     iPath.Zero();
       
  1407     iOffSet = 0;
       
  1408     iSize = 0;
       
  1409     }
       
  1410 
       
  1411 // ---------------------------------------------------------------------------
       
  1412 // RMmCustomApiExt::TLifeTimeData::TLifeTimeData
       
  1413 // Default constructor for TLifeTimeData
       
  1414 // (other items were commented in a header).
       
  1415 // ---------------------------------------------------------------------------
       
  1416 //
       
  1417 EXPORT_C RMmCustomAPI::TLifeTimeData::TLifeTimeData()
       
  1418     {
       
  1419     iCaps = ELifeTimeDataCapsUnknown;
       
  1420     iHours = 0;
       
  1421     iMinutes = 0;
       
  1422     iManufacturingDate.Set( 0, EJanuary, 0, 0, 0, 0, 0 );
       
  1423     }
       
  1424 
       
  1425 // ---------------------------------------------------------------------------
       
  1426 // RMmCustomApiExt::GetLifeTime
       
  1427 // Get Life time information synchronously
       
  1428 // (other items were commented in a header).
       
  1429 // ---------------------------------------------------------------------------
       
  1430 //
       
  1431 EXPORT_C TInt RMmCustomAPI::GetLifeTime(
       
  1432     TDes8& aLifeTimeInfo ) const
       
  1433     {
       
  1434     return Get( ECustomGetLifeTimeIPC, aLifeTimeInfo );
       
  1435     }
       
  1436 
       
  1437 // ---------------------------------------------------------------------------
       
  1438 // RMmCustomApiExt::GetLifeTime
       
  1439 // Get Life time information asynchronously
       
  1440 // (other items were commented in a header).
       
  1441 // ---------------------------------------------------------------------------
       
  1442 //
       
  1443 EXPORT_C void RMmCustomAPI::GetLifeTime(
       
  1444     TRequestStatus& aStatus,
       
  1445     TDes8& aLifeTimeInfo ) const
       
  1446     {
       
  1447     __ASSERT_ALWAYS( iCustomPtrHolder != NULL, PanicClient(
       
  1448         EEtelPanicNullHandle ) );
       
  1449 
       
  1450     Get( ECustomGetLifeTimeIPC, aStatus, aLifeTimeInfo );
       
  1451     }
       
  1452 
       
  1453 // ---------------------------------------------------------------------------
       
  1454 // RMmCustomAPI::GetNextSimCbTopic
       
  1455 // This function gets next Cell Broadcast Id.
       
  1456 // (other items were commented in a header).
       
  1457 // ---------------------------------------------------------------------------
       
  1458 //
       
  1459 EXPORT_C void RMmCustomAPI::Get3GPBInfo(
       
  1460     TRequestStatus& aStatus,
       
  1461     T3GPBInfo& aInfo ) const
       
  1462     {
       
  1463     __ASSERT_ALWAYS( iCustomPtrHolder != NULL,
       
  1464         PanicClient( EEtelPanicNullHandle ) );
       
  1465     TPtr8& ptr = iCustomPtrHolder->Set( ESlotGet3GPBInfo, aInfo );
       
  1466     Get( EGet3GPBInfoIPC, aStatus, ptr );
       
  1467     }
       
  1468 
       
  1469 // ---------------------------------------------------------------------------
       
  1470 // RMmCustomAPI::GetSystemNetworkModes
       
  1471 // This method reads all network system modes synchronously.
       
  1472 // (other items were commented in a header).
       
  1473 // ---------------------------------------------------------------------------
       
  1474 //
       
  1475 EXPORT_C TInt RMmCustomAPI::GetSystemNetworkModes(
       
  1476     TUint32& aSupportedNetworkModes ) const
       
  1477     {
       
  1478     TPtr8 ptr(REINTERPRET_CAST( TText8*, CONST_CAST(
       
  1479     TUint32*, &aSupportedNetworkModes ) ), sizeof( TUint32 ),
       
  1480         sizeof( TUint32 ) );
       
  1481 
       
  1482     return Get( ECustomGetSystemNetworkModesIPC, ptr );
       
  1483     }
       
  1484 
       
  1485 // ---------------------------------------------------------------------------
       
  1486 // RMmCustomAPI::GetSystemNetworkModes
       
  1487 // This method reads all network system modes asynchronously.
       
  1488 // (other items were commented in a header).
       
  1489 // ---------------------------------------------------------------------------
       
  1490 //
       
  1491 EXPORT_C void RMmCustomAPI::GetSystemNetworkModes(
       
  1492     TRequestStatus& aStatus,
       
  1493     TUint32& aSupportedNetworkModes ) const
       
  1494     {
       
  1495     __ASSERT_ALWAYS( iCustomPtrHolder != NULL, PanicClient(
       
  1496         EEtelPanicNullHandle ) );
       
  1497     iCustomPtrHolder->iSupportedNetworkModes = aSupportedNetworkModes;
       
  1498     TPtr8& ptr = iCustomPtrHolder->Set(
       
  1499         ESlotGetSystemNetworkModes, aSupportedNetworkModes );
       
  1500     Get( ECustomGetSystemNetworkModesIPC, aStatus, ptr );
       
  1501     }
       
  1502 
       
  1503 // ---------------------------------------------------------------------------
       
  1504 // RMmCustomAPI::SetSystemNetworkMode
       
  1505 // This method sets network system mode synchronously.
       
  1506 // (other items were commented in a header).
       
  1507 // ---------------------------------------------------------------------------
       
  1508 //
       
  1509 EXPORT_C TInt RMmCustomAPI::SetSystemNetworkMode(
       
  1510     const TNetworkModeCaps aNetworkMode )
       
  1511     {
       
  1512     TPtr8 ptr( REINTERPRET_CAST( TText8*, CONST_CAST(
       
  1513     TNetworkModeCaps*, &aNetworkMode ) ),
       
  1514         sizeof( TNetworkModeCaps ), sizeof( TNetworkModeCaps ) );
       
  1515 
       
  1516     return Set( ECustomSetSystemNetworkModeIPC, ptr );
       
  1517     }
       
  1518 
       
  1519 // ---------------------------------------------------------------------------
       
  1520 // RMmCustomAPI::SetSystemNetworkMode
       
  1521 // This method sets network system mode asynchronously.
       
  1522 // (other items were commented in a header).
       
  1523 // ---------------------------------------------------------------------------
       
  1524 //
       
  1525 EXPORT_C void RMmCustomAPI::SetSystemNetworkMode(
       
  1526     TRequestStatus& aStatus,
       
  1527     const TNetworkModeCaps aNetworkMode )
       
  1528     {
       
  1529     __ASSERT_ALWAYS( iCustomPtrHolder != NULL, PanicClient(
       
  1530         EEtelPanicNullHandle ) );
       
  1531     iCustomPtrHolder->iNetworkModeCaps = aNetworkMode;
       
  1532     TPtr8& ptr = iCustomPtrHolder->Set(
       
  1533         ESlotSetSystemNetworkMode, iCustomPtrHolder->iNetworkModeCaps );
       
  1534     Set( ECustomSetSystemNetworkModeIPC, aStatus, ptr );
       
  1535     }
       
  1536 
       
  1537 // ---------------------------------------------------------------------------
       
  1538 // RMmCustomAPI::GetCurrentSystemNetworkModes
       
  1539 // This method reads current network system modes synchronously.
       
  1540 // (other items were commented in a header).
       
  1541 // ---------------------------------------------------------------------------
       
  1542 //
       
  1543 EXPORT_C TInt RMmCustomAPI::GetCurrentSystemNetworkModes(
       
  1544     TUint32& aCurrentNetworkModes ) const
       
  1545     {
       
  1546     TPtr8 ptr(REINTERPRET_CAST( TText8*, CONST_CAST(
       
  1547     TUint32*,&aCurrentNetworkModes ) ), sizeof( TUint32 ),sizeof( TUint32 ) );
       
  1548 
       
  1549     return Get( ECustomGetCurrentSystemNetworkModesIPC, ptr );
       
  1550     }
       
  1551 
       
  1552 // ---------------------------------------------------------------------------
       
  1553 // RMmCustomAPI::GetCurrentSystemNetworkModes
       
  1554 // This method reads current network system modes asynchronously.
       
  1555 // (other items were commented in a header).
       
  1556 // ---------------------------------------------------------------------------
       
  1557 //
       
  1558 EXPORT_C void RMmCustomAPI::GetCurrentSystemNetworkModes(
       
  1559     TRequestStatus& aStatus,
       
  1560     TUint32& aCurrentNetworkModes ) const
       
  1561     {
       
  1562     __ASSERT_ALWAYS( iCustomPtrHolder != NULL, PanicClient(
       
  1563         EEtelPanicNullHandle ) );
       
  1564     iCustomPtrHolder->iCurrentNetworkModes = aCurrentNetworkModes;
       
  1565 
       
  1566     TPtr8& ptr = iCustomPtrHolder->Set(
       
  1567         ESlotGetCurrentSystemNetworkModes, aCurrentNetworkModes );
       
  1568     Get( ECustomGetCurrentSystemNetworkModesIPC, aStatus, ptr );
       
  1569     }
       
  1570 
       
  1571 // ---------------------------------------------------------------------------
       
  1572 // RMmCustomAPI::PowerSimOn
       
  1573 // Send Power SIM On Request to APDU server
       
  1574 // (other items were commented in a header).
       
  1575 // ---------------------------------------------------------------------------
       
  1576 //
       
  1577 EXPORT_C void RMmCustomAPI::PowerSimOn(
       
  1578     TRequestStatus& aStatus )
       
  1579     {
       
  1580     Blank( ECustomPowerSimOnIPC, aStatus );
       
  1581     }
       
  1582 
       
  1583 // ---------------------------------------------------------------------------
       
  1584 // RMmCustomAPI::PowerSimOff
       
  1585 // Send Power SIM Off Request to APDU server
       
  1586 // (other items were commented in a header).
       
  1587 // ---------------------------------------------------------------------------
       
  1588 //
       
  1589 EXPORT_C void RMmCustomAPI::PowerSimOff(
       
  1590     TRequestStatus& aStatus )
       
  1591     {
       
  1592     Blank( ECustomPowerSimOffIPC, aStatus );
       
  1593     }
       
  1594 
       
  1595 // ---------------------------------------------------------------------------
       
  1596 // RMmCustomAPI::SimWarmReset
       
  1597 // Send Sim Warm Reset Request to APDU server
       
  1598 // (other items were commented in a header).
       
  1599 // ---------------------------------------------------------------------------
       
  1600 //
       
  1601 EXPORT_C void RMmCustomAPI::SimWarmReset(
       
  1602     TRequestStatus& aStatus )
       
  1603     {
       
  1604     Blank( ECustomSimWarmResetIPC, aStatus );
       
  1605     }
       
  1606 
       
  1607 // ---------------------------------------------------------------------------
       
  1608 // RMmCustomAPI::GetATR
       
  1609 // Get ATR from APDU server
       
  1610 // (other items were commented in a header).
       
  1611 // ---------------------------------------------------------------------------
       
  1612 //
       
  1613 EXPORT_C void RMmCustomAPI::GetATR(
       
  1614     TRequestStatus& aStatus, TDes8& aATR )
       
  1615     {
       
  1616     __ASSERT_ALWAYS( iCustomPtrHolder != NULL,
       
  1617         PanicClient( EEtelPanicNullHandle ) );
       
  1618     Get( ECustomGetATRIPC, aStatus, aATR );
       
  1619     }
       
  1620 
       
  1621 // ---------------------------------------------------------------------------
       
  1622 // RMmCustomAPI::GetSimCardReaderStatus
       
  1623 // Get card reader status from APDU server asynchronously
       
  1624 // (other items were commented in a header).
       
  1625 // ---------------------------------------------------------------------------
       
  1626 //
       
  1627 EXPORT_C void RMmCustomAPI::GetSimCardReaderStatus(
       
  1628     TRequestStatus& aStatus,
       
  1629     TSimCardReaderStatus& aCardReaderStatus )
       
  1630     {
       
  1631     __ASSERT_ALWAYS( iCustomPtrHolder != NULL,
       
  1632         PanicClient( EEtelPanicNullHandle ) );
       
  1633 
       
  1634     TPtr8& ptr = iCustomPtrHolder->Set( ESlotGetSimCardReaderStatus,
       
  1635         aCardReaderStatus );
       
  1636     Get( ECustomGetSimCardReaderStatusIPC, aStatus, ptr );
       
  1637     }
       
  1638 
       
  1639 // ---------------------------------------------------------------------------
       
  1640 // RMmCustomAPI::NotifySimCardStatus
       
  1641 // Notifies a client of physical status change of SIM
       
  1642 // (other items were commented in a header).
       
  1643 // ---------------------------------------------------------------------------
       
  1644 //
       
  1645 EXPORT_C void RMmCustomAPI::NotifySimCardStatus(
       
  1646     TRequestStatus& aStatus,
       
  1647     TSIMCardStatus& aCardStatus )
       
  1648     {
       
  1649     __ASSERT_ALWAYS( iCustomPtrHolder != NULL,
       
  1650         PanicClient( EEtelPanicNullHandle ) );
       
  1651     TPtr8& ptr = iCustomPtrHolder->Set( ESlotNotifySimCardStatus,
       
  1652         aCardStatus );
       
  1653     Get( ECustomNotifySimCardStatusIPC, aStatus, ptr );
       
  1654     }
       
  1655 
       
  1656 // ---------------------------------------------------------------------------
       
  1657 // RMmCustomAPI::TSimCardReaderStatus::GetCardReaderID
       
  1658 // Get card reader ID
       
  1659 // (other items were commented in a header).
       
  1660 // ---------------------------------------------------------------------------
       
  1661 //
       
  1662 EXPORT_C TUint8 RMmCustomAPI::TSimCardReaderStatus::GetCardReaderID()
       
  1663     {
       
  1664     // ReaderStatus byte (see /6/ GSM 11.14 section 12.33)
       
  1665     // Bits
       
  1666     // 1-3  Identity of card reader
       
  1667     // 4    0=Card reader is not removable
       
  1668     //      1=Card reader is removable
       
  1669     // 5    0=Card reader is not present
       
  1670     //      1=Card reader is present
       
  1671     // 6    0=Card reader present is not ID-1 size
       
  1672     //      1=Card reader present is ID-1 size
       
  1673     // 7    0=No card present
       
  1674     //      1=Card is present in reader
       
  1675     // 8    0=No card powered
       
  1676     //      1=Card in reader is powered
       
  1677 
       
  1678     return ( TUint8 )( iSimCardReaderStatus & 0x07 );
       
  1679     }
       
  1680 
       
  1681 // ---------------------------------------------------------------------------
       
  1682 // RMmCustomAPI::TSimCardReaderStatus::IsCardReaderRemovable
       
  1683 // Is card reader removable
       
  1684 // (other items were commented in a header).
       
  1685 // ---------------------------------------------------------------------------
       
  1686 //
       
  1687 EXPORT_C TBool RMmCustomAPI::TSimCardReaderStatus::IsCardReaderRemovable()
       
  1688     {
       
  1689     // ReaderStatus byte (see /6/ GSM 11.14 section 12.33)
       
  1690     // Bits
       
  1691     // 1-3  Identity of card reader
       
  1692     // 4    0=Card reader is not removable
       
  1693     //      1=Card reader is removable
       
  1694     // 5    0=Card reader is not present
       
  1695     //      1=Card reader is present
       
  1696     // 6    0=Card reader present is not ID-1 size
       
  1697     //      1=Card reader present is ID-1 size
       
  1698     // 7    0=No card present
       
  1699     //      1=Card is present in reader
       
  1700     // 8    0=No card powered
       
  1701     //      1=Card in reader is powered
       
  1702 
       
  1703     return ( iSimCardReaderStatus >> 3 ) & 0x01;
       
  1704     }
       
  1705 
       
  1706 // ---------------------------------------------------------------------------
       
  1707 // RMmCustomAPI::TSimCardReaderStatus::IsCardReaderPresent
       
  1708 // Is card reader present
       
  1709 // (other items were commented in a header).
       
  1710 // ---------------------------------------------------------------------------
       
  1711 //
       
  1712 EXPORT_C TBool RMmCustomAPI::TSimCardReaderStatus::IsCardReaderPresent()
       
  1713     {
       
  1714     // ReaderStatus byte (see /6/ GSM 11.14 section 12.33)
       
  1715     // Bits
       
  1716     // 1-3  Identity of card reader
       
  1717     // 4    0=Card reader is not removable
       
  1718     //      1=Card reader is removable
       
  1719     // 5    0=Card reader is not present
       
  1720     //      1=Card reader is present
       
  1721     // 6    0=Card reader present is not ID-1 size
       
  1722     //      1=Card reader present is ID-1 size
       
  1723     // 7    0=No card present
       
  1724     //      1=Card is present in reader
       
  1725     // 8    0=No card powered
       
  1726     //      1=Card in reader is powered
       
  1727 
       
  1728     return ( iSimCardReaderStatus  >> 4 ) & 0x01;
       
  1729     }
       
  1730 
       
  1731 // ---------------------------------------------------------------------------
       
  1732 // RMmCustomAPI::TSimCardReaderStatus::IsCardPowered
       
  1733 // Is card powered
       
  1734 // (other items were commented in a header).
       
  1735 // ---------------------------------------------------------------------------
       
  1736 //
       
  1737 EXPORT_C TBool RMmCustomAPI::TSimCardReaderStatus::IsCardPowered()
       
  1738     {
       
  1739     // ReaderStatus byte (see /6/ GSM 11.14 section 12.33)
       
  1740     // Bits
       
  1741     // 1-3  Identity of card reader
       
  1742     // 4    0=Card reader is not removable
       
  1743     //      1=Card reader is removable
       
  1744     // 5    0=Card reader is not present
       
  1745     //      1=Card reader is present
       
  1746     // 6    0=Card reader present is not ID-1 size
       
  1747     //      1=Card reader present is ID-1 size
       
  1748     // 7    0=No card present
       
  1749     //      1=Card is present in reader
       
  1750     // 8    0=No card powered
       
  1751     //      1=Card in reader is powered
       
  1752 
       
  1753     return ( iSimCardReaderStatus  >> 6 ) & 0x01;
       
  1754     }
       
  1755 
       
  1756 // ---------------------------------------------------------------------------
       
  1757 // RMmCustomAPI::TSimCardReaderStatus::IsCardPresent
       
  1758 // Is card present
       
  1759 // (other items were commented in a header).
       
  1760 // ---------------------------------------------------------------------------
       
  1761 //
       
  1762 EXPORT_C TBool RMmCustomAPI::TSimCardReaderStatus::IsCardPresent()
       
  1763     {
       
  1764     // ReaderStatus byte (see /6/ GSM 11.14 section 12.33)
       
  1765     // Bits
       
  1766     // 1-3  Identity of card reader
       
  1767     // 4    0=Card reader is not removable
       
  1768     //      1=Card reader is removable
       
  1769     // 5    0=Card reader is not present
       
  1770     //      1=Card reader is present
       
  1771     // 6    0=Card reader present is not ID-1 size
       
  1772     //      1=Card reader present is ID-1 size
       
  1773     // 7    0=No card present
       
  1774     //      1=Card is present in reader
       
  1775     // 8    0=No card powered
       
  1776     //      1=Card in reader is powered
       
  1777 
       
  1778     return ( iSimCardReaderStatus >> 7 ) & 0x01;
       
  1779     }
       
  1780 
       
  1781 // ---------------------------------------------------------------------------
       
  1782 // RMmCustomAPI::TSimCardReaderStatus::SetStatus
       
  1783 // Set card status
       
  1784 // (other items were commented in a header).
       
  1785 // ---------------------------------------------------------------------------
       
  1786 //
       
  1787 EXPORT_C void RMmCustomAPI::TSimCardReaderStatus::SetStatus(
       
  1788     TUint8 newStatus )
       
  1789     {
       
  1790     iSimCardReaderStatus = newStatus;
       
  1791     }
       
  1792 
       
  1793 // ---------------------------------------------------------------------------
       
  1794 // RMmCustomAPI::TSimCardReaderStatus::GetStatus
       
  1795 // Get card status
       
  1796 // (other items were commented in a header).
       
  1797 // ---------------------------------------------------------------------------
       
  1798 //
       
  1799 EXPORT_C TUint8 RMmCustomAPI::TSimCardReaderStatus::GetStatus()
       
  1800     {
       
  1801     return iSimCardReaderStatus;
       
  1802     }
       
  1803 
       
  1804 // ---------------------------------------------------------------------------
       
  1805 // RMmCustomAPI::SendAPDUReq
       
  1806 // Send APDU to APDU server asynchronously
       
  1807 // (other items were commented in a header).
       
  1808 // ---------------------------------------------------------------------------
       
  1809 //
       
  1810 EXPORT_C void RMmCustomAPI::SendAPDUReq(
       
  1811     TRequestStatus& aStatus,
       
  1812     TApduParameters& aParams )
       
  1813     {
       
  1814     __ASSERT_ALWAYS( iCustomPtrHolder != NULL,
       
  1815         PanicClient( EEtelPanicNullHandle ) );
       
  1816 
       
  1817     TPtr8& ptr = iCustomPtrHolder->Set( ESlotSendAPDUReqV2Status, aParams );
       
  1818     Get( ECustomSendAPDUReqV2IPC, aStatus, ptr );
       
  1819     }
       
  1820 
       
  1821 // ---------------------------------------------------------------------------
       
  1822 // RMmCustomApi::TSimAuthenticationEapSim
       
  1823 // TSimAuthenticationEapSim constructor
       
  1824 // (other items were commented in a header).
       
  1825 // ---------------------------------------------------------------------------
       
  1826 //
       
  1827 EXPORT_C RMmCustomAPI::TSimAuthenticationEapSim::TSimAuthenticationEapSim()
       
  1828     {
       
  1829     iRandomParameters.Zero();
       
  1830     iSRES.Zero();
       
  1831     iKC.Zero();
       
  1832 
       
  1833     iExtensionId = EEapSim;
       
  1834     }
       
  1835 
       
  1836 // ---------------------------------------------------------------------------
       
  1837 // RMmCustomApi::TSimAuthenticationEapAka
       
  1838 // TSimAuthenticationEapAka constructor
       
  1839 // (other items were commented in a header).
       
  1840 // ---------------------------------------------------------------------------
       
  1841 //
       
  1842 EXPORT_C RMmCustomAPI::TSimAuthenticationEapAka::TSimAuthenticationEapAka()
       
  1843     {
       
  1844     iRandomParameters.Zero();
       
  1845     iAUTN.Zero();
       
  1846     iRES.Zero();
       
  1847     iCK.Zero();
       
  1848     iIK.Zero();
       
  1849     iAUTS.Zero();
       
  1850 
       
  1851     iExtensionId = EEapAka;
       
  1852     }
       
  1853 
       
  1854 // ---------------------------------------------------------------------------
       
  1855 // RMmCustomApi::TSimAuthenticationGbaBootstrap
       
  1856 // TSimAuthenticationGbaBootstrap constructor
       
  1857 // (other items were commented in a header).
       
  1858 // ---------------------------------------------------------------------------
       
  1859 //
       
  1860 EXPORT_C 
       
  1861     RMmCustomAPI::TSimAuthenticationGbaBootstrap::
       
  1862         TSimAuthenticationGbaBootstrap()
       
  1863     {
       
  1864     iExtensionId = EGbaBootstrap;
       
  1865     iRandomParameters.Zero();
       
  1866     iAUTN.Zero();
       
  1867     iRES.Zero();
       
  1868     iAUTS.Zero();
       
  1869     }
       
  1870 
       
  1871 // ---------------------------------------------------------------------------
       
  1872 // RMmCustomApi::TSimAuthenticationGbaBootstrapUpdate
       
  1873 // TSimAuthenticationGbaBootstrapUpdate constructor
       
  1874 // (other items were commented in a header).
       
  1875 // ---------------------------------------------------------------------------
       
  1876 //
       
  1877 EXPORT_C 
       
  1878     RMmCustomAPI::TSimAuthenticationGbaBootstrapUpdate::
       
  1879         TSimAuthenticationGbaBootstrapUpdate()
       
  1880     {
       
  1881     iExtensionId = EGbaBootstrapUpdate;
       
  1882     iRandomParameters.Zero();
       
  1883     iBTid.Zero();
       
  1884     iKeyLifeTime.Zero();
       
  1885     }
       
  1886 
       
  1887 // ---------------------------------------------------------------------------
       
  1888 // RMmCustomApi::TSimAuthenticationGbaNafDerivation
       
  1889 // TSimAuthenticationGbaNafDerivation constructor
       
  1890 // (other items were commented in a header).
       
  1891 // ---------------------------------------------------------------------------
       
  1892 //
       
  1893 EXPORT_C 
       
  1894     RMmCustomAPI::TSimAuthenticationGbaNafDerivation::
       
  1895         TSimAuthenticationGbaNafDerivation()
       
  1896     {
       
  1897     iExtensionId =  EGbaBootstrapNafDerivation;
       
  1898     iNafId.Zero();
       
  1899     iImpi.Zero();
       
  1900     iKsExtNaf.Zero();
       
  1901     }
       
  1902 
       
  1903 // ---------------------------------------------------------------------------
       
  1904 // RMmCustomApi::TSimAuthenticationMgvMskUpdate
       
  1905 // TSimAuthenticationMgvMskUpdate constructor
       
  1906 // (other items were commented in a header).
       
  1907 // ---------------------------------------------------------------------------
       
  1908 //
       
  1909 EXPORT_C 
       
  1910     RMmCustomAPI::TSimAuthenticationMgvMskUpdate::
       
  1911         TSimAuthenticationMgvMskUpdate()
       
  1912     {
       
  1913     iExtensionId = EMgvMskUpdate;
       
  1914     iMikey.Zero();
       
  1915     // Smartcard support for MobileTV
       
  1916     iBCASTManagement.Zero();
       
  1917     iParentalRating.Zero();
       
  1918     iSecurityPolicyExt.Zero();
       
  1919     }
       
  1920 
       
  1921 // ---------------------------------------------------------------------------
       
  1922 // RMmCustomApi::TSimAuthenticationMgvMskGeneration
       
  1923 // TSimAuthenticationMgvMskGeneration constructor
       
  1924 // (other items were commented in a header).
       
  1925 // ---------------------------------------------------------------------------
       
  1926 //
       
  1927 EXPORT_C 
       
  1928     RMmCustomAPI::TSimAuthenticationMgvMtkGeneration::
       
  1929         TSimAuthenticationMgvMtkGeneration()
       
  1930     {
       
  1931     iExtensionId = EMgvMtkGeneration;
       
  1932     iMikey.Zero();
       
  1933     iMtkSalt.Zero();
       
  1934     // Smartcard support for MobileTV
       
  1935     iBCASTManagement.Zero();
       
  1936     iParentalControl.Zero();
       
  1937     iTrafficEncryptionKey.Zero();
       
  1938     }
       
  1939 
       
  1940 // ---------------------------------------------------------------------------
       
  1941 // RMmCustomApi::TSimAuthenticationMgvMskDeletion
       
  1942 // TSimAuthenticationMgvMskDeletion constructor
       
  1943 // (other items were commented in a header).
       
  1944 // ---------------------------------------------------------------------------
       
  1945 //
       
  1946 EXPORT_C 
       
  1947     RMmCustomAPI::TSimAuthenticationMgvMskDeletion::
       
  1948         TSimAuthenticationMgvMskDeletion()
       
  1949     {
       
  1950     iExtensionId = EMgvMskDeletion;
       
  1951     iKeyDomainId.Zero();
       
  1952     iKeyGroupIdPart.Zero();
       
  1953     }   
       
  1954 
       
  1955 // ---------------------------------------------------------------------------
       
  1956 // RMmCustomApi::GetWlanSimAuthenticationData
       
  1957 // Gets WLAN authentication data for EAP SIM or EAP AKA authentication
       
  1958 // (other items were commented in a header).
       
  1959 // ---------------------------------------------------------------------------
       
  1960 //
       
  1961 EXPORT_C void RMmCustomAPI::GetWlanSimAuthenticationData(
       
  1962     TRequestStatus& aReqStatus,
       
  1963     TDes8& aAuthenticationData ) const
       
  1964     {
       
  1965     __ASSERT_ALWAYS ( iCustomPtrHolder != NULL, PanicClient(
       
  1966         EEtelPanicNullHandle ) );
       
  1967 
       
  1968     Get( ECustomGetSimAuthenticationDataIPC, aReqStatus,
       
  1969         aAuthenticationData );
       
  1970     }
       
  1971 
       
  1972 // ---------------------------------------------------------------------------
       
  1973 // RMmCustomAPI::SetSimMessageStatusRead
       
  1974 // Sets "storage status" byte of a SIM-stored SMS message to "read".
       
  1975 // (other items were commented in a header).
       
  1976 // ---------------------------------------------------------------------------
       
  1977 //
       
  1978 EXPORT_C void RMmCustomAPI::SetSimMessageStatusRead(
       
  1979     TTime& aTime,
       
  1980     TInt& aTimezoneDiff ) const
       
  1981     {
       
  1982     TPtr8 ptr1( REINTERPRET_CAST( TText8*, &aTime ),
       
  1983         sizeof( TTime ), sizeof( TTime ) );
       
  1984     TPtr8 ptr2( REINTERPRET_CAST( TText8*, &aTimezoneDiff ),
       
  1985         sizeof( TInt ), sizeof( TInt ) );
       
  1986     Set( ECustomSetSimMessageStatusReadIPC, ptr1, ptr2 );
       
  1987     }
       
  1988 
       
  1989 // ---------------------------------------------------------------------------
       
  1990 // RMmCustomAPI::WriteViagHomeZoneUHZIUESettings
       
  1991 // This method writes specified VIAG Home Zone UHZIUE settings synchronously.
       
  1992 // (other items were commented in a header).
       
  1993 // ---------------------------------------------------------------------------
       
  1994 //
       
  1995 EXPORT_C TInt RMmCustomAPI::WriteViagHomeZoneUHZIUESettings (
       
  1996     TViagUHZIUESettings& aSettings ) const
       
  1997     {
       
  1998     TPtr8 ptr( REINTERPRET_CAST( TText8*, CONST_CAST(
       
  1999         TViagUHZIUESettings*, &aSettings ) ), sizeof( TViagUHZIUESettings ),
       
  2000             sizeof( TViagUHZIUESettings ) );
       
  2001 
       
  2002     return Set( EWriteViagHomeZoneUHZIUESettingsIPC, ptr );
       
  2003     }
       
  2004 
       
  2005 // ---------------------------------------------------------------------------
       
  2006 // RMmCustomAPI::WriteViagHomeZoneUHZIUESettings
       
  2007 // This method writes specified VIAG Home Zone UHZIUE settings asynchronously.
       
  2008 // (other items were commented in a header).
       
  2009 // ---------------------------------------------------------------------------
       
  2010 //
       
  2011 EXPORT_C void RMmCustomAPI::WriteViagHomeZoneUHZIUESettings (
       
  2012     TRequestStatus& aStatus,
       
  2013     TViagUHZIUESettings& aSettings ) const
       
  2014     {
       
  2015     TPtr8& ptr = iCustomPtrHolder->Set(
       
  2016         ESlotWriteViagUHZIUESettings, aSettings );
       
  2017 
       
  2018     Set( EWriteViagHomeZoneUHZIUESettingsIPC, aStatus, ptr );
       
  2019     }
       
  2020 
       
  2021 //----------------------------------------------------------------------------
       
  2022 // RMmCustomAPI::SetAlwaysOn
       
  2023 // (other items were commented in a header).
       
  2024 //----------------------------------------------------------------------------
       
  2025 //
       
  2026 EXPORT_C void RMmCustomAPI::SetAlwaysOn(
       
  2027     TRequestStatus& aStatus,
       
  2028     TSetAlwaysOnMode& aMode ) const
       
  2029     {
       
  2030 
       
  2031     TPtr8& ptr = iCustomPtrHolder->Set(
       
  2032         ESlotSetAlwaysOn, aMode );
       
  2033 
       
  2034     Set( ECustomSetAlwaysOnMode, aStatus , ptr );
       
  2035     }
       
  2036 
       
  2037 //----------------------------------------------------------------------------
       
  2038 // RMmCustomAPI::NotifyRauEvent
       
  2039 // (other items were commented in a header).
       
  2040 //----------------------------------------------------------------------------
       
  2041 //
       
  2042 EXPORT_C void RMmCustomAPI::NotifyRauEvent(
       
  2043     TRequestStatus& aStatus,
       
  2044     TRauEventStatus& aEventStatus )
       
  2045     {
       
  2046     __ASSERT_ALWAYS( iCustomPtrHolder != NULL, PanicClient(
       
  2047         EEtelPanicNullHandle ) );
       
  2048     TPtr8& ptr = iCustomPtrHolder->Set( ESlotNotifyRauEvent, aEventStatus );
       
  2049     Get( ECustomNotifyRauEventIPC, aStatus, ptr );
       
  2050     }
       
  2051 
       
  2052 // ---------------------------------------------------------------------------
       
  2053 // RMmCustomAPI::ReadHSxPAStatus
       
  2054 // (other items were commented in a header).
       
  2055 // ---------------------------------------------------------------------------
       
  2056 //
       
  2057 EXPORT_C void RMmCustomAPI::ReadHSxPAStatus(
       
  2058     TRequestStatus& aStatus,
       
  2059     THSxPAStatus& aHSxPAStatus )
       
  2060     {
       
  2061     __ASSERT_ALWAYS ( iCustomPtrHolder != NULL, PanicClient(
       
  2062         EEtelPanicNullHandle ) );
       
  2063 
       
  2064     TPtr8& ptr = iCustomPtrHolder->Set( ESlotReadHSxPAStatus, aHSxPAStatus );
       
  2065     Get( ECustomReadHSxPAStatusIPC, aStatus, ptr );
       
  2066     }
       
  2067 
       
  2068 // ---------------------------------------------------------------------------
       
  2069 // RMmCustomAPI::WriteHSxPAStatus
       
  2070 // (other items were commented in a header).
       
  2071 // ---------------------------------------------------------------------------
       
  2072 //
       
  2073 EXPORT_C void RMmCustomAPI::WriteHSxPAStatus(
       
  2074     TRequestStatus& aStatus,
       
  2075     THSxPAStatus& aHSxPAStatus )
       
  2076     {
       
  2077     __ASSERT_ALWAYS( iCustomPtrHolder != NULL,
       
  2078         PanicClient( EEtelPanicNullHandle ) );
       
  2079 
       
  2080     iCustomPtrHolder->iHSxPAStatus = aHSxPAStatus;
       
  2081     TPtr8& ptr = iCustomPtrHolder->Set( ESlotWriteHSxPAStatus,
       
  2082         iCustomPtrHolder->iHSxPAStatus );
       
  2083     Set( ECustomWriteHSxPAStatusIPC, aStatus, ptr );
       
  2084     }
       
  2085 
       
  2086 // ---------------------------------------------------------------------------
       
  2087 // RMmCustomAPI::NotifyHSxPAStatus
       
  2088 // (other items were commented in a header).
       
  2089 // ---------------------------------------------------------------------------
       
  2090 //
       
  2091 EXPORT_C void RMmCustomAPI::NotifyHSxPAStatus(
       
  2092     TRequestStatus& aStatus,
       
  2093     THSxPAStatus& aHSxPAStatus )
       
  2094     {
       
  2095     __ASSERT_ALWAYS( iCustomPtrHolder != NULL, PanicClient(
       
  2096         EEtelPanicNullHandle ) );
       
  2097 
       
  2098     TPtr8& ptr = iCustomPtrHolder->Set( ESlotNotifyHSxPAStatus,
       
  2099         aHSxPAStatus );
       
  2100     Get( ECustomNotifyHSxPAStatusIPC, aStatus, ptr );
       
  2101     }
       
  2102 
       
  2103 // ---------------------------------------------------------------------------
       
  2104 // RMmCustomAPI::GetIccCallForwardingIndicatorStatus
       
  2105 // (other items were commented in a header).
       
  2106 // ---------------------------------------------------------------------------
       
  2107 //
       
  2108 EXPORT_C void RMmCustomAPI::GetIccCallForwardingIndicatorStatus(
       
  2109     TRequestStatus& aReqStatus,
       
  2110     TDes8& aCFIndicators ) const
       
  2111   {
       
  2112   __ASSERT_ALWAYS ( iCustomPtrHolder != NULL, PanicClient(
       
  2113       EEtelPanicNullHandle ) );
       
  2114 
       
  2115     Get( ECustomGetIccCallForwardingStatusIPC, aReqStatus, aCFIndicators );
       
  2116   }
       
  2117 
       
  2118 // ---------------------------------------------------------------------------
       
  2119 // RMmCustomAPI::NotifyIccCallForwardingStatusChange
       
  2120 // (other items were commented in a header).
       
  2121 // ---------------------------------------------------------------------------
       
  2122 //
       
  2123 EXPORT_C void RMmCustomAPI::NotifyIccCallForwardingStatusChange(
       
  2124     TRequestStatus& aReqStatus,
       
  2125     TDes8& aCFIndicators )
       
  2126   {
       
  2127   __ASSERT_ALWAYS ( iCustomPtrHolder != NULL, PanicClient(
       
  2128       EEtelPanicNullHandle ) );
       
  2129 
       
  2130     Get( ECustomNotifyIccCallForwardingStatusChangeIPC, aReqStatus,
       
  2131         aCFIndicators );
       
  2132   }
       
  2133 
       
  2134 // ---------------------------------------------------------------------------
       
  2135 // RMmCustomApi::TCFIndicators
       
  2136 // TCFIndicators constructor
       
  2137 // (other items were commented in a header).
       
  2138 // ---------------------------------------------------------------------------
       
  2139 //
       
  2140 EXPORT_C RMmCustomAPI::TCFIndicators::TCFIndicators()
       
  2141     {
       
  2142     }
       
  2143 
       
  2144 // ---------------------------------------------------------------------------
       
  2145 // RMmCustomAPI::GetCellInfo
       
  2146 // (other items were commented in a header).
       
  2147 // ---------------------------------------------------------------------------
       
  2148 //
       
  2149 EXPORT_C void RMmCustomAPI::GetCellInfo (
       
  2150     TRequestStatus& aStatus,
       
  2151     TDes8& aCellInfo ) const
       
  2152     {
       
  2153     __ASSERT_ALWAYS( iCustomPtrHolder != NULL, PanicClient(
       
  2154         EEtelPanicNullHandle ) );
       
  2155 
       
  2156     Get( ECustomGetCellInfoIPC, aStatus, aCellInfo );
       
  2157     }
       
  2158 
       
  2159 // ---------------------------------------------------------------------------
       
  2160 // RMmCustomAPI::NotifyCellInfoChange
       
  2161 // (other items were commented in a header).
       
  2162 // ---------------------------------------------------------------------------
       
  2163 //
       
  2164 EXPORT_C void RMmCustomAPI::NotifyCellInfoChange(
       
  2165     TRequestStatus& aStatus,
       
  2166     TDes8& aCellInfo ) const
       
  2167     {
       
  2168     __ASSERT_ALWAYS( iCustomPtrHolder != NULL, PanicClient(
       
  2169         EEtelPanicNullHandle ) );
       
  2170 
       
  2171     Get( ECustomNotifyCellInfoChangeIPC, aStatus, aCellInfo );
       
  2172     }
       
  2173 
       
  2174 // ---------------------------------------------------------------------------
       
  2175 // RMmCustomApi::TMmCellInfo::TMmCellInfo
       
  2176 // Default constructor for TMmCellInfo
       
  2177 // (other items were commented in a header).
       
  2178 // ---------------------------------------------------------------------------
       
  2179 //
       
  2180 EXPORT_C RMmCustomAPI::TMmCellInfo::TMmCellInfo()
       
  2181     {
       
  2182     // Initialize GsmCellInfo values
       
  2183     iMode = RMmCustomAPI::TMmCellInfo::EUnknown;
       
  2184     iGsmCellInfo.iTA = -1;
       
  2185     for( TInt i = 0; i <KMaxNmrAmount; i++ )
       
  2186         {
       
  2187         iGsmCellInfo.iNmr[i].iARFCN = -1;
       
  2188         iGsmCellInfo.iNmr[i].iBSIC = -1;
       
  2189         iGsmCellInfo.iNmr[i].iRxLEV = -1;
       
  2190         }
       
  2191 
       
  2192     // Initialize WcdmaCellInfo values
       
  2193     iWcdmaCellInfo.iFrequencyInfo.iFddUL = -1;
       
  2194     iWcdmaCellInfo.iFrequencyInfo.iFddDL = -1;
       
  2195     iWcdmaCellInfo.iFrequencyInfo.iTddNt = -1;
       
  2196     iWcdmaCellInfo.iPrimaryScrambilingCode = -1;
       
  2197 
       
  2198     for( TInt j = 0; j <KMaxNetworkMeasureReports; j++ )
       
  2199         {
       
  2200         //Initialize TNetworkMeasureReport values
       
  2201         iWcdmaCellInfo.iNwkMeasureReport[j].iCarrierRSSI = -1;
       
  2202         iWcdmaCellInfo.iNwkMeasureReport[j].iFrequencyInfo.iFddDL = -1;
       
  2203     	iWcdmaCellInfo.iNwkMeasureReport[j].iFrequencyInfo.iFddUL = -1;
       
  2204 		iWcdmaCellInfo.iNwkMeasureReport[j].iFrequencyInfo.iTddNt = -1;
       
  2205 
       
  2206         for( TInt k = 0; k <KMaxCellMeasuredResults; k++ )
       
  2207             {
       
  2208             iWcdmaCellInfo.iNwkMeasureReport[j].iCellMeasuredResult[k].
       
  2209                 iCID = -1;
       
  2210             iWcdmaCellInfo.iNwkMeasureReport[j].iCellMeasuredResult[k].
       
  2211                 iFddInfo.iPrimaryCPICH = -1;
       
  2212             iWcdmaCellInfo.iNwkMeasureReport[j].iCellMeasuredResult[k].
       
  2213                 iFddInfo.iCpichEcN0 = -1;
       
  2214             iWcdmaCellInfo.iNwkMeasureReport[j].iCellMeasuredResult[k].
       
  2215                 iFddInfo.iCpichRscp = -1;
       
  2216             iWcdmaCellInfo.iNwkMeasureReport[j].iCellMeasuredResult[k].
       
  2217                 iFddInfo.iPathloss = -1;
       
  2218 
       
  2219             iWcdmaCellInfo.iNwkMeasureReport[j].iCellMeasuredResult[k].
       
  2220                 iTddInfo.iCellParamID = -1;
       
  2221             iWcdmaCellInfo.iNwkMeasureReport[j].iCellMeasuredResult[k].
       
  2222                 iTddInfo.iProposedTGSN = -1;
       
  2223             iWcdmaCellInfo.iNwkMeasureReport[j].iCellMeasuredResult[k].
       
  2224                 iTddInfo.iPrimaryCcpchRscp = -1;
       
  2225             iWcdmaCellInfo.iNwkMeasureReport[j].iCellMeasuredResult[k].
       
  2226                 iTddInfo.iPathloss = -1;
       
  2227             for( TInt l = 0; l <KMaxTimeSlotIscpAmount; l++ )
       
  2228                 {
       
  2229                 iWcdmaCellInfo.iNwkMeasureReport[j].iCellMeasuredResult[k].
       
  2230                     iTddInfo.iTimeslotISCP[l] = -1;
       
  2231                 }
       
  2232             }
       
  2233         }
       
  2234     }
       
  2235     
       
  2236 // ---------------------------------------------------------------------------
       
  2237 // RMmCustomAPI::GetSystemNetworkBand
       
  2238 // This method reads network system band synchronously.
       
  2239 // (other items were commented in a header).
       
  2240 // ---------------------------------------------------------------------------
       
  2241 //
       
  2242 EXPORT_C TInt RMmCustomAPI::GetSystemNetworkBand(
       
  2243     TBandSelection& aSupportedNetworkBand,
       
  2244     TNetworkModeCaps& aNetworkMode ) const
       
  2245     {
       
  2246     TPtr8 ptr1(REINTERPRET_CAST( TText8*, CONST_CAST(
       
  2247     TBandSelection*, &aSupportedNetworkBand ) ), sizeof( TBandSelection ),
       
  2248         sizeof( TBandSelection ) );
       
  2249     TPtr8 ptr2(REINTERPRET_CAST( TText8*, CONST_CAST(
       
  2250     TNetworkModeCaps*, &aNetworkMode ) ), sizeof( TNetworkModeCaps ),
       
  2251         sizeof( TNetworkModeCaps ) );
       
  2252 
       
  2253     return Get( ECustomGetBandSelectionIPC, ptr1, ptr2 );
       
  2254     }
       
  2255 
       
  2256 // ---------------------------------------------------------------------------
       
  2257 // RMmCustomAPI::GetSystemNetworkBand
       
  2258 // This method reads network system band asynchronously.
       
  2259 // (other items were commented in a header).
       
  2260 // ---------------------------------------------------------------------------
       
  2261 //
       
  2262 EXPORT_C void RMmCustomAPI::GetSystemNetworkBand(
       
  2263     TRequestStatus& aStatus,
       
  2264     TBandSelection& aSupportedNetworkBand,
       
  2265     TNetworkModeCaps& aNetworkMode ) const
       
  2266     {
       
  2267     __ASSERT_ALWAYS( iCustomPtrHolder != NULL, PanicClient(
       
  2268         EEtelPanicNullHandle ) );
       
  2269     iCustomPtrHolder->iSupportedNetworkBand = aSupportedNetworkBand;
       
  2270     TPtr8& ptr1 = iCustomPtrHolder->Set(
       
  2271         ESlotGetSystemNetworkBand, aSupportedNetworkBand );
       
  2272     iCustomPtrHolder->iNetworkModeCaps = aNetworkMode;
       
  2273     TPtr8& ptr2 = iCustomPtrHolder->Set(
       
  2274         ESlotSetSystemNetworkMode, aNetworkMode );
       
  2275 
       
  2276     Get( ECustomGetBandSelectionIPC, aStatus, ptr1, ptr2 );
       
  2277     }
       
  2278 
       
  2279 // ---------------------------------------------------------------------------
       
  2280 // RMmCustomAPI::SetSystemNetworkBand
       
  2281 // This method sets network system band synchronously.
       
  2282 // (other items were commented in a header).
       
  2283 // ---------------------------------------------------------------------------
       
  2284 //
       
  2285 EXPORT_C TInt RMmCustomAPI::SetSystemNetworkBand(
       
  2286     const TBandSelection aNetworkBand,
       
  2287     const TNetworkModeCaps aNetworkMode )
       
  2288     {
       
  2289     TPtr8 ptr1( REINTERPRET_CAST( TText8*, CONST_CAST(
       
  2290     TBandSelection*, &aNetworkBand ) ),
       
  2291         sizeof( TBandSelection ), sizeof( TBandSelection ) );
       
  2292         
       
  2293     TPtr8 ptr2( REINTERPRET_CAST( TText8*, CONST_CAST(
       
  2294     TNetworkModeCaps*, &aNetworkMode ) ),
       
  2295         sizeof( TNetworkModeCaps ), sizeof( TNetworkModeCaps ) );
       
  2296 
       
  2297     return Set( ECustomSetBandSelectionIPC, ptr1, ptr2 );
       
  2298     }
       
  2299     
       
  2300 // ---------------------------------------------------------------------------
       
  2301 // RMmCustomAPI::SetSystemNetworkBand
       
  2302 // This method sets network system band asynchronously.
       
  2303 // (other items were commented in a header).
       
  2304 // ---------------------------------------------------------------------------
       
  2305 //
       
  2306 EXPORT_C void RMmCustomAPI::SetSystemNetworkBand(
       
  2307     TRequestStatus& aStatus,
       
  2308     const TBandSelection aNetworkBand,
       
  2309     const TNetworkModeCaps aNetworkMode )
       
  2310     {
       
  2311     __ASSERT_ALWAYS( iCustomPtrHolder != NULL, PanicClient(
       
  2312         EEtelPanicNullHandle ) );
       
  2313     iCustomPtrHolder->iNetworkBand = aNetworkBand;
       
  2314     TPtr8& ptr1 = iCustomPtrHolder->Set(
       
  2315         ESlotSetSystemNetworkBand, iCustomPtrHolder->iNetworkBand );
       
  2316         
       
  2317     iCustomPtrHolder->iNetworkModeCaps = aNetworkMode;
       
  2318     TPtr8& ptr2 = iCustomPtrHolder->Set(
       
  2319         ESlotSetSystemNetworkMode, iCustomPtrHolder->iNetworkModeCaps );
       
  2320        
       
  2321     Set( ECustomSetBandSelectionIPC, aStatus, ptr1, ptr2 );
       
  2322     }
       
  2323 
       
  2324 // ---------------------------------------------------------------------------
       
  2325 // RMmCustomAPI::GetUSIMServiceSupport
       
  2326 // (other items were commented in a header).
       
  2327 // ---------------------------------------------------------------------------
       
  2328 //
       
  2329 EXPORT_C void RMmCustomAPI::GetUSIMServiceSupport( 
       
  2330 	TRequestStatus& aStatus, 
       
  2331 	TAppSupport& aParams) const
       
  2332     {
       
  2333     __ASSERT_ALWAYS ( iCustomPtrHolder != NULL, PanicClient(
       
  2334         EEtelPanicNullHandle ) );
       
  2335 
       
  2336     TPtr8& ptr = iCustomPtrHolder->Set( ESlotGetUSIMServiceSupport, aParams );
       
  2337     Get( ECustomGetServiceTableSupportbyApplicationIPC, aStatus, ptr );
       
  2338 
       
  2339     }
       
  2340     
       
  2341 //----------------------------------------------------------------------------
       
  2342 // RMmCustomAPI::NotifyRemoteAlertingToneStatusChange
       
  2343 // (other items were commented in a header).
       
  2344 //----------------------------------------------------------------------------
       
  2345 //
       
  2346 EXPORT_C void RMmCustomAPI::NotifyRemoteAlertingToneStatusChange(
       
  2347     TRequestStatus& aStatus,
       
  2348     TRemoteAlertingToneStatus& aToneStatus )
       
  2349     {
       
  2350     __ASSERT_ALWAYS( iCustomPtrHolder != NULL, PanicClient(
       
  2351         EEtelPanicNullHandle ) );
       
  2352     TPtr8& ptr = iCustomPtrHolder->Set( 
       
  2353         ESlotNotifyRemoteAlertingToneStatusChange, aToneStatus );
       
  2354     Get( ECustomNotifyRemoteAlertingToneStatusChangeIPC, aStatus, ptr );
       
  2355     }
       
  2356 
       
  2357 //  End of File