williamr@2: // Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies). williamr@2: // All rights reserved. williamr@2: // This component and the accompanying materials are made available williamr@4: // under the terms of "Eclipse Public License v1.0" williamr@2: // which accompanies this distribution, and is available williamr@4: // at the URL "http://www.eclipse.org/legal/epl-v10.html". williamr@2: // williamr@2: // Initial Contributors: williamr@2: // Nokia Corporation - initial contribution. williamr@2: // williamr@2: // Contributors: williamr@2: // williamr@2: // Description: williamr@2: // Comms Data Type Definitions version 1.1 williamr@2: // Container classes expressing Symbian OS Comms Data Types that can be stored in the Comms Repository williamr@2: // Type Definitions are version controlled. New versions may be introduced from time to time. williamr@2: // Then older versions are marked as deprecated and given a planned removal date. williamr@2: // This version introduced with Release 9.1 williamr@2: // williamr@2: // williamr@2: williamr@2: /** williamr@2: @file williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: williamr@2: #if (!defined COMMSDATTYPESV1_1_H) williamr@2: #define COMMSDATTYPESV1_1_H williamr@2: williamr@2: #include williamr@2: #include williamr@2: #include williamr@2: #include williamr@2: williamr@2: #include williamr@2: williamr@4: williamr@2: namespace CommsDat williamr@2: { williamr@2: williamr@2: williamr@4: // williamr@2: // COMMSDAT RECORD BASE CLASS williamr@2: // Contains fields common to all records williamr@2: // williamr@2: williamr@2: class CCDRecordBase : public CMDBRecordBase williamr@2: /** williamr@2: Base class for wrapper containers for supported CommsDat recordtypes williamr@2: Alternatively the class CMDBGenericRecord can be used to express any record. williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: { williamr@2: public: williamr@2: williamr@4: IMPORT_C CCDRecordBase(TMDBElementId aElementId); //< Import CCDRecordBase constructor from another DLL. williamr@2: williamr@4: IMPORT_C static CMDBRecordBase* RecordFactoryL(TMDBElementId); //< Import function RecordFactoryL from another DLL. williamr@2: williamr@4: IMPORT_C static CMDBRecordBase* CreateCopyRecordL(CMDBRecordBase& aCopyFromRecord); //< Import function CreateCopyRecordL from another DLL. williamr@2: williamr@2: void ConstructL(); williamr@2: protected: williamr@2: williamr@2: EXP_DATA_VTABLE williamr@2: williamr@2: public: williamr@2: williamr@2: // Element members williamr@2: williamr@4: CMDBField iRecordTag; // iRecordName; //< User-defined name for this record. Should be unique in this table. williamr@2: williamr@2: private: williamr@2: williamr@2: CCDRecordBase(){} williamr@2: }; williamr@2: williamr@2: #ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY williamr@4: // williamr@2: // BASE CLASS FOR ALL SERVICE RECORDS williamr@2: // Contains fields common to all service records williamr@2: // williamr@2: /** williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: class CCDParamsRecordBase : public CCDRecordBase williamr@2: { williamr@2: public: williamr@2: // Constructor williamr@2: /** williamr@2: @internalComponent williamr@2: */ williamr@2: CCDParamsRecordBase(); williamr@2: /** williamr@2: @internalComponent williamr@2: */ williamr@2: CCDParamsRecordBase(TMDBElementId aElementId); williamr@2: williamr@2: const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;} williamr@2: williamr@2: protected: williamr@2: williamr@2: DATA_VTABLE williamr@2: williamr@2: public: williamr@2: williamr@2: // Field Declarations shared by all Params Records williamr@2: CMDBField iSTypeId; williamr@2: williamr@2: private: williamr@2: williamr@2: static const SRecordTypeInfo* const iRecordInfo; williamr@2: }; williamr@2: #endif williamr@2: williamr@4: // williamr@2: // BASE CLASS FOR ALL SERVICE RECORDS williamr@2: // Contains fields common to all service records williamr@2: // williamr@2: /** williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: class CCDServiceRecordBase : public CCDRecordBase williamr@2: { williamr@2: public: williamr@2: // Constructor williamr@2: /** williamr@2: @internalComponent williamr@2: */ williamr@2: CCDServiceRecordBase(); williamr@2: /** williamr@2: @internalComponent williamr@2: */ williamr@2: CCDServiceRecordBase(TMDBElementId aElementId); williamr@2: williamr@2: /** williamr@2: Gets the following information: williamr@2: - iTypeId williamr@2: - iValType williamr@2: - iTypeAttr williamr@2: - iTypeName williamr@2: williamr@2: @return Returns a const pointer to the record containing the data - client does not need to delete this pointer after use. williamr@2: */ williamr@2: const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;} williamr@2: williamr@2: protected: williamr@2: williamr@2: DATA_VTABLE williamr@2: williamr@2: public: williamr@2: williamr@2: // Field Declarations shared by all Service Records williamr@4: CMDBField iServiceEnableLlmnr; //< Specifies whether Link-local multicast name resolution is enabled. williamr@2: williamr@2: private: williamr@2: williamr@2: static const SRecordTypeInfo* const iRecordInfo; williamr@2: }; williamr@2: williamr@2: williamr@2: williamr@4: // williamr@2: // BASE CLASS FOR ALL BEARER RECORDS williamr@2: // Contains fields common to all bearer records williamr@2: // williamr@2: /** williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: class CCDBearerRecordBase : public CCDRecordBase williamr@2: { williamr@2: public: williamr@2: williamr@2: // Constructor williamr@2: /** williamr@2: @internalComponent williamr@2: */ williamr@2: CCDBearerRecordBase(); williamr@2: /** williamr@2: @internalComponent williamr@2: */ williamr@2: CCDBearerRecordBase(TMDBElementId aElementId); williamr@2: williamr@2: /** williamr@2: Gets the following information: williamr@2: - iTypeId williamr@2: - iValType williamr@2: - iTypeAttr williamr@2: - iTypeName williamr@2: williamr@2: @return Returns a const pointer to the record containing the data - client does not need to delete this pointer after use. williamr@2: */ williamr@2: const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;} williamr@2: williamr@2: protected: williamr@2: williamr@2: DATA_VTABLE williamr@2: williamr@2: public: williamr@2: williamr@2: // Field Declarations shared by all Bearer Records williamr@4: CMDBField iBearerAgent; //< Name of the agent to be used by a particular bearer williamr@2: williamr@2: private: williamr@2: williamr@2: static const SRecordTypeInfo* const iRecordInfo; williamr@2: }; williamr@2: williamr@2: williamr@2: williamr@2: class CCDIAPRecord; williamr@2: williamr@4: // williamr@2: // 02/ CONNECTION PREFERENCES RECORD williamr@2: // williamr@2: // Forward declaration williamr@2: /** williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: class CCDConnectionPrefsRecord : public CCDRecordBase williamr@2: { williamr@2: public : williamr@2: /** williamr@2: @internalComponent williamr@2: */ williamr@2: CCDConnectionPrefsRecord(); williamr@2: /** williamr@2: @internalComponent williamr@2: */ williamr@2: CCDConnectionPrefsRecord(TMDBElementId aElementId); williamr@2: williamr@2: /** williamr@2: Gets the following information: williamr@2: - iTypeId williamr@2: - iValType williamr@2: - iTypeAttr williamr@2: - iTypeName williamr@2: williamr@2: @return Returns a const pointer to the record containing the data - client does not need to delete this pointer after use. williamr@2: */ williamr@2: const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;} williamr@2: williamr@2: DATA_VTABLE williamr@2: williamr@2: public : williamr@2: // Member Elements williamr@4: CMDBField iRanking; //< IAP ranking- An IAP with ranking of 1 is attempted first and so forth. An IAP with a ranking of 0 will never be attempted for connection. williamr@4: CMDBField iDirection; //< Specifies the direction of a connection. williamr@4: CMDBField iBearerSet; //< Bearers which can be used for a connection. williamr@4: CMDBField iDialogPref; //< Specifies whether the system, on a connection attempt being started, should: a) offer the user a menu of the available connection options; b) warn that a connection is about to take place; c) connect without further notifying the user. Takes a value from the enum TCommDbDialogPref. Default value is ECommDbDialogPrefUnknown. williamr@4: CMDBRecordLink iDefaultIAP; //< The record id of the preferred IAP to connect to. williamr@2: private: williamr@2: static const SRecordTypeInfo* const iRecordInfo; williamr@2: }; williamr@2: williamr@2: williamr@2: williamr@2: //Forward defines williamr@2: class CCDLocationRecord; williamr@2: class CCDModemBearerRecord; williamr@2: class CCDNetworkRecord; williamr@2: class CCDAgentLookupRecord; williamr@2: class CCDWAPAccessPointRecord; williamr@2: class CCDAccessPointRecord; williamr@2: #ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY williamr@2: class CCDTierRecord; williamr@2: #endif williamr@2: williamr@4: // williamr@2: // 03/ GLOBAL SETTINGS RECORD williamr@2: // williamr@2: /** williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: class CCDGlobalSettingsRecord : public CCDRecordBase williamr@2: { williamr@2: public : williamr@2: williamr@2: // Constructor williamr@2: /** williamr@2: @internalComponent williamr@2: */ williamr@2: CCDGlobalSettingsRecord(); williamr@2: /** williamr@2: @internalComponent williamr@2: */ williamr@2: CCDGlobalSettingsRecord(TMDBElementId aElementId); williamr@2: williamr@2: /** williamr@2: Gets the following information: williamr@2: - iTypeId williamr@2: - iValType williamr@2: - iTypeAttr williamr@2: - iTypeName williamr@2: williamr@2: @return Returns a const pointer to the record containing the data - client does not need to delete this pointer after use. williamr@2: */ williamr@2: const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;} williamr@2: williamr@2: DATA_VTABLE williamr@2: williamr@2: public: williamr@2: williamr@2: CMDBRecordLink iWAPAccessPoint; williamr@4: CMDBField iMaxConnectionAttempts; //< Number of attempts to establish a connection. williamr@4: CMDBField iMaxRedialAttempts; //< Maximum redial attempts before report failure to user. williamr@2: williamr@4: CMDBField iSMSBearer; //< Default bearer for SMS on the phone. williamr@4: CMDBField iSMSReceiveMode; //< Clients (SMS Stack on the phone) can receive an SMS either before or after the message has been stored. If the client receives a new message, which the phone has already stored and has acknowledged, then the client does not have to do anything further. If the client receives an unstored new message which the phone has not acknowledged, then the client has the responsibility of attempting to store the message and then either "acking" or "nacking" that message to the network. williamr@2: williamr@2: williamr@4: CMDBField iGPRSAttachMode; //< Determines when the GPRS terminal should attach to the network. i.e. attach at the boot-up of the device or at a later time. williamr@4: CMDBField iAcceptIncomingGPRS; //< Specifies whether or not to allow incoming requests for PDP context activation to be automatically accepted (when there is a waiting application). williamr@4: CMDBField iGPRSClassCBearer; //< The preferred bearer when the device (phone) is forced into GPRS Class C operation. williamr@2: williamr@4: CMDBRecordLink iModemForDataAndFax; williamr@4: CMDBRecordLink iModemForPhoneServicesAndSMS; williamr@2: williamr@4: CMDBRecordLink iLocationForDataAndFax; //< Default local location info for data and fax calls. williamr@4: CMDBRecordLink iLocationForPhoneServicesAndSMS; //< Sets the default location from which you are dialling for phone services such as a SMS service williamr@2: williamr@4: CMDBField iMaxMBufHeap; //< Maximum RMBuf heap size. williamr@4: CMDBRecordLink iDefaultAgent; //< Record id of an agent from the AgentLookup table. williamr@2: williamr@4: CMDBRecordLink iDefaultNetwork; //< Default network to connect to. williamr@2: williamr@4: CMDBField iBearerAvailabilityCheckTSY; //< The name of the TSY that should be used for bearer availability checking. If this global setting is not found then the TSY specified in ModemBearer is used. williamr@4: williamr@2: //This field differentiate the Bravo selection from the 399 selection williamr@2: //(needed for implicit scenarios where prefs are not available) williamr@4: CMDBRecordLink iDefaultSnap; // iPromptForSnap; williamr@2: //endif williamr@2: williamr@2: #ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY williamr@2: CMDBRecordLink iDefaultTier; williamr@2: #endif williamr@2: williamr@4: CMDBField iRegulatoryDomain; williamr@2: williamr@4: CMDBField iWmmEnabled; williamr@4: CMDBField iEnableCountryCode; williamr@4: CMDBField iDefaultRegulatoryDomain; williamr@2: private: williamr@2: williamr@2: static const SRecordTypeInfo* const iRecordInfo; williamr@2: }; williamr@2: williamr@2: williamr@2: williamr@4: // williamr@2: // 04/ NETWORK RECORD williamr@2: // williamr@2: /** williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: class CCDNetworkRecord : public CCDRecordBase williamr@2: { williamr@2: public : williamr@2: /** williamr@2: @internalComponent williamr@2: */ williamr@2: CCDNetworkRecord(); williamr@2: /** williamr@2: @internalComponent williamr@2: */ williamr@2: CCDNetworkRecord(TMDBElementId aElementId); williamr@2: williamr@2: /** williamr@2: Gets the following information: williamr@2: - iTypeId williamr@2: - iValType williamr@2: - iTypeAttr williamr@2: - iTypeName williamr@2: williamr@2: @return Returns a const pointer to the record containing the data - client does not need to delete this pointer after use. williamr@2: */ williamr@2: const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;} williamr@2: williamr@2: DATA_VTABLE williamr@2: williamr@2: public: williamr@4: CMDBField iHostName; //< Name of the host of the network williamr@2: williamr@2: private: williamr@2: williamr@2: static const SRecordTypeInfo* const iRecordInfo; williamr@2: williamr@2: }; williamr@2: williamr@2: williamr@2: williamr@4: // williamr@2: // 05/ LOCATION RECORD williamr@2: // williamr@2: /** williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: class CCDLocationRecord : public CCDRecordBase williamr@2: { williamr@2: public : williamr@2: williamr@2: // Constructors williamr@2: /** williamr@2: @internalComponent williamr@2: */ williamr@2: CCDLocationRecord(); williamr@2: /** williamr@2: @internalComponent williamr@2: */ williamr@2: CCDLocationRecord(TMDBElementId aElementId); williamr@4: williamr@2: /** williamr@2: Gets the following information: williamr@2: - iTypeId williamr@2: - iValType williamr@2: - iTypeAttr williamr@2: - iTypeName williamr@2: williamr@2: @return Returns a const pointer to the record containing the data - client does not need to delete this pointer after use. williamr@2: */ williamr@2: const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;} williamr@2: williamr@2: DATA_VTABLE williamr@2: williamr@2: williamr@2: public: williamr@2: // MemberData williamr@4: CMDBField iIntlPrefixCode; //< Prefix code to use for international calls. williamr@4: CMDBField iNatPrefixCode; //< Prefix code to use for national calls. williamr@4: CMDBField iNatCode; //< Country code. williamr@4: CMDBField iAreaCode; //< Area code. williamr@4: CMDBField iDialOutCode; //< Number to dial for an outside line. williamr@4: CMDBField iDisableCallWaitingCode; //< Code to dial to disable call waiting facility. williamr@4: CMDBField iMobile; //< Specifies whether the device is a mobile phone. williamr@4: CMDBField iUsePulseDial; //< Specifies whether to use pulse dialling. williamr@4: CMDBField iWaitForDialTone; //< Specifies whether to wait for the dial tone. williamr@4: CMDBField iPauseAfterDialOut; //< This specifies the length of the pause (in seconds) after using the dial-out code. In the dial string this delay is represented as a comma. The number indicates the value of that comma. williamr@2: williamr@2: williamr@2: private: williamr@2: williamr@2: static const SRecordTypeInfo* const iRecordInfo; williamr@2: }; williamr@2: williamr@4: // williamr@2: // 06/ IAP RECORD williamr@2: // williamr@2: /** williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: class CCDIAPRecord : public CCDRecordBase williamr@2: { williamr@2: public: williamr@2: /** williamr@2: @internalComponent williamr@2: */ williamr@2: CCDIAPRecord(); williamr@2: /** williamr@2: @internalComponent williamr@2: */ williamr@2: CCDIAPRecord(TMDBElementId aElementId); williamr@2: williamr@2: /** williamr@2: Gets the following information: williamr@2: - iTypeId williamr@2: - iValType williamr@2: - iTypeAttr williamr@2: - iTypeName williamr@2: williamr@2: @return Returns a const pointer to the record containing the data - client does not need to delete this pointer after use. williamr@2: */ williamr@2: const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;} williamr@2: williamr@2: DATA_VTABLE williamr@2: williamr@2: public: williamr@2: williamr@2: // Member Data williamr@4: CMDBField iServiceType; //< The name of a servicing table. E.g. DialOutISP. williamr@4: CMDBRecordLink iService; //< Every IAP provides a specific service. The field IAPService provides a link between the IAP and the servicing table, It tells us which record to use from the servicing table. For example, an IAP could provide the DialOutISP service. Say IAPService = 1, this would mean the settings of first record in the DialOutISP table is provided by this particular IAP. williamr@4: CMDBField iBearerType; //< The name of the bearer to be used for the IAP. williamr@4: CMDBRecordLink iBearer; //< The record id from the Bearer table specifying the bearer to be used with the IAP. williamr@4: CMDBRecordLink iNetwork; //< The record id of the network to be used with the IAP. The IAP will connect to this network. williamr@4: CMDBField iNetworkWeighting; //< When there are multiple IAPs that wish to connect to the same network, this subset of IAPs is given a weighting. This determines the order of connection to that particular network. The IAP with the highest weighting will receive the first connection attempt and if that fails, the next highest IAP is attempted and so forth. This is an alternative way to make a connection if the ConnectionPreferences ranking system is not preferred. williamr@4: CMDBRecordLink iLocation; //< The record id specifying a location for the IAP. This field links the Location table and the IAP table together. The location determines factors such as areacode prefix dialling etc. williamr@2: #ifdef SYMBIAN_NETWORKING_UMTSR5 williamr@2: CMDBField iAppSid; // Marks this IAP for exclusive use of a particular Application williamr@2: #endif williamr@2: private: williamr@2: williamr@2: static const SRecordTypeInfo* const iRecordInfo; williamr@2: }; williamr@2: williamr@2: williamr@2: williamr@4: // williamr@2: // 07/ WAP ACCESS POINT RECORD williamr@2: // williamr@2: /** williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: class CCDWAPAccessPointRecord : public CCDRecordBase williamr@2: { williamr@2: public: williamr@2: /** williamr@2: @internalComponent williamr@2: */ williamr@2: CCDWAPAccessPointRecord(); williamr@2: /** williamr@2: @internalComponent williamr@2: */ williamr@2: CCDWAPAccessPointRecord(TMDBElementId aElementId); williamr@2: williamr@2: /** williamr@2: Gets the following information: williamr@2: - iTypeId williamr@2: - iValType williamr@2: - iTypeAttr williamr@2: - iTypeName williamr@2: williamr@2: @return Returns a const pointer to the record containing the data - client does not need to delete this pointer after use. williamr@2: */ williamr@2: const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;} williamr@2: williamr@2: DATA_VTABLE williamr@2: williamr@2: public : williamr@2: williamr@2: // Member Elements williamr@4: CMDBField iWAPCurrentBearer; //< The name of the table from which to read the bearer information. This can be WAP_IP_BEARER or WAP_SMS_BEARER. williamr@4: CMDBField iWAPStartPage; //< WAP start page URL. williamr@2: williamr@2: private: williamr@2: williamr@2: static const SRecordTypeInfo* const iRecordInfo; williamr@2: }; williamr@2: williamr@2: williamr@2: //Forward declaration williamr@2: class CCDChargecardRecord; williamr@2: williamr@4: // williamr@2: // 08/ DIAL OUT ISP SERVICE RECORD williamr@2: // williamr@2: /** williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: class CCDDialOutISPRecord : public CCDServiceRecordBase williamr@2: { williamr@2: williamr@2: public: williamr@2: /** williamr@2: @internalComponent williamr@2: */ williamr@2: CCDDialOutISPRecord(); williamr@2: /** williamr@2: @internalComponent williamr@2: */ williamr@2: CCDDialOutISPRecord(TMDBElementId aId); williamr@2: williamr@2: DATA_VTABLE williamr@2: williamr@4: /** williamr@2: Gets the following information: williamr@2: - iTypeId williamr@2: - iValType williamr@2: - iTypeAttr williamr@2: - iTypeName williamr@2: williamr@2: @return Returns a const pointer to the record containing the data - client does not need to delete this pointer after use. williamr@2: */ williamr@2: const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;} williamr@2: williamr@2: williamr@2: public: williamr@2: williamr@2: // Member Data williamr@2: williamr@4: CMDBField iDescription; //< Description of the ISP. williamr@4: CMDBField iType; //< Type of browser protocol used. The term 'browser protocol' is used to differentiate between the standards that are used when browsing web pages. For example HTML for general internet standards and WML for WAP standards. williamr@4: CMDBField iDefaultTelNum; //< Default phone number for an ISP, used to dial-up to the ISP. williamr@4: CMDBField iDialResolution; //< Specifies whether to add additional information from the Location table such as AreaCode, NatCode to the ISP number (DefaultTelNum) to be dialled. williamr@4: CMDBRecordLink iChargecard; //< This is an optional field which is set when the ISP has permission from the user to use their chargecard details such as their account number. CCDDialOutISP ::iChargecard williamr@4: CMDBField iUseLoginScript; //< Specifies whether to login with a script or not. williamr@4: CMDBField iLoginScript; //< The actual script used to login to the ISP. williamr@4: CMDBField iPromptForLogin; //< Prompt user to enter login information to start a session with the ISP, i.e. username and password. williamr@4: CMDBField iLoginName; //< User login name. williamr@4: CMDBField iLoginPass; //< User login password. williamr@4: CMDBField iDisplayPct; //< Specifies whether to display the post connection terminal (PCT) (without scanning the login script for READ commands). williamr@4: CMDBField iIfParams; //< Interface parameter string-used to specify the lower layer that the interface protocol is to use. williamr@4: CMDBField iIfNetworks; //< Comma separated list of network protocols to be used by the NIF. williamr@4: CMDBField iIfPromptForAuth; //< Specifies whether or not to request an authentication username and password. This depends on whether or not the user wishes to connect to the ISP's NIF(s). williamr@4: CMDBField iIfAuthName; //< Prompt user to enter authentication username. Used when a user wishes to connect to the ISP's NIF(s). E.g. PPP. williamr@4: CMDBField iIfAuthPass; //< Prompt user to enter authentication password used by an interface protocol such as PPP. Used when a user wishes to connect to the ISP's NIF(s). E.g. PPP. williamr@4: CMDBField iIfAuthRetries; //< Number of times to retry authentication if it fails. williamr@4: CMDBField iIfCallbackEnabled; //< Specifies whether call-back is enabled. Call-back is usually due to security or toll-saving reasons. williamr@4: CMDBField iIfCallbackType; //< The Internet Engineering Task Force (IETF) Callback type. For more detailed information of the meaning of the possible values for this field, please refer to information regarding the Call-back Control Protocol (CBCP) and the Microsoft CBCP. williamr@4: CMDBField iIfCallbackInfo; //< Info for call-back request if enabled. This information could for example be a phone number. williamr@4: CMDBField iCallbackTimeout; //< Time duration to wait for the ISP to call back and establish a connection. In microseconds (if call-back is enabled). williamr@4: CMDBField iIfServerMode; //< PPP in server mode? williamr@4: CMDBField iIpAddrFromServer; //< Specifies whether to get the IP address from the ISP. williamr@4: CMDBField iIpAddr; //< Static IP Address (if required). This is the IP address of a NIF. This is used if the address is not dynamically allocated by the ISP. williamr@4: CMDBField iIpNetMask; //< IP netmask of the NIF. williamr@4: CMDBField iIpGateway; //< IP address of the Gateway. williamr@4: CMDBField iIpDnsAddrFromServer; //< Specifies whether to get the DNS address (IPV4) from the ISP. williamr@4: CMDBField iIpNameServer1; //< Static address of the Primary IPV4 DNS server if required. This is used if the address of the name server is not dynamically allocated by the ISP. May be set to 0.0.0.0 to disable assigning the primary DNS address. williamr@4: CMDBField iIpNameServer2; //< Static address of the Secondary IPV4 DNS server (if required). May be set to 0.0.0.0 to disable assigning the secondary DNS address. williamr@4: CMDBField iIp6DnsAddrFromServer; //< Specifies whether to get the DNS address (IPV6) from the ISP. williamr@4: CMDBField iIp6NameServer1; //< Static address of the Primary IPV6 name server if required. This is used if the address of the name server is not dynamically allocated by the ISP. May be set to 0.0.0.0 to disable assigning the primary DNS address. williamr@4: CMDBField iIp6NameServer2; //< Static address of the Secondary IPV6 name server if required. May be set to 0.0.0.0 to disable assigning the secondary DNS address. williamr@4: CMDBField iIpAddrLeaseValidFrom; //< Start of the address lease for dynamic address allocation by the ISP (e.g. a DHCP assigned IP address). Start time information stating when the IP address was leased out. The format is as follows: dd/mm/yyyy hr:mins AM/PM, e.g. 04/08/2006 6:21 PM. williamr@4: CMDBField iIpAddrLeaseValidTo; //< End of the address lease for dynamic address allocation by the ISP (e.g. a DHCP assigned IP address). End time information stating when the IP address lease finishes. The format is as follows: dd/mm/yyyy hr:mins AM/PM, e.g. 08/08/2006 6:21 PM. williamr@4: CMDBField iConfigDaemonManagerName; //< Name of the ECOM daemon manager plug-in for NIFMAN used to load a specific configuration daemon. williamr@4: CMDBField iConfigDaemonName; //< Name of the daemon used for address configuration. williamr@4: CMDBField iEnableIpHeaderComp; //< Specifies whether to enable IP header compression protocol. williamr@4: CMDBField iEnableLcpExtension; //< Specifies whether to enable LCP extension protocol. williamr@4: CMDBField iDisablePlainTextAuth; //< Specifies whether to disable plain text authentication. If disabled, PAP cannot be used- CHAP will be used instead. williamr@4: CMDBField iEnableSwComp; //< Specifies whether to enable software compression. Here, the data payload is compressed, which is separate to header compression. Enabling this field will enable compression such as Microsoft or Predictor compression. williamr@4: CMDBField iBearerName; //< Name of the bearer used to establish and transmit data over the connection williamr@4: CMDBField iBearerSpeed; //< Baud rate of the bearer. williamr@4: CMDBField iBearerCe; //< Defines the quality of service (QoS) of the connection. williamr@4: CMDBField iInitString; //< Initialisation string for the bearer, used specifically when a modem is in use. It is used to initialise (init) the modem by sending it a string of commands, typically Hayes commands. williamr@4: CMDBField iBearerType; //< The bearer's chosen method to transmit data. This can be of 2 types - either CSD or HSCSD. williamr@4: CMDBField iChannelCoding; //< The channel coding used for the connection. This field can only be used when the BearerType field has a value of "HSCSD". williamr@4: CMDBField iAiur; //< Air interface user rate (AIUR) - The AIUR (Air Interface User Rate) is the rate indicated between a Mobile Terminal (Mobile Station) and the IWF (Interworking function) for transparent and non-transparent data services. williamr@4: CMDBField iRequestedTimeSlots; //< Requested number of time slots for HSCSD. williamr@4: CMDBField iMaximumTimeSlots; //< Maximum number of time slots for HSCSD which could be requested during the connection. williamr@4: CMDBField iBearerService; //< Bearer service refers to a service that allows transmission of data between NIFs. It defines the correct service to use when setting up the data connection. williamr@4: CMDBField iBearerProtocol; //< A set of standards governed by the ITU-T allowing different bearers to communicate with each other. Bearer protocol definitions are typically referred to by the letter V followed by a number. williamr@4: CMDBField iRlpVersion; //< Radio Link Protocol (RLP)- is an automatic repeat request (ARQ) protocol used over a wireless interface. RLP is differentiated by version numbers. williamr@4: CMDBField iIwfToMs; //< Integer specifying network to MS (Mobile Station) window size. IWF stands for Interworking Function and MS stands for Mobile Station. williamr@4: CMDBField iMsToIwf; //< Integer specifying MS (Mobile Station) to network window size. williamr@4: CMDBField iAckTimer; //< Acknowledgement Timer: takes an integer specifying RLP ack timeout in microseconds. williamr@4: CMDBField iRetransmissionAttempts; //< Specifies number of RLP retransmission attempts. williamr@4: CMDBField iResequencePeriod; //< Specifies the period when packets are being resequenced. williamr@4: CMDBField iV42Compression; //< Enumeration specifying 1) Whether or not to set V.42 Compression 2) Direction that compression is used. V.42 compression follows the V.42bis protocol which is a data compression protocol used on top of the bearer protocol. williamr@4: CMDBField iV42Codewords; //< Specifies the V.42 codewords if V.42 compression is used. A codeword represents a string of characters in compressed form. williamr@4: CMDBField iV42MaxLength; //< Specifies the maximum string length of the data before V.42 compression. williamr@4: CMDBField iAsymmetry; //< For HSCSD. An enumeration to specify whether 1) asymmetrical bias on the connection is preferred 2) Type of asymmetrical bias used. Note: The service provided by uplink and downlink is different. williamr@4: CMDBField iUserInitUpgrade; //< Specifies whether the user will initialise service upgrade over HSCSD or not williamr@4: CMDBField iUseEdge; //< Specifies whether to use EDGE technology. williamr@2: williamr@2: private: williamr@2: williamr@2: static const SRecordTypeInfo* const iRecordInfo; williamr@2: }; williamr@2: williamr@2: williamr@2: williamr@2: williamr@4: // williamr@2: // 09/ DIAL IN ISP RECORD williamr@2: // williamr@2: /** williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: class CCDDialInISPRecord : public CCDServiceRecordBase williamr@2: { williamr@2: public: williamr@2: /** williamr@2: @internalComponent williamr@2: */ williamr@2: CCDDialInISPRecord(); williamr@2: /** williamr@2: @internalComponent williamr@2: */ williamr@2: CCDDialInISPRecord(TMDBElementId aId); williamr@2: williamr@2: DATA_VTABLE williamr@2: williamr@2: /** williamr@2: Gets the following information: williamr@2: - iTypeId williamr@2: - iValType williamr@2: - iTypeAttr williamr@2: - iTypeName williamr@2: williamr@2: @return Returns a const pointer to the record containing the data - client does not need to delete this pointer after use. williamr@2: */ williamr@2: const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;} williamr@2: williamr@2: williamr@2: public: williamr@2: williamr@2: // Member Data williamr@4: CMDBField iDescription; //< Description of the ISP. williamr@4: CMDBField iType; //< Type of browser protocol used. The term 'browser protocol' is used to differentiate between the standards that are used when browsing web pages. For example HTML for general internet standards and WML for WAP standards. williamr@4: CMDBField iUseLoginScript; //< Specifies whether to login with a script or not williamr@4: CMDBField iLoginScript; //< The actual script used to login to the ISP williamr@4: CMDBField iAuthentication; //< Reserved for future use. williamr@4: CMDBField iIfAuthRetries; //< Number of times to retry authentication if it fails. williamr@4: CMDBField iIfParams; //< Interface parameter string-used to specify the lower layer that the interface protocol is to use. williamr@4: CMDBField iIfNetworks; //< Comma separated list of network protocols to be used by the NIF. williamr@4: CMDBField iIpAddrFromServer; //< Specifies whether to get the IP address from the ISP. williamr@4: CMDBField iIpAddr; //< Static IP Address (if required). This is the IP address of a NIF. This is used if the address is not dynamically allocated by the ISP. williamr@4: CMDBField iIpNetMask; //< IP netmask of the NIF. williamr@4: CMDBField iIpGateway; //< IP address of the Gateway. williamr@4: CMDBField iIpDnsAddrFromServer; //< Specifies whether to get the DNS address (IPV4) from the ISP. williamr@4: CMDBField iIpNameServer1; //< Static address of the Primary IPV4 DNS server if required. This is used if the address of the name server is not dynamically allocated by the ISP. May be set to 0.0.0.0 to disable assigning the primary DNS address. williamr@4: CMDBField iIpNameServer2; //< Static address of the Secondary IPV4 DNS server (if required). May be set to 0.0.0.0 to disable assigning the secondary DNS address. williamr@4: CMDBField iIp6DnsAddrFromServer; //< Specifies whether to get the DNS address (IPV6) from the ISP. williamr@4: CMDBField iIp6NameServer1; //< Static address of the Primary IPV6 name server if required. This is used if the address of the name server is not dynamically allocated by the ISP. May be set to 0.0.0.0 to disable assigning the primary DNS address. williamr@4: CMDBField iIp6NameServer2; //< Static address of the Secondary IPV6 name server if required. May be set to 0.0.0.0 to disable assigning the secondary DNS address. williamr@4: CMDBField iEnableIpHeaderComp; //< Specifies whether to enable IP header compression protocol. williamr@4: CMDBField iEnableLcpExtension; //< Specifies whether to enable LCP extension protocol. williamr@4: CMDBField iDisablePlainTextAuth; //< Specifies whether to disable plain text authentication. If disabled, PAP cannot be used- CHAP will be used instead. williamr@4: CMDBField iEnableSwComp; //< Specifies whether to enable software compression. Here, the data payload is compressed, which is separate to header compression. Enabling this field will enable compression such as Microsoft or Predictor compression. williamr@4: CMDBField iBearerName; //< Name of the bearer used to establish and transmit data over the connection. williamr@4: CMDBField iBearerSpeed; //< Baud rate of the bearer. williamr@4: CMDBField iBearerCe; //< Defines the quality of service (QoS) of the connection. williamr@4: CMDBField iInitString; //< Initialisation string for the bearer, used specifically when a modem is in use. It is used to initialise (init) the modem by sending it a string of commands, typically Hayes commands. williamr@4: CMDBField iUseEdge; //< Specifies whether to use EDGE technology. williamr@2: williamr@2: williamr@2: private: williamr@2: williamr@2: static const SRecordTypeInfo* const iRecordInfo; williamr@2: }; williamr@2: williamr@2: williamr@2: williamr@4: // williamr@2: // 0A/ LAN Service Record williamr@2: // williamr@2: typedef CCDRecordBase CCDServiceExtRecordBase; williamr@2: /** williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: class CCDLANServiceRecord : public CCDServiceRecordBase williamr@2: { williamr@2: public: williamr@2: /** williamr@2: @internalComponent williamr@2: */ williamr@2: CCDLANServiceRecord(); williamr@2: /** williamr@2: @internalComponent williamr@2: */ williamr@2: CCDLANServiceRecord(TMDBElementId aElementId); williamr@2: williamr@2: /** williamr@2: Gets the following information: williamr@2: - iTypeId williamr@2: - iValType williamr@2: - iTypeAttr williamr@2: - iTypeName williamr@2: williamr@2: @return Returns a const pointer to the record containing the data - client does not need to delete this pointer after use. williamr@2: */ williamr@2: const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;} williamr@2: williamr@2: DATA_VTABLE williamr@2: williamr@2: williamr@2: public: williamr@2: williamr@2: // Member Data williamr@4: CMDBField iIfNetworks; //< Comma separated list of network protocols to be used by the NIF. williamr@4: CMDBField iIpNetmask; //< IP netmask of the NIF. williamr@4: CMDBField iIpGateway; //< IP address of the Gateway. williamr@4: CMDBField iIpAddrFromServer; //< Specifies whether to get the IP address from the ISP. williamr@4: CMDBField iIpAddr; //< Static IP Address (if required). This is the IP address of a NIF. This is used if the address is not dynamically allocated by the ISP. williamr@4: CMDBField iIpDnsAddrFromServer; //< Specifies whether to get the DNS address (IPV4) from the ISP. williamr@4: CMDBField iIpNameServer1; //< Static address of the Primary IPV4 DNS server if required. This is used if the address of the name server is not dynamically allocated by the ISP. May be set to 0.0.0.0 to disable assigning the primary DNS address. williamr@4: CMDBField iIpNameServer2; //< Static address of the Secondary IPV4 DNS server (if required). May be set to 0.0.0.0 to disable assigning the secondary DNS address. williamr@4: CMDBField iIp6DnsAddrFromServer; //< Specifies whether to get the DNS address (IPV6) from the ISP. williamr@4: CMDBField iIp6NameServer1; //< Static address of the Primary IPV6 name server if required. This is used if the address of the name server is not dynamically allocated by the ISP. May be set to 0.0.0.0 to disable assigning the primary DNS address. williamr@4: CMDBField iIp6NameServer2; //< Static address of the Secondary IPV6 name server if required. May be set to 0.0.0.0 to disable assigning the secondary DNS address. williamr@4: CMDBField iIpAddrLeaseValidFrom; //< Start of the address lease for dynamic address allocation by the ISP (e.g. a DHCP assigned IP address). Start time information stating when the IP address was leased out. The format is as follows: dd/mm/yyyy hr:mins AM/PM, e.g. 04/08/2006 6:21 PM. williamr@4: CMDBField iIpAddrLeaseValidTo; //< End of the address lease for dynamic address allocation by the ISP (.e.g. a DHCP assigned IP address). End time information stating when the IP address lease finishes. The format is as follows: dd/mm/yyyy hr:mins AM/PM, e.g. 08/08/2006 6:21 PM. williamr@4: CMDBField iConfigDaemonManagerName; //< Name of the ECOM daemon manager plug-in for NIFMAN used to load a specific configuration daemon. williamr@4: CMDBField iConfigDaemonName; //< Name of the daemon used for address configuration. williamr@4: CMDBField iServiceExtensionTableName; //< Name of the extension table. williamr@4: CMDBRecordLink iServiceExtensionTableRecordId; williamr@2: williamr@2: private: williamr@2: williamr@2: static const SRecordTypeInfo* const iRecordInfo; williamr@2: }; williamr@2: williamr@2: williamr@2: // williamr@2: // 0C/ VPN SERVICE RECORD williamr@2: // williamr@2: /** williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: class CCDVPNServiceRecord : public CCDServiceRecordBase williamr@2: { williamr@2: public: williamr@2: /** williamr@2: @internalComponent williamr@2: */ williamr@2: CCDVPNServiceRecord(); williamr@2: /** williamr@2: @internalComponent williamr@2: */ williamr@2: CCDVPNServiceRecord(TMDBElementId aElementId); williamr@2: williamr@2: DATA_VTABLE williamr@2: williamr@2: /** williamr@2: Gets the following information: williamr@2: - iTypeId williamr@2: - iValType williamr@2: - iTypeAttr williamr@2: - iTypeName williamr@2: williamr@2: @return Returns a const pointer to the record containing the data - client does not need to delete this pointer after use. williamr@2: */ williamr@2: const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;} williamr@2: public: williamr@2: williamr@2: // Member Data williamr@2: CMDBField iServicePolicy; ///< Policy id of the policy file- this is a reference to the policy file. williamr@2: CMDBRecordLink iServiceIAP; ///< Record id of the real IAP used by the IPSEC software to communicate with the VPN gateway. williamr@4: CMDBRecordLink iServiceSNAP; ///< Record id of the SNAP id used by the IPSEC software to communicate with the VPN gateway. williamr@2: CMDBRecordLink iServiceNetwork;///< Record id of the real Network to be connected to by the virtual tunnel. williamr@2: williamr@2: private: williamr@2: williamr@2: static const SRecordTypeInfo* const iRecordInfo; williamr@2: }; williamr@2: williamr@2: williamr@2: // williamr@2: // 10/ WCDMA Packet Service Record williamr@2: // williamr@2: class CCDUmtsR99QoSAndOnTableRecord; williamr@2: /** williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: williamr@2: class CCDWCDMAPacketServiceRecord : public CCDServiceRecordBase williamr@2: { williamr@2: public: williamr@2: /** williamr@2: @internalComponent williamr@2: */ williamr@4: CCDWCDMAPacketServiceRecord(); williamr@2: /** williamr@2: @internalComponent williamr@2: */ williamr@2: CCDWCDMAPacketServiceRecord(TMDBElementId aElementId); williamr@2: williamr@2: DATA_VTABLE williamr@2: williamr@4: /** williamr@2: Gets the following information: williamr@2: - iTypeId williamr@2: - iValType williamr@2: - iTypeAttr williamr@2: - iTypeName williamr@2: williamr@2: @return Returns a const pointer to the record containing the data - client does not need to delete this pointer after use. williamr@2: */ williamr@2: const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;} williamr@2: williamr@2: williamr@2: public: williamr@2: williamr@2: // Member Data williamr@4: CMDBField iGPRSAPN; //< When the mobile phone sets up a PDP context, the access point is chosen by specifying an APN. williamr@4: CMDBField iGPRSPDPType; //< PDP is a network protocol which is used by packet switching networks to communicate with GPRS networks. IPV6 is an example of a PDP type supported by GPRS. williamr@4: CMDBField iGPRSPDPAddress; //< PDP address of the phone. williamr@4: CMDBField iGPRSReqPrecedence; //< Requested quality of service precedence class. This field has been deprecated and may be removed in the future. williamr@4: CMDBField iGPRSReqDelay; //< Requested quality of service delay class. This field has been deprecated and may be removed in the future. williamr@4: CMDBField iGPRSReqReliability; //< Requested quality of service reliability class. This field has been deprecated amnd may be removed in the future. williamr@4: CMDBField iGPRSReqPeakThroughput; //< Requested quality of service peak throughput. This field has been deprecated and may be removed in the future. williamr@4: CMDBField iGPRSReqMeanThroughput; //< Requested quality of service mean throughput class. This field has been deprecated and may be removed in the future. williamr@4: CMDBField iGPRSMinPrecedence; //< Minimum quality of service precedence class. This field has been deprecated and may be removed in the future. williamr@4: CMDBField iGPRSMinDelay; //< Minimum quality of service delay class This field has been deprecated and may be removed in the future. williamr@4: CMDBField iGPRSMinReliability; //< Minimum quality of service reliability class. This field has been deprecated and may be removed in the future. williamr@4: CMDBField iGPRSMinPeakThroughput; //< Minimum quality of service peak throughput class. This field has been deprecated and may be removed in the future. williamr@4: CMDBField iGPRSMinMeanThroughput; //< Minimum quality of service mean throughput class. This field has been deprecated and may be removed in the future. williamr@4: CMDBField iGPRSDataCompression; //< Specifies whether to compress data. williamr@4: CMDBField iGPRSHeaderCompression; //< Specifies whether IP header compression is on. williamr@4: CMDBField iGPRSUseEdge; //< Specifies whether to use EDGE technology. williamr@4: CMDBField iGPRSAnonymousAccess; //< This tells the MS (Mobile Station) whether to try anonymous access or not. Anonymous access allows the mobile device to connect to a network without having to authenticate identity. To access the network, the MS (Mobile Station) will just use a random identity. williamr@4: CMDBField iGPRSIfParams; //< Interface parameter string-used to specify the lower layer that the interface protocol is to use. williamr@4: CMDBField iGPRSIfNetworks; //< Comma separated list of network protocols to be used by the NIF. williamr@4: CMDBField iGPRSIfPromptForAuth; //< Specifies whether or not to request an authentication username and password. This depends on whether or not the user wishes to connect to the ISP's NIF(s). williamr@4: CMDBField iGPRSIfAuthName; //< Prompt user to enter authentication username. Used when a user wishes to connect to the ISP's NIF(s). E.g. PPP. williamr@4: CMDBField iGPRSIfAuthPass; //< Prompt user to enter authentication password used by an interface protocol such as PPP. Used when a user wishes to connect to the ISP's NIF(s). E.g. PPP. williamr@4: CMDBField iGPRSIfAuthRetries; //< Number of times to retry authentication if it fails. williamr@4: CMDBField iGPRSIPNetMask; //< IP netmask of the NIF. williamr@4: CMDBField iGPRSIPGateway; //< IP address of the Gateway. williamr@4: CMDBField iGPRSIPAddrFromServer; //< Specifies whether to get the IP address from the ISP. williamr@4: CMDBField iGPRSIPAddr; //< Static IP Address (if required). This is the IP address of a NIF. This is used if the address is not dynamically allocated by the ISP. williamr@4: CMDBField iGPRSIPDNSAddrFromServer; //< Specifies whether to get the DNS address (IPV4) from the ISP. williamr@4: CMDBField iGPRSIPNameServer1; //< Static address of the Primary IPV4 DNS server if required. This is used if the address of the name server is not dynamically allocated by the ISP. May be set to 0.0.0.0 to disable assigning the primary DNS address. williamr@4: CMDBField iGPRSIPNameServer2; //< Static address of the Secondary IPV4 DNS server (if required). May be set to 0.0.0.0 to disable assigning the secondary DNS address. williamr@4: CMDBField iGPRSIP6DNSAddrFromServer; //< Specifies whether to get the DNS address (IPV6) from the ISP. williamr@4: CMDBField iGPRSIP6NameServer1; //< Static address of the Secondary IPV6 name server if required. May be set to 0.0.0.0 to disable assigning the secondary DNS address. williamr@4: CMDBField iGPRSIP6NameServer2; //< Static address of the Secondary IPV6 name server if required. May be set to 0.0.0.0 to disable assigning the secondary DNS address. williamr@4: CMDBField iGPRSIPAddrLeaseValidFrom; //< Start of the address lease for dynamic address allocation by the ISP (.e.g. a DHCP assigned IP address). Start time information stating when the IP address was leased out. The format is as follows: dd/mm/yyyy hr:mins AM/PM, e.g. 04/08/2006 6:21 PM. williamr@4: CMDBField iGPRSIPAddrLeaseValidTo; //< End of the address lease for dynamic address allocation by the ISP (.e.g. a DHCP assigned IP address). End time information stating when the IP address lease finishes. The format is as follows: dd/mm/yyyy hr:mins AM/PM, e.g. 08/08/2006 6:21 PM. williamr@4: CMDBField iGPRSConfigDaemonManagerName; //< Name of the ECOM daemon manager plug-in for NIFMAN used to load a specific configuration daemon. williamr@4: CMDBField iGPRSConfigDaemonName; //< Name of the configuration daemon server. This server is used to provide further configuration for a connection, e.g. dynamic IP address assignment. williamr@4: CMDBField iGPRSEnableLCPExtension; //< Specifies whether to enable LCP extension protocol. williamr@4: CMDBField iGPRSDisablePlainTextAuth; //< Specifies whether to disable plain text authentication. If disabled, PAP cannot be used- CHAP will be used instead. williamr@4: CMDBField iGPRSAPType; //< Service supports Internet only, WAP only or both. Values defined in TCommsDbIspType. williamr@4: CMDBField iGPRSQOSWarningTimeOut; //< If the requested QOS can not be satisfied, warn the user after this time in microseconds. Set to 0xffffffff to disable. williamr@4: CMDBRecordLink iUmtsR99QoSAndOnTable; //< A record link between the Incoming/Outgoing GPRS table and the UmtsR99QosAndOn table williamr@2: CMDBField iGPRSR5DataCompression; williamr@2: CMDBField iGPRSR5HeaderCompression; williamr@2: CMDBField iGPRSPacketFlowIdentifier; williamr@2: CMDBField iGPRSUmtsGprsRelease; williamr@2: williamr@2: public: williamr@2: williamr@2: static const SRecordTypeInfo* const iRecordInfo; williamr@2: }; williamr@2: williamr@2: /** williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: class CCDOutgoingGprsRecord : public CCDWCDMAPacketServiceRecord williamr@2: { williamr@2: public: williamr@2: /** williamr@2: @internalComponent williamr@2: */ williamr@2: CCDOutgoingGprsRecord(TMDBElementId aElementId); williamr@2: williamr@2: DATA_VTABLE williamr@2: }; williamr@2: williamr@2: /** williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: class CCDIncomingGprsRecord : public CCDWCDMAPacketServiceRecord williamr@2: { williamr@2: public: williamr@2: /** williamr@4: @internalComponent williamr@4: */ williamr@2: CCDIncomingGprsRecord(TMDBElementId aElementId); williamr@2: williamr@2: DATA_VTABLE williamr@2: }; williamr@2: williamr@2: /** williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: class CCDUmtsR99QoSAndOnTableRecord: public CCDRecordBase williamr@2: { williamr@2: public: williamr@2: /** williamr@2: @internalComponent williamr@2: */ williamr@2: CCDUmtsR99QoSAndOnTableRecord(); williamr@2: /** williamr@2: @internalComponent williamr@2: */ williamr@2: CCDUmtsR99QoSAndOnTableRecord(TMDBElementId aElementId); williamr@2: williamr@2: DATA_VTABLE williamr@2: williamr@2: const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;} williamr@2: williamr@2: public: williamr@4: CMDBField iGPRSReqTrafficClass; //< Requested traffic class. williamr@4: CMDBField iGPRSMinTrafficClass; //< Minimum acceptable traffic class. williamr@4: CMDBField iGPRSReqDeliveryOrder; //< Requested value for sequential SDU delivery. williamr@4: CMDBField iGPRSMinDeliveryOrder; //< Minimum acceptable value for sequential SDU delivery. williamr@4: CMDBField iGPRSReqDeliverErroneousSDU;//< Requested value for erroneous SDU delivery. williamr@4: CMDBField iGPRSMinDeliverErroneousSDU;//< Minimum acceptable value for erroneous SDU delivery. williamr@4: CMDBField iGPRSReqMaxSDUSize; //< Request maximum SDU size. williamr@4: CMDBField iGPRSMinAcceptableMaxSDUSize; //< Minimum acceptable SDU size. williamr@4: CMDBField iGPRSReqMaxUplinkRate; //< Requested maximum bit rates on uplink. williamr@4: CMDBField iGPRSReqMinUplinkRate; //< Requested minimum bit rates on uplink. williamr@4: CMDBField iGPRSReqMaxDownlinkRate; //< Requested maximum bit rates on downlink. williamr@4: CMDBField iGPRSReqMinDownlinkRate; //< Requested minimum bit rates on downlink. williamr@4: CMDBField iGPRSReqBER; //< Requested target BER. williamr@4: CMDBField iGPRSMaxBER; //< Maximum acceptable target BER. williamr@4: CMDBField iGPRSReqSDUErrorRatio; //< Requested target SDU error ratio. williamr@4: CMDBField iGPRSMaxSDUErrorRatio; //< Maximum acceptable target SDU error ratio. williamr@4: CMDBField iGPRSReqTrafficHandlingPriority; //< Requested traffic handling priority. williamr@4: CMDBField iGPRSMinTrafficHandlingPriority; //< Minimum acceptable traffic handling priority. williamr@4: CMDBField iGPRSReqTransferDelay; //< Requested transfer delay (in milliseconds). williamr@4: CMDBField iGPRSMaxTransferDelay; //< Maximum acceptable transfer delay (in milliseconds). williamr@4: CMDBField iGPRSReqGuaranteedUplinkRate; //< Requested guaranteed bit rates on uplink. williamr@4: CMDBField iGPRSMinGuaranteedUplinkRate; //< Minimum acceptable guaranteed bit rates on uplink. williamr@4: CMDBField iGPRSReqGuaranteedDownlinkRate; //< Requested guaranteed bit rates on downlink. williamr@4: CMDBField iGPRSMinGuaranteedDownlinkRate; //< Minimum acceptable guaranteed bit rates on downlink. williamr@4: CMDBField iGPRSSignallingIndication; //< Signalling indication. williamr@4: CMDBField iGPRS_ImCnSignallingIndication; //< IP Multimeida System (IMS) Core Network (CN) Signalling Indicator. williamr@4: CMDBField iGPRSSourceStatisticsDescriptor; //< Static source descriptor. williamr@2: williamr@2: public: williamr@2: static const SRecordTypeInfo* const iRecordInfo; williamr@2: }; williamr@2: williamr@4: // TCommdbBearer for BearerTechnology field williamr@4: typedef TCommDbBearer TCommsDBBearerTechnology; //< Bearer support type for field BearerTechnology williamr@4: williamr@2: // williamr@2: // 13/ MODEM BEARER RECORD williamr@2: // williamr@2: /** williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: class CCDModemBearerRecord : public CCDBearerRecordBase williamr@2: { williamr@2: public: williamr@2: /** williamr@2: @internalComponent williamr@2: */ williamr@4: CCDModemBearerRecord(); williamr@2: /** williamr@2: @internalComponent williamr@2: */ williamr@2: CCDModemBearerRecord(TMDBElementId id); williamr@2: williamr@2: /** williamr@2: Gets the following information: williamr@2: - iTypeId williamr@2: - iValType williamr@2: - iTypeAttr williamr@2: - iTypeName williamr@2: williamr@2: @return Returns a const pointer to the record containing the data - client does not need to delete this pointer after use. williamr@2: */ williamr@2: const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;} williamr@2: williamr@2: DATA_VTABLE williamr@2: williamr@2: williamr@2: public: williamr@2: williamr@2: // MemberData williamr@4: CMDBField iNifName; //< A protocol name is specified for establishing a direct connection using the modem bearer. The interface typically implements a particular network connection protocol such as PPP. williamr@4: CMDBField iPortName; //< The name of the Comm port for the modem to connect to williamr@4: CMDBField iTsyName; //< The name of the TSY. ETEL is the telephony server/common interface for Symbian. The TSY provides the hardware specific implementation to this. williamr@4: CMDBField iCsyName; //< The name of the CSY. CSY provides the Comm port specific implementation to C32 (Serial Comms server). williamr@4: CMDBField iLastSocketActivityTimeout; //< Time (in seconds) to stay online when all socket activity has ceased. williamr@4: CMDBField iLastSessionClosedTimeout; //< Time (in seconds) to stay online when session has closed williamr@4: CMDBField iLastSocketClosedTimeout; //< Time (in seconds) to stay online when socket has closed. williamr@4: CMDBField iDataBits; //< Number of data bits used for serial port configuration. williamr@4: CMDBField iStopBits; //< Number of stop bits used for serial port configuration. This marks the end of a unit of transmission, e.g. the end of a byte of data. williamr@4: CMDBField iParity; //< The type of parity checking to be used when data is transmitted over the bearer. This involves sending an extra bit known as the parity bit and can be used to detect corrupted data. williamr@4: CMDBField iRate; //< The baud rate of the modem. Measured in bits per second (bps). This specifies the maximum rate that data can be sent on this modem bearer. williamr@4: CMDBField iHandshaking; //< The handshaking process between modems is encapsulated into one integer. This integer can be viewed as a binary bitmask of bits, each bit representing one of the pins inside the RS232 serial cable. The integer value can actually be derived from taking a binary OR of each of the bits. From this integer, Symbian OS is able to check whether individual pins have been set or not for the handshaking process. williamr@4: CMDBField iSpecialRate; //< User defined baud rate for the modem. This field will contain a value only if the value of field Rate is EBpsSpecial. williamr@4: CMDBField iXonChar; //< Character used to signal to the transmitter to resume sending when using XON/XOFF handshaking. williamr@4: CMDBField iXoffChar; //< Character used to signal the transmitter to suspend sending when using XON/XOFF handshaking. williamr@4: CMDBField iFaxClassPref; //< The preferred fax modem class supported by the fax client. This is the command set used to control the modem. williamr@4: CMDBField iSpeakerPref; //< Preferred speaker mode. williamr@4: CMDBField iSpeakerVolPref; //< Preferred speaker volume. williamr@4: CMDBField iModemInitString; //< General modem initialisation string. It is used to initialise (init) the modem by sending it a series (string) of commands, typically Hayes commands. These commands configure the modem's options for things like error correction, data compression, flow control, and many other parameters. williamr@4: CMDBField iDataInitString; //< Data initialisation string. williamr@4: CMDBField iFaxInitString; //< Fax initialisation string. williamr@4: CMDBField iIspInitString; //< Initialisation string specific to a particular ISP. williamr@4: CMDBField iDialPauseLength; //< Command to modify the pause created during dialling using the comma character (','). williamr@4: CMDBField iCarrierTimeOut; //< Command to set the time out the modem uses when establishing a link before giving up and returning to command mode. williamr@4: CMDBField iAutoAnswerRingCount; //< Command to set the number of rings before the modem auto answers. williamr@4: CMDBField iSpeakerVolControlLow; //< Command to set the modem speaker volume to low. williamr@4: CMDBField iSpeakerVolControlMedium; //< Command to set the modem speaker volume to medium. williamr@4: CMDBField iSpeakerVolControlHigh; //< Command to set the modem speaker volume to high. williamr@4: CMDBField iSpeakerAlwaysOff; //< Command to set the modem speaker off. williamr@4: CMDBField iSpeakerOnUntilCarrier; //< Command to set the modem speaker on. williamr@4: CMDBField iSpeakerAlwaysOn; //< Command to set the modem speaker on until the carrier. williamr@4: CMDBField iSpeakerOnAfterUntilCarrier; //< Command to set the modem speaker on except during dialling. williamr@4: CMDBField iDialToneWaitModifier; //< The dial command modifier waits for dial tone. williamr@4: CMDBField iCallProgress1; //< Disable busy and dial tone detection. williamr@4: CMDBField iCallProgress2; //< Dial tone detection enabled, busy detection disabled. williamr@4: CMDBField iCallProgress3; //< Dial tone detection disabled, busy detection enabled. williamr@4: CMDBField iCallProgress4; //< Dial tone and busy detection enabled. williamr@4: CMDBField iEchoOff; //< Switch echo mode off. williamr@4: CMDBField iVerboseText; //< Switch verbose mode on. williamr@4: CMDBField iQuietOff; //< Switch quiet mode off. williamr@4: CMDBField iQuietOn; //< Switch quiet mode on. williamr@4: CMDBField iDialCommandStateModifier; //< Dial command modifier- used to return to command mode after dialling. williamr@4: CMDBField iOnLine; //< Enter on-line mode from on-line command mode. williamr@4: CMDBField iResetConfiguration; //< Reset the modem configurations. williamr@4: CMDBField iReturnToFactoryDefs; //< Return the modem configuration to its factory defaults. williamr@4: CMDBField iDcdOnDuringLink; //< Command the modem to only assert DCD when a carrier is actually detected, i.e. while the link is up. williamr@4: CMDBField iDtrHangUp; //< Command the modem to hang up the current call when the DTE drops the DTR line. williamr@4: CMDBField iDsrAlwaysOn; //< Command the modem to always assert DSR. williamr@4: CMDBField iRtsCtsHandshake; //< Command the modem to use RTS/CTS flow control williamr@4: CMDBField iXonXoffHandshake; //< Command the modem to use software flow control. williamr@4: CMDBField iEscapeCharacter; //< The character used by the DTE to return to command mode from on-line mode. williamr@4: CMDBField iEscapeGuardPeriod; //< Command the modem to use a particular escape sequence guard period. williamr@4: CMDBField iFaxClassInterrogate; //< Command asking the modem which fax modes are supported. williamr@4: CMDBField iFaxClass; //< Command that sets the fax mode. williamr@4: CMDBField iNoDialTone; //< Modem response when no dial tone is detected. williamr@4: CMDBField iBusy; //< Modem response when a busy tone is detected. williamr@4: CMDBField iNoAnswer; //< Modem response when no answer is detected. williamr@4: CMDBField iCarrier; //< Carrier report message. williamr@4: CMDBField iConnect; //< Connection report message. williamr@4: CMDBField iCompressionClass5; //< Compression Class 5 report message. williamr@4: CMDBField iCompressionV42bis; //< Compression V.42 bis report message. williamr@4: CMDBField iCompressionNone; //< No compression report message. williamr@4: CMDBField iProtocolLapd; //< LAPD protocol report message. williamr@4: CMDBField iProtocolAlt; //< ALT protocol report message. williamr@4: CMDBField iProtocolAltcellular; //< ALT-CELLULAR report message. williamr@4: CMDBField iProtocolNone; //< No protocol report message. williamr@4: CMDBField iMessageCentreNumber; //< Phone number of message centre. williamr@4: CMDBField iMessageValidityPeriod; //< Validity period for SMS in minutes. williamr@4: CMDBField iMessageDeliveryReport; //< Specifies whether to produce an SMS delivery report. williamr@4: CMDBField iMinSignalLevel; //< Minimum signal strength of the modem. This is the minimum signal level required for a connection to succeed. The connection will fail if below this level. Setting the column to NULL will turn off this functionality. The value must be in dBm with an offset of 10000 added to it. I.e. Value=dBm+10000. williamr@2: williamr@4: CMDBField iCommRole; //< Specifies whether comm port should be opened in the role of DTE or DCE. The content of this field is a bit mask. The value of this is ANDed with KModemCommRoleDCE. For example, say the value of CommRole is 1 then the role set is DCE, else the role set is DTE. (see KModemCommRoleDCE). williamr@4: CMDBField iControlChannelPortName; //< The modem control channel port name. williamr@4: CMDBField iSirSettings; //< This field sets the serial port's infra-red settings. This enables the range of infrared to be set, to modify the pulse width or even to completely shutdown serial infrared. Please refer to Comms Dat Ref Final documentation to see the list of values this field 'SirSettings' can take. williamr@4: CMDBField iBcaStack; //< A list of BCAs (Baseband Channel Adapter). The BCA provides an interface for the hardware adaptation layer (HAL). More specifically, it is used to interface the R-Interface data plane transport with a NIF. williamr@4: CMDBField iBearerTechnology; //< Specifies whether the bearer is a CSD/HSCSD bearer. williamr@2: williamr@2: private: williamr@2: williamr@2: static const SRecordTypeInfo* const iRecordInfo; williamr@2: }; williamr@2: williamr@2: williamr@2: williamr@2: williamr@2: williamr@4: // williamr@2: // 14/ LAN BEARER RECORD williamr@2: // williamr@2: /** williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: class CCDLANBearerRecord : public CCDBearerRecordBase williamr@2: { williamr@2: public: williamr@2: /** williamr@2: @internalComponent williamr@2: */ williamr@2: CCDLANBearerRecord(); williamr@2: /** williamr@2: @internalComponent williamr@2: */ williamr@2: CCDLANBearerRecord(TMDBElementId aId); williamr@2: williamr@4: /** williamr@2: Gets the following information: williamr@2: - iTypeId williamr@2: - iValType williamr@2: - iTypeAttr williamr@2: - iTypeName williamr@2: williamr@2: @return Returns a const pointer to the record containing the data - client does not need to delete this pointer after use. williamr@2: */ williamr@2: const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;} williamr@2: williamr@2: DATA_VTABLE williamr@2: williamr@2: public: williamr@2: williamr@4: CMDBField iLanBearerNifName; //< A protocol name is specified for establishing a direct connection. The interface typically implements a particular network connection protocol such as PPP. williamr@4: CMDBField iLanBearerLddFilename; //< This is the actual .DLL filename for the LDD. williamr@4: CMDBField iLanBearerLddName; //< This is the name of a particular LDD. williamr@4: CMDBField iLanBearerPddFilename; //< This is the actual .DLL filename for the PDD. williamr@4: CMDBField iLanBearerPddName; //< This is the name of a particular PDD. williamr@4: CMDBField iLanBearerPacketDriverName; //< The name of the packet driver. The packet driver can do the following: initiate access to a specific packet type, end access to a specific packet type, send a packet, get statistics on the NIF, and get information about the NIF. williamr@4: CMDBField iLastSocketActivityTimeout; //< Time (in seconds) to stay online when all socket activity has ceased. williamr@4: CMDBField iLastSessionClosedTimeout; //< Time (in seconds) to stay online when session has closed. williamr@4: CMDBField iLastSocketClosedTimeout; //< Time (in seconds) to stay online when socket has closed. williamr@4: CMDBField iBearerTechnology; //< Specifies whether the bearer is a CSD/HSCSD bearer. williamr@2: williamr@2: private: williamr@2: williamr@2: static const SRecordTypeInfo* const iRecordInfo; williamr@2: }; williamr@2: williamr@2: williamr@4: // williamr@2: // 15/ VIRTUAL BEARER RECORD williamr@2: // williamr@2: /** williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: class CCDVirtualBearerRecord : public CCDBearerRecordBase williamr@2: { williamr@2: public: williamr@2: /** williamr@2: @internalComponent williamr@2: */ williamr@2: CCDVirtualBearerRecord(); williamr@2: /** williamr@2: @internalComponent williamr@2: */ williamr@2: CCDVirtualBearerRecord(TMDBElementId aId); williamr@2: williamr@2: DATA_VTABLE williamr@2: williamr@2: /** williamr@2: Gets the following information: williamr@2: - iTypeId williamr@2: - iValType williamr@2: - iTypeAttr williamr@2: - iTypeName williamr@2: williamr@2: @return Returns a const pointer to the record containing the data - client does not need to delete this pointer after use. williamr@2: */ williamr@2: const SRecordTypeInfo* GetRecordInfo() {return iRecordInfo;} williamr@2: public: williamr@2: williamr@2: // Member Data williamr@4: CMDBField iVirtualBearerNifName; //< The network interface name of the virtual bearer. williamr@4: CMDBField iLastSocketActivityTimeout; //< Time (in seconds) to stay online when all socket activity has ceased. williamr@4: CMDBField iLastSessionClosedTimeout; //< Time (in seconds) to stay online when socket has closed. williamr@4: CMDBField iLastSocketClosedTimeout; //< Time (in seconds) to stay online when socket has closed. williamr@4: CMDBField iBearerTechnology; //< Specifies whether the bearer is a CSD/HSCSD bearer. williamr@2: williamr@2: private: williamr@2: williamr@2: static const SRecordTypeInfo* const iRecordInfo; williamr@2: }; williamr@2: williamr@2: williamr@2: williamr@4: // williamr@2: // 16/ WAP SMS Bearer Record williamr@2: // williamr@2: /** williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: class CCDWAPSMSBearerRecord : public CCDRecordBase williamr@2: { williamr@2: public: williamr@2: /** williamr@2: @internalComponent williamr@2: */ williamr@2: CCDWAPSMSBearerRecord(); williamr@2: /** williamr@2: @internalComponent williamr@2: */ williamr@2: CCDWAPSMSBearerRecord(TMDBElementId aElementId); williamr@2: williamr@2: DATA_VTABLE williamr@2: williamr@2: /** williamr@2: Gets the following information: williamr@2: - iTypeId williamr@2: - iValType williamr@2: - iTypeAttr williamr@2: - iTypeName williamr@2: williamr@2: @return Returns a const pointer to the record containing the data - client does not need to delete this pointer after use. williamr@2: */ williamr@2: const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;} williamr@2: williamr@2: public : williamr@2: // Member Elements williamr@4: CMDBRecordLink iWAPAccessPointId; //< ID of the WAP Access Point record to which this bearer information refers. williamr@4: CMDBField iWAPGatewayAddress; //< WAP gateway address: an IP address or phone number. williamr@4: CMDBField iWAPServiceCentreAddress; //< WAP service centre address. williamr@4: CMDBField iWAPWSPOption; //< Whether connection-oriented or connectionless API should be used. williamr@4: CMDBField iWAPSecurity; //< Attempt secure WTLS connection to the gateway. williamr@2: williamr@2: private: williamr@2: williamr@2: static const SRecordTypeInfo* const iRecordInfo; williamr@2: }; williamr@2: williamr@2: williamr@2: williamr@4: // williamr@2: // 17/ WAP IP BEARER williamr@2: // williamr@2: /** williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: class CCDWAPIPBearerRecord : public CCDRecordBase williamr@2: { williamr@2: williamr@2: public: williamr@2: /** williamr@2: @internalComponent williamr@2: */ williamr@2: CCDWAPIPBearerRecord(); williamr@2: /** williamr@2: @internalComponent williamr@2: */ williamr@2: CCDWAPIPBearerRecord(TMDBElementId aElementId); williamr@2: williamr@2: DATA_VTABLE williamr@2: williamr@2: /** williamr@2: Gets the following information: williamr@2: - iTypeId williamr@2: - iValType williamr@2: - iTypeAttr williamr@2: - iTypeName williamr@2: williamr@2: @return Returns a const pointer to the record containing the data - client does not need to delete this pointer after use. williamr@2: */ williamr@2: const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;} williamr@2: williamr@2: public : williamr@2: williamr@2: // Member Elements williamr@4: CMDBRecordLink iWAPAccessPointId; //< ID of the WAP Access Point record to which this bearer information refers. williamr@4: CMDBField iWAPGatewayAddress; //< WAP gateway address: an IP address or phone number. williamr@4: CMDBRecordLink iWAPIAP; //< Identifier of a record in the IAP table to be used. williamr@4: CMDBField iWAPWSPOption; //< Set to an enum deciding whether WAP WSP is to be set to connectionless or connection oriented. williamr@4: CMDBField iWAPSecurity; //< Attempt secure WTLS connection to the gateway. williamr@4: CMDBField iWAPProxyPort; //< Proxy port number. Required for WAP2.0 only. williamr@4: CMDBField iWAPProxyLoginName; //< Proxy login name. Required for WAP2.0 only. williamr@4: CMDBField iWAPProxyLoginPass; //< Proxy login password. Required for WAP2.0 only. williamr@2: williamr@2: williamr@2: private: williamr@2: williamr@2: static const SRecordTypeInfo* const iRecordInfo; williamr@2: }; williamr@2: williamr@2: williamr@2: williamr@2: williamr@4: // williamr@2: // 18/ CHARGECARD RECORD williamr@2: // williamr@2: /** williamr@2: Reading of ChargeCard Table data is protected with ECDPrivate Attribute. williamr@2: This will require additional capabilities to read. williamr@2: williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: class CCDChargecardRecord : public CCDRecordBase williamr@2: { williamr@2: public: williamr@2: /** williamr@2: @internalComponent williamr@2: */ williamr@2: CCDChargecardRecord(); williamr@2: /** williamr@2: @internalComponent williamr@2: */ williamr@2: CCDChargecardRecord(TMDBElementId aElementId); williamr@2: williamr@2: DATA_VTABLE williamr@2: williamr@2: /** williamr@2: Gets the following information: williamr@2: - iTypeId williamr@2: - iValType williamr@2: - iTypeAttr williamr@2: - iTypeName williamr@2: williamr@2: @return Returns a const pointer to the record containing the data - client does not need to delete this pointer after use. williamr@2: */ williamr@2: const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;} williamr@2: williamr@2: public: williamr@2: williamr@2: // Member Elements williamr@4: CMDBField iAccountNo; //< The account number to charge. williamr@4: CMDBField iPin; //< The pin number of the account to charge. williamr@4: CMDBField iLocalRule; //< An operator dependant rule specifying the order of dialling to be account number, PIN and phone number for local calls. williamr@4: CMDBField iNatRule; //< An operator dependant rule specifying the order of dialling to be account number, PIN and phone number for national calls. williamr@4: CMDBField iIntlRule; //< An operator dependant rule specifying the order of dialling to be account number, PIN and phone number for international calls. williamr@2: williamr@2: private: williamr@2: williamr@2: static const SRecordTypeInfo* const iRecordInfo; williamr@2: williamr@2: }; williamr@2: williamr@4: // williamr@2: // 19/ PROXIES RECORD williamr@2: // williamr@2: /** williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: class CCDProxiesRecord : public CCDRecordBase williamr@2: { williamr@2: public: williamr@2: /** williamr@2: @internalComponent williamr@2: */ williamr@2: CCDProxiesRecord(); williamr@2: /** williamr@2: @internalComponent williamr@2: */ williamr@2: CCDProxiesRecord(TMDBElementId aElementId); williamr@2: williamr@2: DATA_VTABLE williamr@2: williamr@2: /** williamr@2: Gets the following information: williamr@2: - iTypeId williamr@2: - iValType williamr@2: - iTypeAttr williamr@2: - iTypeName williamr@2: williamr@2: @return Returns a const pointer to the record containing the data - client does not need to delete this pointer after use. williamr@2: */ williamr@2: williamr@2: const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;} williamr@2: williamr@2: public : williamr@2: williamr@2: // Member Elements williamr@4: CMDBRecordLink iService; //< ISP with which these proxies are associated. This field takes as its value the identifier of the record from the servicing table defined in field ProxyServiceType. For example, ProxyServiceType = DialOutISP, ISP = 1, this means the first record from table DialOutISP is used. williamr@4: CMDBField iServiceType; //< The servicing table to which the ISP field refers. This is necessary as GPRS records as well as ISP records can have proxy settings associated with them. If this field is read and its length is zero, the value "DialOutISP" is returned, as it is assumed that any client that has not written this field is assuming that proxies are only available to the dial out ISP and not other service types. williamr@4: CMDBField iUseProxyServer; //< Specifies whether to use a proxy server. williamr@4: CMDBField iServerName; //< Name of the host proxy server. williamr@4: CMDBField iProtocolName; //< Name of the protocol for which this proxy can be used. williamr@4: CMDBField iPortNumber; //< Port number for the proxy server. williamr@4: CMDBField iExceptions; //< Semi-colon separated list of the addresses for which the proxy server should not be used. williamr@2: williamr@2: williamr@2: private: williamr@2: williamr@2: static const SRecordTypeInfo* const iRecordInfo; williamr@2: }; williamr@2: williamr@2: williamr@2: williamr@2: // williamr@2: // 1C/ PAN_SERVICE_EXTENSIONS williamr@2: // williamr@2: /** williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: class CCDPANServiceExtRecord : public CCDServiceRecordBase williamr@2: { williamr@2: public: williamr@2: /** williamr@2: @internalComponent williamr@2: */ williamr@2: CCDPANServiceExtRecord(); williamr@2: /** williamr@2: @internalComponent williamr@2: */ williamr@2: CCDPANServiceExtRecord(TMDBElementId aElementId); williamr@2: williamr@2: DATA_VTABLE williamr@2: williamr@2: /** williamr@2: Gets the following information: williamr@2: - iTypeId williamr@2: - iValType williamr@2: - iTypeAttr williamr@2: - iTypeName williamr@2: williamr@2: @return Returns a const pointer to the record containing the data - client does not need to delete this pointer after use. williamr@2: */ williamr@2: const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;} williamr@2: williamr@2: public: williamr@2: williamr@2: // Member Data williamr@4: CMDBField iLocalRole; //< PAN role that the local device will act in. To dynamically select a role, use ECommDbPanRoleUnknown. williamr@4: CMDBField iPeerRole; //< PAN role that the remote device will act in. To dynamically select a role, use ECommDbPanRoleUnknown. williamr@4: CMDBField iPeerMACAddresses; //< A list of Bluetooth MAC addresses. If one address is specified, then PAN agent will connect to it. If more than one device address is specified (in a comma seperated list), then PAN agent will discover whether any of the devices are in range, and connect to one of them. Comma-separated list of Bluetooth MAC addresses, with no "0x" preamble and no colons separating the digits williamr@4: CMDBField iPromptForRemoteDevices; //< Whether the agent should prompt the user to select the remote device to connect to. williamr@4: CMDBField iDisableSdpQuery; //< Whether the remote role defined above should be accepted without performing an SDP query to ensure the remote device supports the specified role. Not recommended for use. williamr@4: CMDBField iAllowIncoming; //< Whether the PAN agent should support incoming connections. williamr@4: CMDBField iPromptIfMACListFails; //< Whether the agent should prompt the user to select the remote device to be connected to if we cannot connect to any device specified in the MAC list. williamr@2: #ifdef SYMBIAN_NETWORKING_DHCPSERVER williamr@2: CMDBField iNapServiceEnabled; williamr@2: #endif // SYMBIAN_NETWORKING_DHCPSERVER williamr@2: private: williamr@2: williamr@2: static const SRecordTypeInfo* const iRecordInfo; williamr@2: }; williamr@2: williamr@2: class CCDSelectionPolicyRecordBase; williamr@2: williamr@4: // williamr@2: // 1D/ ACCESS POINT RECORD williamr@2: // ----------- ------------------------------------------------------------------------------------------------------------------------------ williamr@2: //| ID | NAME | | ACCESS POINT TYPE | MCPR TYPE | SELECTION POLICY | CPR TYPE | CPR CONFIG | SCPR TYPE | PROTOCOL TYPE | APPLICATION SECURE ID | williamr@2: //|-----------| |------------------------------------------------------------------------------------------------------------------------------| williamr@2: //| * | * | | * | * | * | * | * | * | * | * | williamr@2: // ----------- ------------------------------------------------------------------------------------------------------------------------------ williamr@2: // ID - Access point's unique ID. williamr@2: // NAME - Access point's unique name. williamr@2: // ACCESS POINT TYPE - Identifies the access point's (tier's) type (row in the CCDAccessPointTypeRecord table). williamr@2: // MCPR TYPE williamr@2: // SELECTION POLICY - A policy id interpreted by the MCPR's "Next Layer Selector". williamr@2: // CPR TYPE williamr@2: // CPR CONFIG - CPR's config id interpreted by a CPR. williamr@2: // SCPR TYPE williamr@2: // PROTOCOL TYPE williamr@2: // APPLICATION SECURE ID - Only application with this SID may acess this record (can we do that in CommsDat?) williamr@2: williamr@2: /** williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: #ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY williamr@2: class CCDTierRecord; williamr@2: class CCDMCprRecord; williamr@2: class CCDCprRecord; williamr@2: class CCDSCprRecord; williamr@2: class CCDProtocolRecord; williamr@2: #endif williamr@2: williamr@4: williamr@2: class CCDAccessPointRecord : public CCDRecordBase williamr@2: { williamr@2: public: williamr@4: enum { KNoPolicy = -1 }; williamr@4: williamr@2: CCDAccessPointRecord(TMDBElementId aElementId); williamr@2: williamr@2: DATA_VTABLE williamr@2: williamr@4: /** williamr@2: Gets the following information: williamr@2: - iTypeId williamr@2: - iValType williamr@2: - iTypeAttr williamr@2: - iTypeName williamr@2: williamr@2: @return Returns a const pointer to the record containing the data - client does not need to delete this pointer after use. williamr@2: */ williamr@2: const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;} williamr@2: williamr@2: public: williamr@2: /* @deprecated with SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY williamr@2: Use iTier instead */ williamr@2: CMDBField iAccessPointGID; // Only present when record is a SNAP. Gives to the SNAP Tier Id williamr@2: williamr@2: /* mapped (but not deprecated) with SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY*/ williamr@2: CMDBRecordLink iSelectionPolicy; // Link to SelectionPolicy record williamr@2: williamr@2: #ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY williamr@4: williamr@2: CMDBRecordLink iTier; //Tier. Type of the access point. Row in CCDTierRecord table. williamr@2: CMDBRecordLink iMCpr; //MCPR's type. Row in CCDMCprRecord table. williamr@2: CMDBRecordLink iCpr; //CPR's type. Row in CCDCprRecord table. williamr@2: CMDBRecordLink iSCpr; //SCPR's type. Row in CCDSCprRecord table. williamr@4: CMDBRecordLink iProtocol; //PRT's type. Row in CCDProtocolRecord table. williamr@2: CMDBField iCprConfig; //CPR's config id. Value interpreted by a CPR. williamr@2: CMDBField iAppSID; //Application SID. williamr@2: CMDBField iConfigAPIdList; // List of addition SCprs (from ConfigAccessPoint table) williamr@2: //This field can be used to create custom selection policies which is _not_ use williamr@2: //the APPrioritySelectionPolicy record but store some value which is interpreted by the williamr@2: //given MCPr. williamr@2: CMDBField iCustomSelectionPolicy; williamr@4: CMDBField iPriority; //Access point priority. williamr@2: #endif williamr@2: private: williamr@2: static const SRecordTypeInfo* const iRecordInfo; williamr@2: }; williamr@2: williamr@4: // williamr@2: // 1E/ SELECTION POLICY RECORD williamr@2: /** williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: class CCDSelectionPolicyRecordBase : public CCDRecordBase williamr@2: { williamr@2: public: williamr@2: DATA_VTABLE williamr@2: williamr@2: protected: williamr@2: /** williamr@2: @internalComponent williamr@2: */ williamr@2: CCDSelectionPolicyRecordBase(TMDBElementId aElementId); williamr@2: }; williamr@2: williamr@2: // 1F/ IAP PRIORITY SELECTION POLICY RECORD williamr@2: // ----------- --------------------------------------------- williamr@2: //| ID | NAME | | IAP LINK 1 | IAP LINK 2 | ... | IAP LINK 15 | williamr@2: //|-----------| |---------------------------------------------| williamr@2: //| * | * | | * | * | * | * | williamr@2: // ----------- --------------------------------------------- williamr@2: // IAP LINK N - links to Nth IAP record. williamr@2: /** williamr@2: @publishedAll williamr@2: @released williamr@2: @deprecated with SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY williamr@2: when Mapped to CCDAPPrioritySelectionPolicyRecord williamr@2: */ williamr@2: class CCDIAPPrioritySelectionPolicyRecord : public CCDSelectionPolicyRecordBase williamr@2: { williamr@2: public: williamr@2: enum { EMaxNrOfIaps = 15 }; williamr@2: williamr@2: public: williamr@2: /** williamr@2: @internalComponent williamr@2: */ williamr@2: CCDIAPPrioritySelectionPolicyRecord(TMDBElementId aElementId); williamr@2: williamr@2: DATA_VTABLE williamr@2: williamr@4: /** williamr@2: Gets the following information: williamr@2: - iTypeId williamr@2: - iValType williamr@2: - iTypeAttr williamr@2: - iTypeName williamr@4: williamr@2: @return Returns a const pointer to the record containing the data - client does not need to delete this pointer after use. williamr@2: */ williamr@4: const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;} williamr@2: williamr@2: public: williamr@4: CMDBRecordLink iIap1; //< IAP link 1 - links to first IAP record. williamr@4: CMDBRecordLink iIap2; //< IAP link 2 - links to second IAP record. williamr@4: CMDBRecordLink iIap3; //< IAP link 3 - links to third IAP record. williamr@4: CMDBRecordLink iIap4; //< IAP link 4 - links to fourth IAP record. williamr@4: CMDBRecordLink iIap5; //< IAP link 5 - links to fifth IAP record. williamr@4: CMDBRecordLink iIap6; //< IAP link 6 - links to sixth IAP record. williamr@4: CMDBRecordLink iIap7; //< IAP link 7 - links to seventh IAP record. williamr@4: CMDBRecordLink iIap8; //< IAP link 8 - links to eighth IAP record. williamr@4: CMDBRecordLink iIap9; //< IAP link 9 - links to ninth IAP record. williamr@4: CMDBRecordLink iIap10; //< IAP link 10 - links to tenth IAP record. williamr@4: CMDBRecordLink iIap11; //< IAP link 11- links to eleventh IAP record. williamr@4: CMDBRecordLink iIap12; //< IAP link 12- links to twelveth IAP record. williamr@4: CMDBRecordLink iIap13; //< IAP link 13- links to thirteenth IAP record. williamr@4: CMDBRecordLink iIap14; //< IAP link 14- links to fourteenth IAP record. williamr@4: CMDBRecordLink iIap15; //< IAP link 15- links to fifteenth IAP record. williamr@4: CMDBField iIapCount; //< Keeps count of the number of IAPs in the selection policy, for comparison purposes. williamr@2: williamr@2: private: williamr@2: static const SRecordTypeInfo* const iRecordInfo; williamr@2: }; williamr@2: williamr@2: #ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY williamr@2: williamr@4: // williamr@2: // 1F/ AP PRIORITY SELECTION POLICY RECORD williamr@2: // ----------- -------------------------- williamr@2: //| ID | NAME | | AP 1 | AP 2 | ... | AP N | williamr@2: //|-----------| |--------------------------| williamr@2: //| * | * | | * | * | * | * | williamr@2: // ----------- -------------------------- williamr@2: /** williamr@2: @publishedAll williamr@4: @released williamr@2: */ williamr@2: class CCDAPPrioritySelectionPolicyRecord : public CCDSelectionPolicyRecordBase williamr@2: { williamr@2: public: williamr@2: enum { EMaxNrOfAps = 15 }; williamr@2: williamr@2: public: williamr@2: CCDAPPrioritySelectionPolicyRecord(TMDBElementId aElementId); williamr@2: williamr@2: DATA_VTABLE williamr@2: williamr@2: const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;} williamr@2: williamr@2: public: williamr@2: williamr@2: CMDBRecordLink iAp1; williamr@2: CMDBRecordLink iAp2; williamr@2: CMDBRecordLink iAp3; williamr@2: CMDBRecordLink iAp4; williamr@2: CMDBRecordLink iAp5; williamr@2: CMDBRecordLink iAp6; williamr@2: CMDBRecordLink iAp7; williamr@2: CMDBRecordLink iAp8; williamr@2: CMDBRecordLink iAp9; williamr@2: CMDBRecordLink iAp10; williamr@2: CMDBRecordLink iAp11; williamr@2: CMDBRecordLink iAp12; williamr@2: CMDBRecordLink iAp13; williamr@2: CMDBRecordLink iAp14; williamr@2: CMDBRecordLink iAp15; williamr@2: williamr@2: CMDBField iApCount; williamr@2: williamr@2: private: williamr@2: static const SRecordTypeInfo* const iRecordInfo; williamr@2: }; williamr@2: williamr@2: williamr@4: // williamr@2: // POLICY SELECTOR RECORD williamr@2: // williamr@2: /** williamr@2: @publishedAll williamr@4: @released williamr@2: */ williamr@2: class CCDPolicySelectorRecord : public CCDRecordBase williamr@2: { williamr@2: public: williamr@2: williamr@2: CCDPolicySelectorRecord(); williamr@2: CCDPolicySelectorRecord(TMDBElementId aElementId); williamr@2: williamr@2: const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;} williamr@2: williamr@2: DATA_VTABLE williamr@2: williamr@2: public: williamr@2: williamr@2: // Member Data williamr@2: CMDBField iPolicyId; williamr@2: CMDBField iAppUid; williamr@2: CMDBField iSrcAddress; // TInetAddr williamr@2: CMDBField iSrcMask; // TInetAddr williamr@2: CMDBField iDstAddress; // TInetAddr williamr@2: CMDBField iDstMask; // TInetAddr williamr@2: CMDBField iSrcPort; williamr@2: CMDBField iDstPort; williamr@2: CMDBField iSrcPortMax; williamr@2: CMDBField iDstPortMax; williamr@2: CMDBField iProtocolId; williamr@2: CMDBField iIapId; williamr@2: CMDBField iPriority; williamr@2: williamr@2: private: williamr@2: williamr@2: static const SRecordTypeInfo* const iRecordInfo; williamr@2: }; williamr@2: williamr@2: williamr@4: // williamr@2: // POLICY SELECTOR 2 PARAMS RECORD williamr@2: // williamr@2: /** williamr@2: This table is introduced to allow linking to multimpe tables, for chosen policy selection. williamr@2: Params tables are GenericQos, UmtsR99QoSAndOnTableRecord williamr@2: williamr@2: @publishedAll williamr@4: @released williamr@2: */ williamr@2: class CCDPolicySelector2ParamsRecord : public CCDRecordBase williamr@2: { williamr@2: public: williamr@2: williamr@2: CCDPolicySelector2ParamsRecord(); williamr@2: CCDPolicySelector2ParamsRecord(TMDBElementId aElementId); williamr@2: williamr@2: const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;} williamr@2: williamr@2: DATA_VTABLE williamr@2: williamr@2: public: williamr@2: williamr@2: // Member Data williamr@2: CMDBField iPolicySelectorId; williamr@2: CMDBField iParamsId; williamr@2: williamr@2: private: williamr@2: williamr@2: static const SRecordTypeInfo* const iRecordInfo; williamr@2: }; williamr@2: williamr@4: // williamr@2: // GENERIC QOS PARAMETER RECORD williamr@2: // williamr@2: /** williamr@2: @publishedAll williamr@4: @released williamr@2: */ williamr@2: class CCDGenericQosRecord : public CCDParamsRecordBase williamr@2: { williamr@2: public: williamr@2: williamr@2: CCDGenericQosRecord(); williamr@2: CCDGenericQosRecord(TMDBElementId aElementId); williamr@2: williamr@2: const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;} williamr@2: williamr@2: DATA_VTABLE williamr@2: williamr@2: public: williamr@2: williamr@2: // Member Data williamr@2: CMDBField iDownlinkBandwidth; williamr@2: CMDBField iUplinkBandwidth; williamr@2: CMDBField iDownLinkMaximumBurstSize; williamr@2: CMDBField iUpLinkMaximumBurstSize; williamr@2: CMDBField iDownLinkAveragePacketSize; williamr@2: CMDBField iUpLinkAveragePacketSize; williamr@2: CMDBField iDownLinkMaximumPacketSize; williamr@2: CMDBField iUpLinkMaximumPacketSize; williamr@2: CMDBField iDownLinkDelay; williamr@2: CMDBField iUpLinkDelay; williamr@2: CMDBField iDownLinkDelayVariation; williamr@2: CMDBField iUpLinkDelayVariation; williamr@2: CMDBField iDownLinkPriority; williamr@2: CMDBField iUpLinkPriority; williamr@2: CMDBField iHeaderMode; williamr@2: // CMDBField iQosName; williamr@2: private: williamr@2: williamr@2: static const SRecordTypeInfo* const iRecordInfo; williamr@2: }; williamr@2: williamr@4: // williamr@2: // WIFI SCANENGINE RECORD williamr@2: // williamr@2: /** williamr@4: @internalTechnology williamr@2: */ williamr@2: class CCDWifiScanEngineRecord : public CCDRecordBase williamr@2: { williamr@2: public: williamr@2: williamr@2: CCDWifiScanEngineRecord(); williamr@2: CCDWifiScanEngineRecord(TMDBElementId aElementId); williamr@2: williamr@2: const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;} williamr@2: williamr@2: DATA_VTABLE williamr@2: williamr@2: public: williamr@2: williamr@2: // Member Data williamr@2: CMDBField iScanPeriodMs; williamr@2: CMDBField iRSSIMin; williamr@2: CMDBField iRSSIMax; williamr@2: private: williamr@2: williamr@2: static const SRecordTypeInfo* const iRecordInfo; williamr@2: }; williamr@2: williamr@2: #endif // SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY williamr@2: williamr@2: } // end namespace CommsDat williamr@2: williamr@4: #ifndef SYMBIAN_ENABLE_SPLIT_HEADERS williamr@4: #include williamr@4: #include williamr@4: #endif williamr@4: williamr@2: #endif williamr@2: //COMMSDATTYPESV1_1_H williamr@4: