diff -r 000000000000 -r 3553901f7fa8 telephonyserverplugins/multimodetsy/hayes/TSYCONFG.H --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/telephonyserverplugins/multimodetsy/hayes/TSYCONFG.H Tue Feb 02 01:41:59 2010 +0200 @@ -0,0 +1,120 @@ +// Copyright (c) 1997-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: +// TSY Configuration Class Header +// +// + +/** + @file + @internalAll +*/ + +#ifndef __TSYCONFG_H +#define __TSYCONFG_H + +#include +#include +#include + +#include +using namespace CommsDat; + +// +// CTsyConfig Class +// Creating the class will load the current modem settings. +// They may be refreshed by calling ReloadSettings. +// The ModemName, PortDriverName, CommPortName and String functions +// will return descriptors to the relevant settings taken from +// the current modem's settings. +// The CommConfig function will return a reference to the Configuration +// structure in the current modem's settings. +// All these retrieval functions should return NULL if there is an error. +// If there is an error ReloadingSettings it should be returned in the TInt. +// All file closing, tidying and memory deallocation should be done +// in the ~CTsyConfig destructor. +// +/** +@internalComponent +*/ +enum TConfigType + { + EConfigTypePreInit, + EConfigTypeInit, + EConfigTypeConnect, + EConfigTypeHangUp, + EConfigTypeFull, + EConfigTypeQuickInit, + EConfigTypeDDBugWorkAroundStart, + EConfigTypeDDBugWorkAroundEnd + }; + +/** +@internalComponent +*/ +const TInt KInternetAccessPoint=1; + + +class CTsyConfig : public CBase +/** +@internalComponent +*/ + { +// friend class CDefaultRecordChangeNotifier; +public: + static CTsyConfig* NewL(TBool aManual =EFalse); + ~CTsyConfig(); + + TInt ConfigModemString(const TDesC& aStringTag,TDes8& aString); + TInt ConfigModemString(const TDesC& aStringTag,TDes16& aString); + TInt PortConfig(TCommConfig& aConfigPckg,TConfigType aConfigType); + void GetIntervalPref(TInt& aInterval); + void GetSpeakerSettingPref(RCall::TMonitorSpeakerControl& aSpeakerSetting); + void GetSpeakerVolumePref(RCall::TMonitorSpeakerVolume& aSpeakerVolume); + void GetWaitForDialTonePref(RCall::TWaitForDialTone& aWaitForDialTonePref); + void GetCurrentTableViewsL(); + void GetLocationModemSettingsL(); + void ResetCurrentTableViews(TBool aForceErase=EFalse); + void GetRequestedTableViewsL(); + void SetTableViewsL(RMobilePhone::TMMTableSettings& aMMTableSettings); + +protected: + void CommConfigL(TCommConfigV01& aConfig); +private: + // Private object construction methods + CTsyConfig(); + void ConstructL(TBool aExplicit); + + // Private utility methods +// TBool ModemTableUsesMMTSYL(const TUint32& aModemId); + void GetModemBearerIdL(TUint32& aBearerId); + void GetLocationIdL(const TUint32& aBearerId, TUint32& aLocationId); + + TInt ConfigModemStringL(const TDesC& aStringTag,TDes8& aString); + TInt ConfigModemStringL(const TDesC& aStringTag,TDes16& aString); + +private: + TCommConfigV01 iConfig; + CMDBSession* iDbSession; + TUint32 iModemBearer; + TUint32 iLocationId; + TBool iManualConfigMode; + RMobilePhone::TMMTableSettings iMMTableSettings; + + TInt iInterval; + RCall::TMonitorSpeakerControl iSpeakerSetting; + RCall::TMonitorSpeakerVolume iSpeakerVolume; + RCall::TWaitForDialTone iWaitForDialTonePref; + }; + +#endif