diff -r 000000000000 -r 3553901f7fa8 telephonyutils/etel3rdpartyapi/inc/TelephonyActSupplServices.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/telephonyutils/etel3rdpartyapi/inc/TelephonyActSupplServices.h Tue Feb 02 01:41:59 2010 +0200 @@ -0,0 +1,107 @@ +/* +* Copyright (c) 2009 Sony Ericsson Mobile Communications AB +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Sony Ericsson Mobile Communications AB - initial contribution. +* Nokia Corporation - additional changes. +* +* Contributors: +* +* Description: +* TelephonyActSupplServices Active Object class, used by CTelephonyFunctions class. +* +*/ + + +/** + @file +*/ + +#include +#include +#include +#include "Etel3rdParty.h" + +class CTelephony; +class CTelephonyFunctions; // forward reference +class CAsyncRequestBaseAct; + + +class CGetSupplementaryServiceStatusAct : public CAsyncRequestBaseAct +/** +This is an active object responsible for interacting with Multimode ETel +*/ + { +public: + static CGetSupplementaryServiceStatusAct* NewL(CTelephonyFunctions* aTelephonyFunctions); + ~CGetSupplementaryServiceStatusAct(); + TInt GetCFSupplementaryServiceStatus(const CTelephony::TCallForwardingCondition aCondition, TDes8& aId, const CTelephony::TServiceGroup aServiceGroup); + TInt GetCBSupplementaryServiceStatus(const CTelephony::TCallBarringCondition aCondition, TDes8& aId, const CTelephony::TServiceGroup aServiceGroup); + TInt GetCWSupplementaryServiceStatus(TDes8& aId, const CTelephony::TServiceGroup aServiceGroup); + +protected: + void Complete(); + TInt RunError(TInt aLeaveCode); + void DoCancel(); + +private: + CGetSupplementaryServiceStatusAct(CTelephonyFunctions* aTelephonyFunctions); + RMobilePhone::TMobilePhoneCBCondition GetMobileCBCondition(const CTelephony::TCallBarringCondition aCBCondition) const; + RMobilePhone::TMobilePhoneCFCondition GetMobileCFCondition(const CTelephony::TCallForwardingCondition aCFCondition) const; + RMobilePhone::TMobileService GetMobileServiceGroup( const CTelephony::TServiceGroup aServiceGroup); + void ResolveCBListL(); + void ResolveCFListL(); + void ResolveCWListL(); + CTelephony::TSupplServiceStatus GetCBSupplServiceStatus(RMobilePhone::TMobilePhoneCBStatus aStatus); + CTelephony::TSupplServiceStatus GetCFSupplServiceStatus(RMobilePhone::TMobilePhoneCFStatus aStatus); + CTelephony::TSupplServiceStatus GetCWSupplServiceStatus(RMobilePhone::TMobilePhoneCWStatus aStatus); +private: + CTelephonyFunctions* iTelephonyFunctions; + + CRetrieveMobilePhoneCFList* iGetCFList; + CRetrieveMobilePhoneCBList* iGetCBList; + CRetrieveMobilePhoneCWList* iGetCWList; + + CTelephonyFunctions::TOperations iISVSSType; + RMobilePhone::TMobileService iServiceGroup; + RMobilePhone::TMobilePhoneCBCondition iMobileCBCondition; + RMobilePhone::TMobilePhoneCFCondition iMobileCFCondition; + + CTelephony::TCallBarringCondition iCBCondition; + CTelephony::TCallForwardingCondition iCFCondition; + + CTelephony::TCallForwardingSupplServicesV1* iISVCFInfo; + CTelephony::TCallBarringSupplServicesV1* iISVCBInfo; + CTelephony::TCallWaitingSupplServicesV1* iISVCWInfo; + }; + +class CGetIdentityServiceStatusAct : public CAsyncRequestBaseAct +/** +This is an active object responsible for interacting with Multimode ETel +*/ + { + +public: + static CGetIdentityServiceStatusAct* NewL(CTelephonyFunctions* aTelephonyFunctions); + ~CGetIdentityServiceStatusAct(); + void GetIdentityServiceStatus(const CTelephony::TIdentityService aService, TDes8& aId); + +protected: + void Complete(); + TInt RunError(TInt aLeaveCode); + void DoCancel(); + +private: + CGetIdentityServiceStatusAct(CTelephonyFunctions* aTelephonyFunctions); + CTelephonyFunctions* iTelephonyFunctions; + + CTelephony::TIdentityServiceV1* iISVServiceStatus; + + RMobilePhone::TMobilePhoneIdService iMMService; + RMobilePhone::TMobilePhoneIdServiceStatus iMMServiceStatus; + };