Telephony/ctsydispatchlayer/exportinc/mltsydispatchsiminterface.h
changeset 21 ab1d0f4d2aa4
child 22 e3587ca0d5e1
equal deleted inserted replaced
20:4a8d14a1a8ca 21:ab1d0f4d2aa4
       
     1 // Copyright (c) 2008-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 // This file contains all the interfaces classes that can be implemented by
       
    15 // the Licensee LTSY relating to Sim related features.
       
    16 //
       
    17 
       
    18 
       
    19 
       
    20 
       
    21 /**
       
    22  @file
       
    23  @internalAll 
       
    24 */
       
    25 
       
    26 
       
    27 #ifndef MLTSYDISPATCHSIMINTERFACE_H_
       
    28 #define MLTSYDISPATCHSIMINTERFACE_H_
       
    29 
       
    30 #include <ctsy/ltsy/mltsydispatchinterface.h>
       
    31 #include <etelmm.h>
       
    32 #include <ctsy/rmmcustomapi.h>
       
    33 
       
    34 
       
    35 class MLtsyDispatchSimGetApnControlListServiceStatus : public MLtsyDispatchInterface
       
    36 	{
       
    37 public:
       
    38 
       
    39 	static const TInt KLtsyDispatchSimGetApnControlListServiceStatusApiId = KDispatchSimFuncUnitId + 1;
       
    40 
       
    41 	/**
       
    42 	 * The CTSY Dispatcher shall invoke this function on receiving the EMobilePhoneGetAPNControlListServiceStatus
       
    43 	 * request from the CTSY.
       
    44 	 *
       
    45 	 * It is a request call that is completed by invoking
       
    46 	 * CCtsyDispatcherCallback::CallbackSimGetApnControlListServiceStatusComp()
       
    47 	 *
       
    48 	 * Implementation of this interface should get the current Apn Control List Service status from the LTSY.
       
    49 	 *
       
    50 	 * @return KErrNone on success, otherwise another error code indicating the
       
    51 	 * failure.
       
    52 	 */
       
    53 	virtual TInt HandleGetApnControlListServiceStatusReqL() = 0;
       
    54 
       
    55 	}; // class MLtsyDispatchSimGetApnControlListServiceStatus
       
    56 
       
    57 
       
    58 
       
    59 class MLtsyDispatchSimDeleteApnName : public MLtsyDispatchInterface
       
    60 	{
       
    61 public:
       
    62 
       
    63 	static const TInt KLtsyDispatchSimDeleteApnNameApiId = KDispatchSimFuncUnitId + 2;
       
    64 
       
    65 	/**
       
    66 	 * The CTSY Dispatcher shall invoke this function on receiving the EMobilePhoneDeleteAPNName
       
    67 	 * request from the CTSY.
       
    68 	 *
       
    69 	 * It is a request call that is completed by invoking
       
    70 	 * CCtsyDispatcherCallback::CallbackSimDeleteApnNameComp()
       
    71 	 *
       
    72 	 * Implementation of this interface should delete the given entry from the APN control list.
       
    73 	 *
       
    74 	 * @param aIndex The index of the entry to delete.
       
    75 	 *
       
    76 	 * @return KErrNone on success, otherwise another error code indicating the
       
    77 	 * failure.
       
    78 	 */
       
    79 	virtual TInt HandleDeleteApnNameReqL(TUint32 aIndex) = 0;
       
    80 
       
    81 	}; // class MLtsyDispatchSimDeleteApnName
       
    82 
       
    83 
       
    84 
       
    85 class MLtsyDispatchSimEnumerateApnEntries : public MLtsyDispatchInterface
       
    86 	{
       
    87 public:
       
    88 
       
    89 	static const TInt KLtsyDispatchSimEnumerateApnEntriesApiId = KDispatchSimFuncUnitId + 3;
       
    90 
       
    91 	/**
       
    92 	 * The CTSY Dispatcher shall invoke this function on receiving the EMobilePhoneEnumerateAPNEntries
       
    93 	 * request from the CTSY.
       
    94 	 *
       
    95 	 * It is a request call that is completed by invoking
       
    96 	 * CCtsyDispatcherCallback::CallbackSimEnumerateApnEntriesComp()
       
    97 	 *
       
    98 	 * Implementation of this interface should enumerate the available APN names in the Access Control list.
       
    99 	 *
       
   100 	 * @return KErrNone on success, otherwise another error code indicating the
       
   101 	 * failure.
       
   102 	 */
       
   103 	virtual TInt HandleEnumerateApnEntriesReqL() = 0;
       
   104 
       
   105 	}; // class MLtsyDispatchSimEnumerateApnEntries
       
   106 
       
   107 
       
   108 
       
   109 class MLtsyDispatchSimChangeSecurityCode : public MLtsyDispatchInterface
       
   110 	{
       
   111 public:
       
   112 
       
   113 	static const TInt KLtsyDispatchSimChangeSecurityCodeApiId = KDispatchSimFuncUnitId + 4;
       
   114 
       
   115 	/**
       
   116 	 * The CTSY Dispatcher shall invoke this function on receiving the EMobilePhoneChangeSecurityCode
       
   117 	 * request from the CTSY.
       
   118 	 *
       
   119 	 * It is a request call that is completed by invoking
       
   120 	 * CCtsyDispatcherCallback::CallbackSimChangeSecurityCodeComp()
       
   121 	 *
       
   122 	 * Implementation of this interface should allow a client to change a security code.
       
   123 	 *
       
   124 	 * @param aSecCode The security code to be changed.
       
   125 	 * @param aPasswds The old and the new values of the security code.
       
   126 	 *
       
   127 	 * @return KErrNone on success, otherwise another error code indicating the
       
   128 	 * failure.
       
   129 	 */
       
   130 	virtual TInt HandleChangeSecurityCodeReqL(RMobilePhone::TMobilePhoneSecurityCode aSecCode,
       
   131 			   								  const RMobilePhone::TMobilePhonePasswordChangeV1& aPasswds) = 0;
       
   132 
       
   133 	}; // class MLtsyDispatchSimChangeSecurityCode
       
   134 
       
   135 
       
   136 
       
   137 class MLtsyDispatchSimSetFdnSetting : public MLtsyDispatchInterface
       
   138 	{
       
   139 public:
       
   140 
       
   141 	static const TInt KLtsyDispatchSimSetFdnSettingApiId = KDispatchSimFuncUnitId + 5;
       
   142 
       
   143 	/**
       
   144 	 * The CTSY Dispatcher shall invoke this function on receiving the EMobilePhoneSetFdnSetting
       
   145 	 * request from the CTSY.
       
   146 	 *
       
   147 	 * It is a request call that is completed by invoking
       
   148 	 * CCtsyDispatcherCallback::CallbackSimSetFdnSettingComp()
       
   149 	 *
       
   150 	 * Implementation of this interface should activate or deactivate the Fixed Dialling Numbers (FDN) service
       
   151 	 * PIN2 must have been verified prior to changing the Fixed Dialling Numbers setting.
       
   152 	 *
       
   153 	 * @param aFdnSetting The FDN setting value.
       
   154 	 *
       
   155 	 * @return KErrNone on success, otherwise another error code indicating the
       
   156 	 * failure.
       
   157 	 */
       
   158 	virtual TInt HandleSetFdnSettingReqL(RMobilePhone::TMobilePhoneFdnSetting aFdnSetting) = 0;
       
   159 
       
   160 	}; // class MLtsyDispatchSimSetFdnSetting
       
   161 
       
   162 
       
   163 
       
   164 class MLtsyDispatchSimGetCustomerServiceProfile : public MLtsyDispatchInterface
       
   165 	{
       
   166 public:
       
   167 
       
   168 	static const TInt KLtsyDispatchSimGetCustomerServiceProfileApiId = KDispatchSimFuncUnitId + 6;
       
   169 
       
   170 	/**
       
   171 	 * The CTSY Dispatcher shall invoke this function on receiving the EMobilePhoneGetCustomerServiceProfile
       
   172 	 * request from the CTSY.
       
   173 	 *
       
   174 	 * It is a request call that is completed by invoking
       
   175 	 * CCtsyDispatcherCallback::CallbackSimGetCustomerServiceProfileComp()
       
   176 	 *
       
   177 	 * Implementation of this interface should retrieve the whole Customer Service Profile file from LTSY.
       
   178 	 *
       
   179 	 * @return KErrNone on success, otherwise another error code indicating the
       
   180 	 * failure.
       
   181 	 */
       
   182 	virtual TInt HandleGetCustomerServiceProfileReqL() = 0;
       
   183 
       
   184 	}; // class MLtsyDispatchSimGetCustomerServiceProfile
       
   185 
       
   186 
       
   187 
       
   188 class MLtsyDispatchSimGetSubscriberId : public MLtsyDispatchInterface
       
   189 	{
       
   190 public:
       
   191 
       
   192 	static const TInt KLtsyDispatchSimGetSubscriberIdApiId = KDispatchSimFuncUnitId + 7;
       
   193 
       
   194 	/**
       
   195 	 * The CTSY Dispatcher shall invoke this function on receiving the EMobilePhoneGetSubscriberId
       
   196 	 * request from the CTSY.
       
   197 	 *
       
   198 	 * It is a request call that is completed by invoking
       
   199 	 * CCtsyDispatcherCallback::CallbackSimGetSubscriberIdComp()
       
   200 	 *
       
   201 	 * Implementation of this interface should get the subscriber's identity as described by its IMSI from the LTSY.
       
   202 	 *
       
   203 	 * @return KErrNone on success, otherwise another error code indicating the
       
   204 	 * failure.
       
   205 	 */
       
   206 	virtual TInt HandleGetSubscriberIdReqL() = 0;
       
   207 
       
   208 	}; // class MLtsyDispatchSimGetSubscriberId
       
   209 
       
   210 
       
   211 
       
   212 class MLtsyDispatchSimAppendApnName : public MLtsyDispatchInterface
       
   213 	{
       
   214 public:
       
   215 
       
   216 	static const TInt KLtsyDispatchSimAppendApnNameApiId = KDispatchSimFuncUnitId + 8;
       
   217 
       
   218 	/**
       
   219 	 * The CTSY Dispatcher shall invoke this function on receiving the EMobilePhoneAppendAPNName
       
   220 	 * request from the CTSY.
       
   221 	 *
       
   222 	 * It is a request call that is completed by invoking
       
   223 	 * CCtsyDispatcherCallback::CallbackSimAppendApnNameComp()
       
   224 	 *
       
   225 	 * Implementation of this interface should append the given entry to the end of the APN control list.
       
   226 	 *
       
   227 	 * @param aEntry The entry to append to the APN list.
       
   228 	 *
       
   229 	 * @return KErrNone on success, otherwise another error code indicating the
       
   230 	 * failure.
       
   231 	 */
       
   232 	virtual TInt HandleAppendApnNameReqL(const RMobilePhone::TAPNEntryV3& aEntry) = 0;
       
   233 
       
   234 	}; // class MLtsyDispatchSimAppendApnName
       
   235 
       
   236 
       
   237 
       
   238 class MLtsyDispatchSimGetActiveIccApplicationType : public MLtsyDispatchInterface
       
   239 	{
       
   240 public:
       
   241 
       
   242 	static const TInt KLtsyDispatchSimGetActiveIccApplicationTypeApiId = KDispatchSimFuncUnitId + 9;
       
   243 
       
   244 	/**
       
   245 	 * The CTSY Dispatcher shall invoke this function on receiving the EMmTsySimGetICCType
       
   246 	 * request from the CTSY.
       
   247 	 *
       
   248 	 * It is a request call that is completed by invoking
       
   249 	 * CCtsyDispatcherCallback::CallbackSimGetActiveIccApplicationTypeComp()
       
   250 	 *
       
   251 	 * This handler is called by the CTSY to retrieve the current active ICC application type.
       
   252 	 * Types are defined in MLtsyDispatchSimGetActiveIccApplicationType::TIccType.
       
   253 	 *
       
   254 	 * @return KErrNone on success, otherwise another error code indicating the
       
   255 	 * failure.
       
   256 	 */
       
   257 	
       
   258 	enum TIccType
       
   259 	    {
       
   260 	    EIccTypeSim2GGsm,
       
   261 	    EIccTypeSim3G,
       
   262 	    EIccTypeSimUnknown
       
   263 	    };
       
   264 	
       
   265 	virtual TInt HandleGetActiveIccApplicationTypeReqL() = 0;
       
   266 
       
   267 	}; // class MLtsyDispatchSimGetActiveIccApplicationType
       
   268 
       
   269 
       
   270 
       
   271 class MLtsyDispatchSimSetIccMessageWaitingIndicators : public MLtsyDispatchInterface
       
   272 	{
       
   273 public:
       
   274 
       
   275 	static const TInt KLtsyDispatchSimSetIccMessageWaitingIndicatorsApiId = KDispatchSimFuncUnitId + 10;
       
   276 
       
   277 	/**
       
   278 	 * The CTSY Dispatcher shall invoke this function on receiving the EMobilePhoneSetIccMessageWaitingIndicators
       
   279 	 * request from the CTSY.
       
   280 	 *
       
   281 	 * It is a request call that is completed by invoking
       
   282 	 * CCtsyDispatcherCallback::CallbackSimSetIccMessageWaitingIndicatorsComp()
       
   283 	 *
       
   284 	 * Implementation of this interface should set the message waiting indicators on the current ICC.
       
   285 	 *
       
   286 	 * @param aIndicators The message waiting indicators to set.
       
   287 	 *
       
   288 	 * @return KErrNone on success, otherwise another error code indicating the
       
   289 	 * failure.
       
   290 	 */
       
   291 	virtual TInt HandleSetIccMessageWaitingIndicatorsReqL(const RMobilePhone::TMobilePhoneMessageWaitingV1& aIndicators) = 0;
       
   292 
       
   293 	}; // class MLtsyDispatchSimSetIccMessageWaitingIndicators
       
   294 
       
   295 
       
   296 
       
   297 class MLtsyDispatchSimSetApnControlListServiceStatus : public MLtsyDispatchInterface
       
   298 	{
       
   299 public:
       
   300 
       
   301 	static const TInt KLtsyDispatchSimSetApnControlListServiceStatusApiId = KDispatchSimFuncUnitId + 11;
       
   302 
       
   303 	/**
       
   304 	 * The CTSY Dispatcher shall invoke this function on receiving the EMobilePhoneSetAPNControlListServiceStatus
       
   305 	 * request from the CTSY.
       
   306 	 *
       
   307 	 * It is a request call that is completed by invoking
       
   308 	 * CCtsyDispatcherCallback::CallbackSimSetApnControlListServiceStatusComp()
       
   309 	 *
       
   310 	 * Implementation of this interface should set the status of the APN Control List Service.
       
   311 	 *
       
   312 	 * @param aStatus The service status to set.
       
   313 	 *
       
   314 	 * @return KErrNone on success, otherwise another error code indicating the
       
   315 	 * failure.
       
   316 	 */
       
   317 	virtual TInt HandleSetApnControlListServiceStatusReqL(RMobilePhone::TAPNControlListServiceStatus aStatus) = 0;
       
   318 
       
   319 	}; // class MLtsyDispatchSimSetApnControlListServiceStatus
       
   320 
       
   321 
       
   322 
       
   323 class MLtsyDispatchSimGetApnName : public MLtsyDispatchInterface
       
   324 	{
       
   325 public:
       
   326 
       
   327 	static const TInt KLtsyDispatchSimGetApnNameApiId = KDispatchSimFuncUnitId + 12;
       
   328 
       
   329 	/**
       
   330 	 * The CTSY Dispatcher shall invoke this function on receiving the EMobilePhoneGetAPNname
       
   331 	 * request from the CTSY.
       
   332 	 *
       
   333 	 * It is a request call that is completed by invoking
       
   334 	 * CCtsyDispatcherCallback::CallbackSimGetApnNameComp()
       
   335 	 *
       
   336 	 * Implementation of this interface should get the APN entry from the APN list at the index specified.
       
   337 	 *
       
   338 	 * @param aIndex The index of the APN entry to get from LTSY.
       
   339 	 *
       
   340 	 * @return KErrNone on success, otherwise another error code indicating the
       
   341 	 * failure.
       
   342 	 */
       
   343 	virtual TInt HandleGetApnNameReqL(TUint32 aIndex) = 0;
       
   344 
       
   345 	}; // class MLtsyDispatchSimGetApnName
       
   346 
       
   347 
       
   348 
       
   349 class MLtsyDispatchSimSimRefreshDone : public MLtsyDispatchInterface
       
   350 	{
       
   351 public:
       
   352 	
       
   353 	static const TInt KLtsyDispatchSimSimRefreshDoneApiId = KDispatchSimFuncUnitId + 13;
       
   354 
       
   355 	/**
       
   356 	 * The CTSY Dispatcher shall invoke this function on receiving the EMmTsySimRefreshDoneIPC
       
   357 	 * request from the CTSY.
       
   358 	 *
       
   359 	 * It is a request call that has no complete.
       
   360 	 *
       
   361 	 *
       
   362 	 * Implementation of this interface indicates to the LTSY the SIM refresh has finished.
       
   363 	 *
       
   364 	 *
       
   365 	 * @param aError An error code relating to the result of the refresh.
       
   366 	 *
       
   367 	 * @return KErrNone on success, otherwise another error code indicating the
       
   368 	 * failure.
       
   369 	 */
       
   370 	virtual TInt HandleSimRefreshDoneReqL(TInt aError) = 0;
       
   371 
       
   372 	}; // class MLtsyDispatchSimSimRefreshDone
       
   373 
       
   374 class MLtsyDispatchSimGetServiceTable : public MLtsyDispatchInterface
       
   375 	{
       
   376 public:
       
   377 	
       
   378 	static const TInt KLtsyDispatchSimGetServiceTableApiId = KDispatchSimFuncUnitId + 14;
       
   379 
       
   380 	/**
       
   381 	 * The CTSY Dispatcher shall invoke this function on receiving the EMobilePhoneGetServiceTable
       
   382 	 * request from the CTSY.
       
   383 	 *
       
   384 	 * It is a request call that is completed by invoking CCtsyDispatcherCallback::CallbackSimGetServiceTableComp()
       
   385 	 *
       
   386 	 * Implementation of this interface should read the EFust or EFsst service tables as specified by aServiceTable.
       
   387 	 *
       
   388 	 * @param aServiceTable Specifies the service table to retrieve.
       
   389 	 *
       
   390 	 * @return KErrNone on success, otherwise another error code indicating the
       
   391 	 * failure.
       
   392 	 */
       
   393 	virtual TInt HandleGetServiceTableReqL(RMobilePhone::TMobilePhoneServiceTable aServiceTable) = 0;
       
   394 
       
   395 	}; // class MLtsyDispatchSimGetServiceTable
       
   396 
       
   397 class MLtsyDispatchSimGetIccMessageWaitingIndicators : public MLtsyDispatchInterface
       
   398 	{
       
   399 public:
       
   400 	
       
   401 	static const TInt KLtsyDispatchSimGetIccMessageWaitingIndicatorsApiId = KDispatchSimFuncUnitId + 15;
       
   402 
       
   403 	/**
       
   404 	 * The CTSY Dispatcher shall invoke this function on receiving the EMobilePhoneGetIccMessageWaitingIndicators
       
   405 	 * request from the CTSY.
       
   406 	 *
       
   407 	 * It is a request call that is completed by invoking CCtsyDispatcherCallback::CallbackSimGetIccMessageWaitingIndicatorsComp()
       
   408 	 *
       
   409 	 * Implementation of this interface should get the ICC message waiting indicators from the (U)SIM field EFmwis.
       
   410 	 *
       
   411 	 * @return KErrNone on success, otherwise another error code indicating the
       
   412 	 * failure.
       
   413 	 */
       
   414 	virtual TInt HandleGetIccMessageWaitingIndicatorsReqL() = 0;
       
   415 
       
   416 	}; // class MLtsyDispatcSimGetIccMessageWaitingIndicators
       
   417 
       
   418 class MLtsyDispatchSimSimLockActivate : public MLtsyDispatchInterface
       
   419 	{
       
   420 public:
       
   421 
       
   422 	static const TInt KLtsyDispatchSimSimLockActivateApiId = KDispatchSimFuncUnitId + 16;
       
   423 
       
   424 	/**
       
   425 	 * The CTSY Dispatcher shall invoke this function on receiving the ECustomSimLockActivateIPC
       
   426 	 * request from the CTSY.
       
   427 	 * 
       
   428 	 * It is a request call that is completed by invoking
       
   429 	 * CCtsyDispatcherCallback::CallbackSimSimLockActivateComp()
       
   430 	 * 
       
   431 	 * Implementation of this interface should send a SIM Lock Activation request.
       
   432 	 *
       
   433 	 * @param aPassword The password used for the SIM Lock activation.
       
   434 	 * @param aLockNumber The lock number that defines SIM Lock types.
       
   435 	 *
       
   436 	 * @return KErrNone on success, otherwise another error code indicating the
       
   437 	 * failure.
       
   438 	 */
       
   439 	virtual TInt HandleSimLockActivateReqL(const TDesC& aPassword, RMmCustomAPI::TLockNumber aLockNumber) = 0;
       
   440 
       
   441 	}; // class MLtsyDispatchSimSimLockActivate
       
   442 
       
   443 
       
   444 class MLtsyDispatchSimSimLockDeActivate : public MLtsyDispatchInterface
       
   445 	{
       
   446 public:
       
   447 
       
   448 	static const TInt KLtsyDispatchSimSimLockDeActivateApiId = KDispatchSimFuncUnitId + 17;
       
   449 
       
   450 	/**
       
   451 	 * The CTSY Dispatcher shall invoke this function on receiving the ECustomSimLockDeActivateIPC
       
   452 	 * request from the CTSY.
       
   453 	 * 
       
   454 	 * It is a request call that is completed by invoking
       
   455 	 * CCtsyDispatcherCallback::CallbackSimSimLockDeActivateComp()
       
   456 	 * 
       
   457 	 * Implementation of this interface should send a SIM Lock Deactivation request. 
       
   458 	 * 
       
   459 	 * @param aPassword The password used for the SIM Lock deactivation.
       
   460 	 * @param aLockNumber The lock number that defines SIM Lock types.
       
   461 	 *
       
   462 	 * @return KErrNone on success, otherwise another error code indicating the
       
   463 	 * failure.
       
   464 	 */
       
   465 	virtual TInt HandleSimLockDeActivateReqL(const TDesC& aPassword, RMmCustomAPI::TLockNumber aLockNumber) = 0;
       
   466 
       
   467 	}; // class MLtsyDispatchSimSimLockDeActivate
       
   468 
       
   469 
       
   470 class MLtsyDispatchSimGetAnswerToReset : public MLtsyDispatchInterface
       
   471 	{
       
   472 public:
       
   473 
       
   474 	static const TInt KLtsyDispatchSimGetAnswerToResetApiId = KDispatchSimFuncUnitId + 18;
       
   475 
       
   476 	/**
       
   477 	 * The CTSY Dispatcher shall invoke this function on receiving the ECustomGetATRIPC
       
   478 	 * request from the CTSY.
       
   479 	 * 
       
   480 	 * It is a request call that is completed by invoking
       
   481 	 * CCtsyDispatcherCallback::CallbackSimGetAnswerToResetComp()
       
   482 	 * 
       
   483 	 * Implementation of this interface should retrieve the answer to reset. 
       
   484 	 *
       
   485 	 * @param aAnswerToReset The answer to reset information which contains details of the request.
       
   486 	 *
       
   487 	 * @return KErrNone on success, otherwise another error code indicating the
       
   488 	 * failure.
       
   489 	 */
       
   490 	virtual TInt HandleGetAnswerToResetReqL(const TDesC8& aAnswerToReset) = 0;
       
   491 
       
   492 	}; // class MLtsyDispatchSimGetAnswerToReset
       
   493 
       
   494 
       
   495 class MLtsyDispatchSimGetSimCardReaderStatus : public MLtsyDispatchInterface
       
   496 	{
       
   497 public:
       
   498 
       
   499 	static const TInt KLtsyDispatchSimGetSimCardReaderStatusApiId = KDispatchSimFuncUnitId + 19;
       
   500 
       
   501 	/**
       
   502 	 * The CTSY Dispatcher shall invoke this function on receiving the ECustomGetSimCardReaderStatusIPC
       
   503 	 * request from the CTSY.
       
   504 	 * 
       
   505 	 * It is a request call that is completed by invoking
       
   506 	 * CCtsyDispatcherCallback::CallbackSimGetSimCardReaderStatusComp()
       
   507 	 * 
       
   508 	 * Implementation of this interface should retrieve the card reader status.
       
   509 	 *
       
   510 	 * @return KErrNone on success, otherwise another error code indicating the
       
   511 	 * failure.
       
   512 	 */
       
   513 	virtual TInt HandleGetSimCardReaderStatusReqL() = 0;
       
   514 
       
   515 	}; // class MLtsyDispatchSimGetSimCardReaderStatus
       
   516 
       
   517 
       
   518 class MLtsyDispatchSimGetSimAuthenticationEapSimData : public MLtsyDispatchInterface
       
   519 	{
       
   520 public:
       
   521 
       
   522 	static const TInt KLtsyDispatchSimGetSimAuthenticationEapSimDataApiId = KDispatchSimFuncUnitId + 20;
       
   523 
       
   524 	/**
       
   525 	 * The CTSY Dispatcher shall invoke this function on receiving the ECustomGetSimAuthenticationDataIPC for 
       
   526  	 * Extensible Authentication Protocol Subscriber Identity Module authentication method
       
   527 	 * request from the CTSY.
       
   528 	 * 
       
   529 	 * It is a request call that is completed by invoking
       
   530 	 * CCtsyDispatcherCallback::CallbackSimGetSimAuthenticationEapSimDataComp()
       
   531 	 * 
       
   532 	 * Implementation of this interface should retrieve Sim Authentication Data for EapSim authentication method.
       
   533 	 *
       
   534 	 * @param aRandomParameters The random parameters from the client.
       
   535 	 * @param aRFStateInfo The RF state info.
       
   536 	 * 
       
   537 	 * @return KErrNone on success, otherwise another error code indicating the
       
   538 	 * failure.
       
   539 	 */
       
   540 	virtual TInt HandleGetSimAuthenticationEapSimDataReqL(const TDesC8& aRandomParameters, TInt aRFStateInfo) = 0;
       
   541 
       
   542 	}; // class MLtsyDispatchSimGetSimAuthenticationEapSimData
       
   543 
       
   544 class MLtsyDispatchSimGetSimAuthenticationEapAkaData : public MLtsyDispatchInterface
       
   545 	{
       
   546 public:
       
   547 
       
   548 	static const TInt KLtsyDispatchSimGetSimAuthenticationEapAkaDataApiId = KDispatchSimFuncUnitId + 21;
       
   549 
       
   550 	/**
       
   551 	 * The CTSY Dispatcher shall invoke this function on receiving the ECustomGetSimAuthenticationDataIPC for 
       
   552 	 * Extensible Authentication Protocol UMTS Authentication and Key Agreement authentication method
       
   553 	 * request from the CTSY.
       
   554 	 * 
       
   555 	 * It is a request call that is completed by invoking
       
   556 	 * CCtsyDispatcherCallback::CallbackSimGetSimAuthenticationEapAkaDataComp()
       
   557 	 * 
       
   558 	 * Implementation of this interface should retrieve Sim Authentication Data for EapAka authentication method.
       
   559 	 *
       
   560 	 * @param aRandomParameters The random parameters from the client.
       
   561 	 * @param aAUTN The AUTN parameter. AUTN is an authentication value generated by
       
   562 	 *        the Authentication Centre, which, together with the random parameters, authenticates the server to the peer, 128 bits.
       
   563 	 * @param aRFStateInfo The RF state info.
       
   564 	 *
       
   565 	 * @return KErrNone on success, otherwise another error code indicating the
       
   566 	 * failure.
       
   567 	 */
       
   568 	virtual TInt HandleGetSimAuthenticationEapAkaDataReqL(const TDesC8& aRandomParameters, const TDesC8& aAUTN, TInt aRFStateInfo) = 0;
       
   569 
       
   570 	}; // class MLtsyDispatchSimGetSimAuthenticationEapAkaData
       
   571 
       
   572 class MLtsyDispatchSimPowerSimOff : public MLtsyDispatchInterface
       
   573 	{
       
   574 public:
       
   575 
       
   576 	static const TInt KLtsyDispatchSimPowerSimOffApiId = KDispatchSimFuncUnitId + 22;
       
   577 
       
   578 	/**
       
   579 	 * The CTSY Dispatcher shall invoke this function on receiving the ECustomPowerSimOffIPC
       
   580 	 * request from the CTSY.
       
   581 	 * 
       
   582 	 * It is a request call that is completed by invoking
       
   583 	 * CCtsyDispatcherCallback::CallbackSimPowerSimOffComp()
       
   584 	 * 
       
   585 	 * Implementation of this interface should send a Power SIM Off request to the APDU server.
       
   586 	 *
       
   587 	 * @return KErrNone on success, otherwise another error code indicating the
       
   588 	 * failure.
       
   589 	 * 
       
   590 	 * @see RMmCustomAPI::PowerSimOff()
       
   591 	 */
       
   592 	virtual TInt HandlePowerSimOffReqL() = 0;
       
   593 
       
   594 	}; // class MLtsyDispatchSimPowerSimOff
       
   595 
       
   596 
       
   597 class MLtsyDispatchSimPowerSimOn : virtual MLtsyDispatchInterface
       
   598 	{
       
   599 public:
       
   600 
       
   601 	static const TInt KLtsyDispatchSimPowerSimOnApiId = KDispatchSimFuncUnitId + 23;
       
   602 
       
   603 	/**
       
   604 	 * The CTSY Dispatcher shall invoke this function on receiving the ECustomPowerSimOnIPC
       
   605 	 * request from the CTSY.
       
   606 	 * 
       
   607 	 * It is a request call that is completed by invoking
       
   608 	 * CCtsyDispatcherCallback::CallbackSimPowerSimOnComp()
       
   609 	 * 
       
   610 	 * Implementation of this interface should send a Power SIM On request to the APDU server.
       
   611 	 *
       
   612 	 * @return KErrNone on success, otherwise another error code indicating the
       
   613 	 * failure.
       
   614 	 * 
       
   615 	 * @see RMmCustomAPI::PowerSimOn()
       
   616 	 */
       
   617 	virtual TInt HandlePowerSimOnReqL() = 0;
       
   618 
       
   619 	}; // class MLtsyDispatchSimPowerSimOn
       
   620 
       
   621 
       
   622 class MLtsyDispatchSimReadSimFile : virtual MLtsyDispatchInterface
       
   623 	{
       
   624 public:
       
   625 
       
   626 	static const TInt KLtsyDispatchSimReadSimFileApiId = KDispatchSimFuncUnitId + 24;
       
   627 
       
   628 	/**
       
   629 	 * The CTSY Dispatcher shall invoke this function on receiving the ECustomReadSimFileIPC
       
   630 	 * request from the CTSY.
       
   631 	 * 
       
   632 	 * It is a request call that is completed by invoking
       
   633 	 * CCtsyDispatcherCallback::CallbackSimReadSimFileComp()
       
   634 	 * 
       
   635 	 * Implementation of this interface should request to read full or partial contents of a 
       
   636 	 * given SIM file. The path, size and offset for the requested SIM file are provided.
       
   637 	 * 
       
   638 	 *
       
   639 	 * @param aPath The absolute file path of the SIM file in the file system of the SIM.
       
   640 	 * see ETSI TS 131 102 Under "Files of USIM"
       
   641 	 * @param aOffset The value of the Offset, the offset is related with the type of SIM file being read.
       
   642 	 * @param aSize The amount of bytes to be read from the SIM file.
       
   643 	 *
       
   644 	 * @return KErrNone on success, otherwise another error code indicating the
       
   645 	 * failure.
       
   646 	 * 
       
   647 	 * @see RMmCustomAPI::ReadSimFile()
       
   648 	 */
       
   649 	virtual TInt HandleReadSimFileReqL(const TDesC8& aPath, TUint16 aOffset, TUint16 aSize) = 0;
       
   650 
       
   651 	}; // class MLtsyDispatchSimReadSimFile
       
   652 
       
   653 
       
   654 class MLtsyDispatchSimSendApduRequest : virtual MLtsyDispatchInterface
       
   655 	{
       
   656 public:
       
   657 
       
   658 	static const TInt KLtsyDispatchSimSendApduRequestApiId = KDispatchSimFuncUnitId + 25;
       
   659 
       
   660 	/**
       
   661 	 * The CTSY Dispatcher shall invoke this function on receiving the ECustomSendAPDUReqIPC
       
   662 	 * request from the CTSY.
       
   663 	 * 
       
   664 	 * It is a request call that is completed by invoking
       
   665 	 * CCtsyDispatcherCallback::CallbackSimSendApduRequestComp()
       
   666 	 * 
       
   667 	 * Implementation of this interface should pass the send APDU request to the baseband.
       
   668 	 * 
       
   669 	 * The service type, card reader number and application type is the address information 
       
   670 	 * and the data is an envelope. The client side and baseband are responsible for the 
       
   671 	 * consistency of the data buffer's content (i.e. they have to have an agreement on the contents).
       
   672 	 * 
       
   673 	 *
       
   674 	 * @param aServiceType The value for the service type of the request.
       
   675 	 * @param aCardReaderNumber The value for the card reader number of the request.
       
   676 	 * @param aApplicationType The value for the application type of the request.
       
   677 	 * @param aCommandData The transparent data to be conveyed to the Baseband.
       
   678 	 *
       
   679 	 * @return KErrNone on success, otherwise another error code indicating the
       
   680 	 * failure.
       
   681 	 * 
       
   682 	 * @see RMmCustomAPI::SendAPDUReq()
       
   683 	 */
       
   684 	virtual TInt HandleSimSendApduRequestReqL(TUint8 aServiceType, TUint8 aCardReaderNumber, TUint8 aApplicationType, const TDesC8& aCommandData) = 0;
       
   685 
       
   686 	}; // class MLtsyDispatchSimSendApduRequest
       
   687 
       
   688 class MLtsyDispatchSimSendApduRequestV2 : virtual MLtsyDispatchInterface
       
   689 	{
       
   690 public:
       
   691 
       
   692 	static const TInt KLtsyDispatchSimSendApduRequestV2ApiId = KDispatchSimFuncUnitId + 26;
       
   693 
       
   694 	/**
       
   695 	 * The CTSY Dispatcher shall invoke this function on receiving the ECustomSendAPDUReqV2IPC
       
   696 	 * request from the CTSY.
       
   697 	 * 
       
   698 	 * It is a request call that is completed by invoking
       
   699 	 * CCtsyDispatcherCallback::CallbackSimSendApduRequestV2Comp()
       
   700 	 * 
       
   701 	 * Implementation of this interface should pass the send APDU request to the baseband.
       
   702 	 * 
       
   703 	 * The client side and baseband are responsible for the consistency of the data buffer's content 
       
   704 	 * (i.e. they have to have an agreement on the contents).
       
   705 	 * 
       
   706 	 *
       
   707 	 * @param aCardReaderId The value for the card reader Id of the request.
       
   708 	 * @param aCommandData The transparent data to be conveyed to the Baseband.
       
   709 	 *
       
   710 	 * @return KErrNone on success, otherwise another error code indicating the
       
   711 	 * failure.
       
   712 	 * 
       
   713 	 * @see RMmCustomAPI::SendAPDUReq()
       
   714 	 */
       
   715 	virtual TInt HandleSimSendApduRequestV2ReqL(TUint8 aCardReaderId, const TDesC8& aCommandData) = 0;
       
   716 
       
   717 	}; // class MLtsyDispatchSimSendApduRequest
       
   718 
       
   719 class MLtsyDispatchSimSimWarmReset : virtual MLtsyDispatchInterface
       
   720 	{
       
   721 public:
       
   722 
       
   723 	static const TInt KLtsyDispatchSimSimWarmResetApiId = KDispatchSimFuncUnitId + 27;
       
   724 
       
   725 	/**
       
   726 	 * The CTSY Dispatcher shall invoke this function on receiving the ECustomSimWarmResetIPC
       
   727 	 * request from the CTSY.
       
   728 	 * 
       
   729 	 * It is a request call that is completed by invoking
       
   730 	 * CCtsyDispatcherCallback::CallbackSimSimWarmResetComp()
       
   731 	 * 
       
   732 	 * Implementation of this interface should handle the reqest for a SIM warm reset.
       
   733 	 * 
       
   734 	 * See ETSI TS 102 221 under "Reset procedures"
       
   735 	 *
       
   736 	 * @return KErrNone on success, otherwise another error code indicating the
       
   737 	 * failure.
       
   738 	 * 
       
   739 	 * @see RMmCustomAPI::SimWarmReset()
       
   740 	 */
       
   741 	virtual TInt HandleSimWarmResetReqL() = 0;
       
   742 
       
   743 	}; // class MLtsyDispatchSimSimWarmReset
       
   744 
       
   745 
       
   746 class MLtsyDispatchSimSetSimMessageStatusRead : virtual MLtsyDispatchInterface
       
   747 	{
       
   748 public:
       
   749 
       
   750 	static const TInt KLtsyDispatchSimSetSimMessageStatusReadApiId = KDispatchSimFuncUnitId + 28;
       
   751 
       
   752 	/**
       
   753 	 * The CTSY Dispatcher shall invoke this function on receiving the ECustomSetSimMessageStatusReadIPC
       
   754 	 * request from the CTSY.
       
   755 	 * 
       
   756 	 * It is a request call that is completed by invoking
       
   757 	 * CCtsyDispatcherCallback::CallbackSimSetSimMessageStatusReadComp()
       
   758 	 * 
       
   759 	 * No error code is returned to the ETel client - if no SMS message with matching timestamp is identified
       
   760 	 * on the SIM then this error will be silently ignored.
       
   761 	 *
       
   762 	 * @param aTimestamp timestamp that uniquely identifies a particular message in the message store.
       
   763 	 * @param aTimezoneDiff the difference, expressed in quarters of an hour, between the service centre local time and GMT
       
   764 	 *
       
   765 	 * @return KErrNone on success, otherwise another error code indicating the
       
   766 	 * failure.
       
   767 	 * 
       
   768 	 * @see RMmCustomAPI::SetSimMessageStatusRead()
       
   769 	 */
       
   770 	virtual TInt HandleSetSimMessageStatusReadReqL(const TTime& aTimestamp, TInt aTimezoneDiff) = 0;
       
   771 
       
   772 	}; // class MLtsyDispatchSimSetSimMessageStatusRead
       
   773 
       
   774 
       
   775 #endif /*MLTSYDISPATCHSIMINTERFACE_H_*/