--- /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 <e32base.h>
+#include <d32comm.h>
+#include <etelmm.h>
+
+#include <commsdattypesv1_1.h>
+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