--- /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 <e32std.h>
+#include <e32base.h>
+
+#include <ctsy/ltsy/mltsydispatchinterface.h>
+#include <ctsy/ltsy/mltsydispatchphoneinterface.h>
+#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_
+