diff -r 14460bf2a402 -r f50f4094acd7 cbsref/telephonyrefplugins/atltsy/handler/inc/cltsyphonehandler.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cbsref/telephonyrefplugins/atltsy/handler/inc/cltsyphonehandler.h Tue Jul 06 15:36:38 2010 +0300 @@ -0,0 +1,249 @@ +// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +// 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: +// Nokia Corporation - initial contribution. +// +// Contributors: +// +// Description: +// CLtsyPhoneHandler + +#ifndef __CLTSYDISPATCHPHONEHANDLER_H_ +#define __CLTSYDISPATCHPHONEHANDLER_H_ + +// INCLUDES +#include +#include + +#include +#include +#include "misdispatchinterfacesupported.h" +#include "ltsymacros.h" +#include "globalphonemanager.h" + + +#include "requestbase.h" + + +// Can be removed in real LTSY implementation +MTEST_FORWARD_DECLARE_MOCKLTSYENGINE +class CRequestBase; + +class CInitializePhone; +class CAsyncHelperRequest; +class CATNetworkRegStatusChange; +class CATNotifyCellInfo; +class CNotifyBatteryAndSignal; +class CATDetectNetwork; +class CATSelectNetwork; + + +class MLtsyUnsolicitedCommandObserver; +class CUnsolicitedWindPhoneHandler; + +// CLASS DECLARATION + +/** + * Implements interfaces from the CTSY Dispatcher. The CTSY Dispatcher uses these + * interfaces to make requests to the Licensee LTSY. + */ +class CLtsyPhoneHandler : public CBase, + public MIsDispatchInterfaceSupported, + public MLtsyDispatchPhoneGetFdnStatus, + public MLtsyDispatchPhoneGetNetworkRegistrationStatus, + public MLtsyDispatchPhoneGetHomeNetwork, + public MLtsyDispatchPhoneBootNotifyModemStatusReady, + public MLtsyDispatchPhoneBootNotifySimStatusReady, + public MLtsyDispatchPhoneSimRefreshRegister, + public MLtsyDispatchPhoneGetServiceProviderName, + public MLtsyDispatchPhoneGetPhoneId, + public MLtsyDispatchPhoneGetDetectedNetworks, + public MLtsyDispatchPhoneGetDetectedNetworksCancel, + public MLtsyDispatchPhoneSelectNetwork, + public MLtsyDispatchPhoneSelectNetworkCancel, + public MLtsyDispatchPhoneSetNetworkSelectionSetting, + public MLtsyDispatchPhoneGetCurrentNetworkInfo, + public MLtsyDispatchPhoneGetNetworkMode, + public MLtsyDispatchPhoneGetNitzInfo, + public MLtsyDispatchPhoneGetSignalStrength, + public MLtsyDispatchPhoneGetBatteryInfo, + public MLtsyDispatchPhoneNspsWakeup, + public MLtsyDispatchPhoneSetSystemNetworkMode, + public MLtsyDispatchPhoneGetCurrentSystemNetworkModes, + public MLtsyDispatchPhoneResetNetServer, + public MLtsyDispatchPhoneSetAlwaysOnMode, + public MLtsyDispatchPhoneSetDriveMode, + public MLtsyDispatchPhoneGetHspaStatus, + public MLtsyDispatchPhoneSetHspaStatus, + public MLtsyDispatchPhoneGetNetworkProviderName, + public MLtsyDispatchPhoneGetOperatorName, + public MLtsyDispatchPhoneGetCellInfo, + public MLtsyDispatchPhoneRegisterCellInfoChangeNotification, + public MLtsyDispatchPhoneGetPhoneCellInfo, + public MLtsyDispatchPhoneGetUsimServiceSupport, + public MLtsyDispatchPhoneGetCurrentActiveUsimApplication, + public MLtsyDispatchPhoneTerminateAllCalls, + public MLtsyDispatchPhoneGetSystemNetworkBand, + public MLtsyDispatchPhoneSetSystemNetworkBand, + public MIpcRequestCompleteObserver + + { +public: + virtual ~CLtsyPhoneHandler(); + static CLtsyPhoneHandler* NewL(CCtsyDispatcherCallback& aCtsyDispatcherCallback,CGlobalPhonemanager* aGloblePhone); + static CLtsyPhoneHandler* NewLC(CCtsyDispatcherCallback& aCtsyDispatcherCallback,CGlobalPhonemanager* aGloblePhone); + + // From MIsDispatchInterfaceSupported + virtual TBool IsInterfaceSupported(TLtsyDispatchInterfaceApiId aDispatchApiId); + void IsCallbackIndicatorSupported(TLtsyDispatchIndIdGroup aIdGroup, TUint32& aIndIdBitMask); + + // From MLtsyDispatchPhoneGetFdnStatus + virtual TInt HandleGetFdnStatusReqL(); + + // From MLtsyDispatchPhoneGetNetworkRegistrationStatus + virtual TInt HandleGetNetworkRegistrationStatusReqL(); + + // From MLtsyDispatchPhoneGetHomeNetwork + virtual TInt HandleGetHomeNetworkReqL(); + + // From MLtsyDispatchPhoneBootNotifyModemStatusReady + virtual TInt HandleBootNotifyModemStatusReadyReqL(); + + // From MLtsyDispatchPhoneBootNotifySimStatusReady + virtual TInt HandleBootNotifySimStatusReadyReqL(); + + // From MLtsyDispatchPhoneSimRefreshRegister + virtual TInt HandleSimRefreshRegisterReqL(TUint16 aFilesToRegister); + + // From MLtsyDispatchPhoneGetServiceProviderName + virtual TInt HandleGetServiceProviderNameReqL(); + + // From MLtsyDispatchPhoneGetPhoneId + virtual TInt HandleGetPhoneIdReqL(); + + // From MLtsyDispatchPhoneGetDetectedNetworks + virtual TInt HandleGetDetectedNetworksReqL(); + + // From MLtsyDispatchPhoneGetDetectedNetworksCancel + virtual TInt HandleGetDetectedNetworksCancelReqL(); + + // From MLtsyDispatchPhoneSelectNetwork + virtual TInt HandleSelectNetworkReqL(TBool aIsManual, const RMobilePhone::TMobilePhoneNetworkManualSelection& aNetworkManualSelection); + + // From MLtsyDispatchPhoneSelectNetworkCancel + virtual TInt HandleSelectNetworkCancelReqL(); + + // From MLtsyDispatchPhoneSetNetworkSelectionSetting + virtual TInt HandleSetNetworkSelectionSettingReqL(const RMobilePhone::TMobilePhoneNetworkSelectionV1& aPhoneNetworkSelection); + + // From MLtsyDispatchPhoneGetCurrentNetworkInfo + virtual TInt HandleGetCurrentNetworkInfoReqL(); + + // From MLtsyDispatchPhoneGetNetworkMode + virtual TInt HandleGetNetworkModeReqL(); + + // From MLtsyDispatchPhoneGetNitzInfo + virtual TInt HandleGetNitzInfoReqL(); + + // From MLtsyDispatchPhoneGetSignalStrength + virtual TInt HandleGetSignalStrengthReqL(); + + // From MLtsyDispatchPhoneGetBatteryInfo + virtual TInt HandleGetBatteryInfoReqL(); + + // From MLtsyDispatchPhoneNspsWakeup + virtual TInt HandleNspsWakeupReqL(); + + // From MLtsyDispatchPhoneSetSystemNetworkMode + virtual TInt HandleSetSystemNetworkModeReqL(RMmCustomAPI::TNetworkModeCaps aMode); + + // From MLtsyDispatchPhoneGetCurrentSystemNetworkModes + virtual TInt HandleGetCurrentSystemNetworkModesReqL(); + + // From MLtsyDispatchPhoneResetNetServer + virtual TInt HandleResetNetServerReqL(); + + // From MLtsyDispatchPhoneSetAlwaysOnMode + virtual TInt HandleSetAlwaysOnModeReqL(RMmCustomAPI::TSetAlwaysOnMode aMode); + + // From MLtsyDispatchPhoneSetDriveMode + virtual TInt HandleSetDriveModeReqL(RMmCustomAPI::TSetDriveMode aMode); + + // From MLtsyDispatchPhoneGetHspaStatus + virtual TInt HandleGetHspaStatusReqL(); + + // From MLtsyDispatchPhoneSetHspaStatus + virtual TInt HandleSetHspaStatusReqL(RMmCustomAPI::THSxPAStatus aStatus); + + // From MLtsyDispatchPhoneGetNetworkProviderName + virtual TInt HandleGetNetworkProviderNameReqL(); + + // From MLtsyDispatchPhoneGetOperatorName + virtual TInt HandleGetOperatorNameReqL(); + + // From MLtsyDispatchPhoneGetCellInfo + virtual TInt HandleGetCellInfoReqL(); + + // From MLtsyDispatchPhoneRegisterCellInfoChangeNotification + virtual TInt HandleRegisterCellInfoChangeNotificationReqL(); + + // From MLtsyDispatchPhoneGetPhoneCellInfo + virtual TInt HandleGetPhoneCellInfoReqL(); + + // From MLtsyDispatchPhoneGetUsimServiceSupport + virtual TInt HandleGetGetUsimServiceSupportReqL(TInt aApplicationNumber); + + // From MLtsyDispatchPhoneGetCurrentActiveUsimApplication + virtual TInt HandleGetCurrentActiveUsimApplicationReqL(); + + // From MLtsyDispatchPhoneTerminateAllCalls + virtual TInt HandleTerminateAllCallsReqL(TInt aCallId); + + // From MLtsyDispatchPhoneGetSystemNetworkBand + virtual TInt HandleGetSystemNetworkBandReqL(); + + // From MLtsyDispatchPhoneSetSystemNetworkBand + virtual TInt HandleSetSystemNetworkBandReqL(RMmCustomAPI::TBandSelection aBand, RMmCustomAPI::TNetworkModeCaps aMode); + + // From MIpcRequestCompleteObserver + virtual void NotifyIpcRequestComplete(TInt aIpcId); + +public: + MLtsyUnsolicitedCommandObserver* GetUnsolicitedCallControlHandler() const; +private: + CLtsyPhoneHandler(CCtsyDispatcherCallback& aCtsyDispatcherCallback,CGlobalPhonemanager* aGloblePhone); + void ConstructL(); +private: + /** + * Callback object in the CTSY Dispatcher. + * + * Used to complete a request back to the CTSY Dispatcher. + */ + CCtsyDispatcherCallback& iCtsyDispatcherCallback; + CGlobalPhonemanager* iGloblePhone; + CInitializePhone* iInitializePhone; + CAsyncHelperRequest* iAsyncHelperRequest; + CATNetworkRegStatusChange* iNetworkRegStatusChange; + CATNotifyCellInfo* iNotifyCellInfo; + CNotifyBatteryAndSignal* iNotifyBatteryAndSignal; + CATDetectNetwork* iATDetectNetwork; + CATSelectNetwork* iATSelectNetwork; + + /** + * Process unsolicited command + */ + CUnsolicitedWindPhoneHandler* iUnsolicitedHandler; + + /** + * Store the one IPC Id which identify next possible IPC request to be run + */ + TInt iPendingIpcId; + }; // class CLtsyPhoneHandler + +#endif // __CLTSYDISPATCHPHONEHANDLER_H_ +