epoc32/include/commsdattypesv1_1.h
author William Roberts <williamr@symbian.org>
Wed, 31 Mar 2010 12:33:34 +0100
branchSymbian3
changeset 4 837f303aceeb
parent 2 2fe1408b6811
permissions -rw-r--r--
Current Symbian^3 public API header files (from PDK 3.0.h)
This is the epoc32/include tree with the "platform" subtrees removed, and
all but a selected few mbg and rsg files removed.
     1 // Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
     2 // All rights reserved.
     3 // This component and the accompanying materials are made available
     4 // under the terms of "Eclipse Public License v1.0"
     5 // which accompanies this distribution, and is available
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
     7 //
     8 // Initial Contributors:
     9 // Nokia Corporation - initial contribution.
    10 //
    11 // Contributors:
    12 //
    13 // Description:
    14 // Comms Data Type Definitions version 1.1
    15 // Container classes expressing Symbian OS Comms Data Types that can be stored in the Comms Repository
    16 // Type Definitions are version controlled.  New versions may be introduced from time to time.
    17 // Then older versions are marked as deprecated and given a planned removal date.
    18 // This version introduced with Release 9.1
    19 // 
    20 //
    21 
    22 /**
    23  @file
    24  @publishedAll
    25  @released
    26 */
    27 
    28 #if (!defined COMMSDATTYPESV1_1_H)
    29 #define       COMMSDATTYPESV1_1_H
    30 
    31 #include <metadatabase.h>
    32 #include <commsdattypeinfov1_1.h>
    33 #include <cdbcols.h>
    34 #include <dial.h>
    35 
    36 #include <etelqos.h>
    37 
    38 
    39 namespace CommsDat
    40 {
    41 
    42 
    43 //
    44 // COMMSDAT RECORD BASE CLASS
    45 // Contains fields common to all records
    46 //
    47 
    48 class CCDRecordBase : public CMDBRecordBase
    49 /**
    50 Base class for wrapper containers for supported CommsDat recordtypes
    51 Alternatively the class CMDBGenericRecord can be used to express any record.
    52 @publishedAll
    53 @released
    54 */
    55 	{
    56 	public:
    57 
    58 		IMPORT_C CCDRecordBase(TMDBElementId aElementId); 			//< Import CCDRecordBase constructor from another DLL.
    59 
    60 		IMPORT_C static CMDBRecordBase* RecordFactoryL(TMDBElementId); //< Import function RecordFactoryL from another DLL.				 
    61 		
    62 		IMPORT_C static CMDBRecordBase* CreateCopyRecordL(CMDBRecordBase& aCopyFromRecord); //< Import function CreateCopyRecordL from another DLL.
    63 	
    64         void ConstructL();
    65 	protected:
    66 
    67 		EXP_DATA_VTABLE
    68 			
    69 	public:
    70 		
    71 		// Element members
    72 
    73 		CMDBField<TInt>	 iRecordTag; 	//<User-defined numeric tag for this record.  Should be unique in this table.   
    74         
    75         CMDBField<TDesC> iRecordName; 	//< User-defined name for this record.  Should be unique in this table.
    76 
    77 	private:
    78 
    79         CCDRecordBase(){}
    80 	};
    81 
    82 #ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
    83 //
    84 // BASE CLASS FOR ALL SERVICE RECORDS
    85 // Contains fields common to all service records
    86 //
    87 /**
    88 @publishedAll
    89 @released
    90 */
    91 class CCDParamsRecordBase : public CCDRecordBase
    92 	{
    93 	public:
    94 		// Constructor
    95 		/**
    96 		@internalComponent
    97 		*/
    98 		CCDParamsRecordBase();
    99 		/**
   100 		@internalComponent
   101 		*/
   102 		CCDParamsRecordBase(TMDBElementId aElementId);
   103 
   104         const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;}
   105 
   106 	protected:
   107 
   108 		DATA_VTABLE
   109     
   110    	public:
   111 
   112 		// Field Declarations shared by all Params Records
   113 		CMDBField<TUint32>		iSTypeId;
   114 	
   115 	private:
   116 	
   117 	    static const SRecordTypeInfo* const iRecordInfo;
   118 	};
   119 #endif
   120 
   121 //
   122 // BASE CLASS FOR ALL SERVICE RECORDS
   123 // Contains fields common to all service records
   124 //
   125 /**
   126 @publishedAll
   127 @released
   128 */
   129 class CCDServiceRecordBase : public CCDRecordBase
   130 	{
   131 	public:
   132 		// Constructor
   133 		/**
   134 		@internalComponent
   135 		*/
   136 		CCDServiceRecordBase();
   137 		/**
   138 		@internalComponent
   139 		*/
   140 		CCDServiceRecordBase(TMDBElementId aElementId);
   141 		
   142 			/** 
   143 		Gets the following information: 
   144 		- iTypeId
   145 		- iValType 
   146 		- iTypeAttr
   147 		- iTypeName           
   148 		
   149 		@return Returns a const pointer to the record containing the data - client does not need to delete this pointer after use.
   150 		*/
   151         const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;}
   152 
   153 	protected:
   154 
   155 		DATA_VTABLE
   156     
   157    	public:
   158 
   159 		// Field Declarations shared by all Service Records
   160 		CMDBField<TBool>	iServiceEnableLlmnr;	//< Specifies whether Link-local multicast name resolution is enabled.
   161 	
   162 	private:
   163 	
   164 	    static const SRecordTypeInfo* const iRecordInfo;
   165 	};
   166 
   167 
   168 
   169 //
   170 // BASE CLASS FOR ALL BEARER RECORDS
   171 // Contains fields common to all bearer records
   172 //
   173 /**
   174 @publishedAll
   175 @released
   176 */
   177 class CCDBearerRecordBase : public CCDRecordBase
   178 	{
   179 	public:
   180 
   181 		// Constructor
   182 		/**
   183 		@internalComponent
   184 		*/
   185 		CCDBearerRecordBase();
   186 		/**
   187 		@internalComponent
   188 		*/
   189 		CCDBearerRecordBase(TMDBElementId aElementId);
   190 		
   191 			/** 
   192 		Gets the following information: 
   193 		- iTypeId
   194 		- iValType 
   195 		- iTypeAttr
   196 		- iTypeName           
   197 		
   198 		@return Returns a const pointer to the record containing the data - client does not need to delete this pointer after use.
   199 		*/
   200         const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;} 
   201 
   202 	protected:
   203 
   204 		DATA_VTABLE
   205 
   206     public:
   207 
   208 		// Field Declarations shared by all Bearer Records
   209         CMDBField<TDesC>					iBearerAgent; //< Name of the agent to be used by a particular bearer
   210 
   211 	private:
   212 
   213         static const SRecordTypeInfo* const iRecordInfo;
   214 	};
   215 
   216 
   217 
   218 class CCDIAPRecord;
   219 
   220 //
   221 // 02/  CONNECTION PREFERENCES RECORD
   222 //
   223 // Forward declaration
   224 /**
   225 @publishedAll
   226 @released
   227 */
   228 class CCDConnectionPrefsRecord : public CCDRecordBase
   229 	{
   230 	public :
   231 		/**
   232 		@internalComponent
   233 		*/
   234 		CCDConnectionPrefsRecord();
   235 		/**
   236 		@internalComponent
   237 		*/
   238 		CCDConnectionPrefsRecord(TMDBElementId aElementId);
   239 		
   240 			/** 
   241 		Gets the following information: 
   242 		- iTypeId
   243 		- iValType 
   244 		- iTypeAttr
   245 		- iTypeName           
   246 		
   247 		@return Returns a const pointer to the record containing the data - client does not need to delete this pointer after use.
   248 		*/
   249         const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;} 
   250         
   251         DATA_VTABLE
   252         
   253 	public :
   254 		// Member Elements
   255 		CMDBField<TUint32>		        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.
   256 		CMDBField<TCommDbConnectionDirection>	iDirection; //< Specifies the direction of a connection.	
   257 		CMDBField<TUint32>		        iBearerSet;   		//< Bearers which can be used for a connection.
   258 		CMDBField<TUint32>		        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. 
   259 		CMDBRecordLink<CCDIAPRecord>	iDefaultIAP;  		//< The record id of the preferred IAP to connect to.
   260     private:
   261         static const SRecordTypeInfo* const iRecordInfo;
   262 	};
   263 
   264 
   265 
   266 //Forward defines
   267 class CCDLocationRecord;
   268 class CCDModemBearerRecord;
   269 class CCDNetworkRecord;
   270 class CCDAgentLookupRecord;
   271 class CCDWAPAccessPointRecord;
   272 class CCDAccessPointRecord;
   273 #ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
   274 class CCDTierRecord;
   275 #endif
   276 
   277 //
   278 // 03/  GLOBAL SETTINGS RECORD
   279 //
   280 /**
   281 @publishedAll
   282 @released
   283 */
   284 class CCDGlobalSettingsRecord : public CCDRecordBase
   285 	{
   286 	public :
   287 
   288 		// Constructor
   289 		/**
   290 		@internalComponent
   291 		*/
   292 		CCDGlobalSettingsRecord();
   293 		/**
   294 		@internalComponent
   295 		*/
   296 		CCDGlobalSettingsRecord(TMDBElementId aElementId);
   297 		
   298 			/** 
   299 		Gets the following information: 
   300 		- iTypeId
   301 		- iValType 
   302 		- iTypeAttr
   303 		- iTypeName           
   304 		
   305 		@return Returns a const pointer to the record containing the data - client does not need to delete this pointer after use.
   306 		*/
   307         const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;}
   308 
   309 		DATA_VTABLE
   310 		
   311 	 public:
   312 	
   313 		CMDBRecordLink<CCDWAPAccessPointRecord>		                        iWAPAccessPoint; 		
   314 		CMDBField<TUint32>                                                  iMaxConnectionAttempts;				//< Number of attempts to establish a connection.
   315 		CMDBField<TUint32>                                                  iMaxRedialAttempts;					//< Maximum redial attempts before report failure to user.
   316 
   317 		CMDBField<TUint32>                                                  iSMSBearer;							//< Default bearer for SMS on the phone.
   318 		CMDBField<TUint32>                                                  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.
   319 
   320 
   321 		CMDBField<TUint32>                                                  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.
   322 		CMDBField<TUint32>                                                  iAcceptIncomingGPRS;				//< Specifies whether or not to allow incoming requests for PDP context activation to be automatically accepted (when there is a waiting application).
   323 		CMDBField<TUint32>                                                  iGPRSClassCBearer;				//< The preferred bearer when the device (phone) is forced into GPRS Class C operation.
   324 		
   325 		CMDBRecordLink<CCDModemBearerRecord>                                iModemForDataAndFax;
   326 		CMDBRecordLink<CCDModemBearerRecord>                                iModemForPhoneServicesAndSMS;
   327 
   328 		CMDBRecordLink<CCDLocationRecord>                                   iLocationForDataAndFax;				//< Default local location info for data and fax calls.
   329 		CMDBRecordLink<CCDLocationRecord>                                   iLocationForPhoneServicesAndSMS;	//< Sets the default location from which you are dialling for phone services such as a SMS service
   330 		
   331 		CMDBField<TUint32>							                        iMaxMBufHeap;						//< Maximum RMBuf heap size.
   332 		CMDBRecordLink<CCDAgentLookupRecord>                                iDefaultAgent;						//< Record id of an agent from the AgentLookup table.
   333 
   334 		CMDBRecordLink<CCDNetworkRecord>                                    iDefaultNetwork;					//< Default network to connect to.
   335 
   336 		CMDBField<TDesC>                                                    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.
   337 		
   338 		//This field differentiate the Bravo selection from the 399 selection
   339 		//(needed for implicit scenarios where prefs are not available)
   340 		CMDBRecordLink<CCDAccessPointRecord>								iDefaultSnap;						//<CDMA PARAMETER- Not currently supported.
   341 
   342 		//if SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
   343 		//@deprecated use CCDTierRecord::iPromptUser instead
   344 		CMDBField<TBool>													iPromptForSnap; 
   345 		//endif
   346 
   347 #ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
   348 		CMDBRecordLink<CCDTierRecord>                                       iDefaultTier;
   349 #endif
   350 
   351 CMDBField<TCommsDatWlanRegDomain>											iRegulatoryDomain;
   352 
   353 		CMDBField<TBool>                                                  	iWmmEnabled;
   354 		CMDBField<TBool>													iEnableCountryCode;
   355 		CMDBField<TCommsDatWlanRegDomain>									iDefaultRegulatoryDomain;
   356 	private:
   357 	
   358 		static const SRecordTypeInfo* const iRecordInfo;
   359 	};
   360 
   361 
   362 
   363 //
   364 // 04/  NETWORK RECORD
   365 //
   366 /**
   367 @publishedAll
   368 @released
   369 */
   370 class CCDNetworkRecord : public CCDRecordBase
   371 	{
   372 	public :
   373 		/**
   374 		@internalComponent
   375 		*/
   376 		CCDNetworkRecord();
   377 		/**
   378 		@internalComponent
   379 		*/
   380 		CCDNetworkRecord(TMDBElementId aElementId);
   381 		
   382 			/** 
   383 		Gets the following information: 
   384 		- iTypeId
   385 		- iValType 
   386 		- iTypeAttr
   387 		- iTypeName           
   388 		
   389 		@return Returns a const pointer to the record containing the data - client does not need to delete this pointer after use.
   390 		*/
   391         const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;}	
   392 
   393     	DATA_VTABLE
   394 
   395 	public:
   396        		CMDBField<TDesC>		    iHostName;	//< Name of the host of the network
   397 
   398 	private:
   399 
   400 		static const SRecordTypeInfo* const iRecordInfo;
   401 
   402 	};
   403 
   404 
   405 
   406 //
   407 //  05/  LOCATION RECORD
   408 //
   409 /**
   410 @publishedAll
   411 @released
   412 */
   413 class CCDLocationRecord : public CCDRecordBase
   414 	{
   415 	public :
   416 
   417 		// Constructors
   418 		/**
   419 		@internalComponent
   420 		*/
   421 		CCDLocationRecord();
   422 		/**
   423 		@internalComponent
   424 		*/
   425 		CCDLocationRecord(TMDBElementId aElementId);
   426 
   427 			/** 
   428 		Gets the following information: 
   429 		- iTypeId
   430 		- iValType 
   431 		- iTypeAttr
   432 		- iTypeName           
   433 		
   434 		@return Returns a const pointer to the record containing the data - client does not need to delete this pointer after use.
   435 		*/
   436         const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;}  	
   437 
   438 		DATA_VTABLE
   439 
   440 
   441 	public:
   442 		// MemberData
   443 		CMDBField<TDesC>	        iIntlPrefixCode;				//< Prefix code to use for international calls.
   444 		CMDBField<TDesC>	        iNatPrefixCode;					//< Prefix code to use for national calls.
   445 		CMDBField<TDesC>		    iNatCode;						//< Country code.
   446 		CMDBField<TDesC>		    iAreaCode;						//< Area code.
   447 		CMDBField<TDesC>		    iDialOutCode;					//< Number to dial for an outside line.
   448 		CMDBField<TDesC>	        iDisableCallWaitingCode;		//< Code to dial to disable call waiting facility.
   449 		CMDBField<TBool>		iMobile;							//< Specifies whether the device is a mobile phone.
   450 		CMDBField<TBool>		iUsePulseDial;						//< Specifies whether to use pulse dialling.
   451 		CMDBField<TBool>	    iWaitForDialTone;					//< Specifies whether to wait for the dial tone.
   452 		CMDBField<TUint32>	    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.
   453 
   454 
   455     private:
   456 
   457 		static const SRecordTypeInfo* const iRecordInfo;
   458 	};
   459 
   460 //
   461 // 06/  IAP RECORD
   462 //
   463 /**
   464 @publishedAll
   465 @released
   466 */
   467 class CCDIAPRecord : public CCDRecordBase
   468 	{
   469 	public:
   470 		/**
   471 		@internalComponent
   472 		*/
   473 		CCDIAPRecord();
   474 		/**
   475 		@internalComponent
   476 		*/
   477 		CCDIAPRecord(TMDBElementId aElementId);
   478 		
   479 			/** 
   480 		Gets the following information: 
   481 		- iTypeId
   482 		- iValType 
   483 		- iTypeAttr
   484 		- iTypeName           
   485 		
   486 		@return Returns a const pointer to the record containing the data - client does not need to delete this pointer after use.
   487 		*/
   488         const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;}		
   489     
   490     	DATA_VTABLE
   491 
   492 	public:
   493 
   494 		// Member Data
   495 		CMDBField<TDesC>                        iServiceType;			//< The name of a servicing table. E.g. DialOutISP.
   496 		CMDBRecordLink<CCDServiceRecordBase>	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.
   497 		CMDBField<TDesC>                        iBearerType;			//< The name of the bearer to be used for the IAP.
   498 		CMDBRecordLink<CCDBearerRecordBase>	    iBearer;				//< The record id from the Bearer table specifying the bearer to be used with the IAP.
   499 		CMDBRecordLink<CCDNetworkRecord>	    iNetwork;				//< The record id of the network to be used with the IAP. The IAP will connect to this network.
   500 		CMDBField<TUint32>	                    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.
   501 		CMDBRecordLink<CCDLocationRecord>	    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.
   502 #ifdef SYMBIAN_NETWORKING_UMTSR5	
   503 		CMDBField<TUint32>	                    iAppSid;   // Marks this IAP for exclusive use of a particular Application
   504 #endif
   505     private:
   506     
   507 	    static const SRecordTypeInfo* const iRecordInfo;
   508 	};
   509 
   510 
   511 
   512 //
   513 // 07/  WAP ACCESS POINT RECORD
   514 //
   515 /**
   516 @publishedAll
   517 @released
   518 */
   519 class CCDWAPAccessPointRecord : public CCDRecordBase
   520 	{
   521 	public:
   522 		/**
   523 		@internalComponent
   524 		*/
   525 		CCDWAPAccessPointRecord();
   526 		/**
   527 		@internalComponent
   528 		*/
   529 		CCDWAPAccessPointRecord(TMDBElementId aElementId);
   530 		
   531 			/** 
   532 		Gets the following information: 
   533 		- iTypeId
   534 		- iValType 
   535 		- iTypeAttr
   536 		- iTypeName           
   537 		
   538 		@return Returns a const pointer to the record containing the data - client does not need to delete this pointer after use.
   539 		*/
   540 		const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;}			
   541 
   542 		DATA_VTABLE        
   543 
   544 	public :
   545 
   546 		// Member Elements
   547 		CMDBField<TDesC>    iWAPCurrentBearer;								//< The name of the table from which to read the bearer information. This can be WAP_IP_BEARER or WAP_SMS_BEARER.
   548 		CMDBField<TDesC>    iWAPStartPage;									//< WAP start page URL.
   549 
   550     private:
   551     
   552 		static const SRecordTypeInfo* const iRecordInfo;
   553 	};
   554 
   555 
   556 //Forward declaration
   557 class CCDChargecardRecord;
   558 
   559 //
   560 // 08/  DIAL OUT ISP SERVICE RECORD
   561 //
   562 /**
   563 @publishedAll
   564 @released
   565 */
   566 class CCDDialOutISPRecord : public CCDServiceRecordBase
   567 	{
   568 
   569 	public:
   570 		/**
   571 		@internalComponent
   572 		*/
   573 		CCDDialOutISPRecord();
   574 		/**
   575 		@internalComponent
   576 		*/
   577 		CCDDialOutISPRecord(TMDBElementId aId);
   578 
   579 		DATA_VTABLE
   580 		
   581 			/** 
   582 		Gets the following information: 
   583 		- iTypeId
   584 		- iValType 
   585 		- iTypeAttr
   586 		- iTypeName           
   587 		
   588 		@return Returns a const pointer to the record containing the data - client does not need to delete this pointer after use.
   589 		*/
   590         const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;}	
   591 
   592 
   593 	public:
   594 
   595 		// Member Data
   596 
   597 		CMDBField<TDesC>	                        iDescription;			//< Description of the ISP.
   598 		CMDBField<TUint32>	                    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.
   599 		CMDBField<TDesC>	                        iDefaultTelNum;			//< Default phone number for an ISP, used to dial-up to the ISP.
   600 		CMDBField<TBool>	                    iDialResolution;			//< Specifies whether to add additional information from the Location table such as AreaCode, NatCode to the ISP number (DefaultTelNum) to be dialled.
   601 		CMDBRecordLink<CCDChargecardRecord>	    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
   602 		CMDBField<TBool>	                    iUseLoginScript;			//< Specifies whether to login with a script or not.
   603 		CMDBField<TDesC>	                        iLoginScript;			//< The actual script used to login to the ISP.
   604 		CMDBField<TBool>	                    iPromptForLogin;			//< Prompt user to enter login information to start a session with the ISP, i.e. username and password.
   605 		CMDBField<TDesC>	                        iLoginName;				//< User login name.
   606 		CMDBField<TDesC>	                        iLoginPass;				//< User login password.
   607 		CMDBField<TBool>	                    iDisplayPct;				//< Specifies whether to display the post connection terminal (PCT) (without scanning the login script for READ commands).		
   608 		CMDBField<TDesC> 	                    iIfParams;					//< Interface parameter string-used to specify the lower layer that the interface protocol is to use.
   609 		CMDBField<TDesC>	                        iIfNetworks;			//< Comma separated list of network protocols to be used by the NIF.
   610 		CMDBField<TBool>	                    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).
   611 		CMDBField<TDesC>	                        iIfAuthName;			//< Prompt user to enter authentication username. Used when a user wishes to connect to the ISP's NIF(s). E.g. PPP.
   612 		CMDBField<TDesC>	                        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.
   613 		CMDBField<TUint32>	                    iIfAuthRetries;				//< Number of times to retry authentication if it fails.
   614 		CMDBField<TBool>	                    iIfCallbackEnabled;			//< Specifies whether call-back is enabled.  Call-back is usually due to security or toll-saving reasons.
   615 		CMDBField<TUint32>	                    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.
   616 		CMDBField<TDesC8>	                        iIfCallbackInfo;		//< Info for call-back request if enabled. This information could for example be a phone number.
   617 		CMDBField<TUint32>	                    iCallbackTimeout;			//< Time duration to wait for the ISP to call back and establish a connection. In microseconds (if call-back is enabled).
   618 		CMDBField<TBool>	                    iIfServerMode;				//< PPP in server mode?
   619 		CMDBField<TBool>	                    iIpAddrFromServer;			//< Specifies whether to get the IP address from the ISP.
   620 		CMDBField<TDesC>	                        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.
   621 		CMDBField<TDesC>	                        iIpNetMask;				//< IP netmask of the NIF.
   622 		CMDBField<TDesC>	                        iIpGateway;				//< IP address of the Gateway.
   623 		CMDBField<TBool>	                    iIpDnsAddrFromServer;		//< Specifies whether to get the DNS address (IPV4) from the ISP.
   624 		CMDBField<TDesC>	            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.
   625 		CMDBField<TDesC>	            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.
   626 		CMDBField<TBool>	        iIp6DnsAddrFromServer;					//< Specifies whether to get the DNS address (IPV6) from the ISP.
   627 		CMDBField<TDesC>	            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.
   628 		CMDBField<TDesC>	            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.
   629 		CMDBField<TDesC>	        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.
   630 		CMDBField<TDesC>	        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.
   631 		CMDBField<TDesC>	    iConfigDaemonManagerName;					//< Name of the ECOM daemon manager plug-in for NIFMAN used to load a specific configuration daemon.
   632 		CMDBField<TDesC>	            iConfigDaemonName;					//< Name of the daemon used for address configuration. 
   633 		CMDBField<TBool>	        iEnableIpHeaderComp;					//< Specifies whether to enable IP header compression protocol.
   634 		CMDBField<TBool>	        iEnableLcpExtension;					//< Specifies whether to enable LCP extension protocol. 
   635 		CMDBField<TBool>	        iDisablePlainTextAuth;					//< Specifies whether to disable plain text authentication. If disabled, PAP cannot be used- CHAP will be used instead.
   636 		CMDBField<TBool>	                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.
   637 		CMDBField<TUint32>	                iBearerName;					//< Name of the bearer used to establish and transmit data over the connection
   638 		CMDBField<TUint32>	                iBearerSpeed;					//< Baud rate of the bearer.
   639 		CMDBField<TUint32>	                    iBearerCe;					//< Defines the quality of service (QoS) of the connection.
   640 		CMDBField<TDesC8>	                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.
   641 		CMDBField<TUint32>	                iBearerType;					//< The bearer's chosen method to transmit data. This can be of 2 types - either CSD or HSCSD.  
   642 		CMDBField<TUint32>	            iChannelCoding;						//< The channel coding used for the connection. This field can only be used when the BearerType field has a value of "HSCSD".
   643 		CMDBField<TUint32>	                        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.
   644 		CMDBField<TUint32>	        iRequestedTimeSlots;					//< Requested number of time slots for HSCSD.
   645 		CMDBField<TUint32>	            iMaximumTimeSlots;					//< Maximum number of time slots for HSCSD which could be requested during the connection.
   646 		CMDBField<TUint32>	            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.
   647 		CMDBField<TUint32>	            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.
   648 		CMDBField<TUint32>	                iRlpVersion;					//< Radio Link Protocol (RLP)- is an automatic repeat request (ARQ) protocol used over a wireless interface. RLP is differentiated by version numbers.
   649 		CMDBField<TUint32>	                    iIwfToMs;					//< Integer specifying network to MS (Mobile Station) window size. IWF stands for Interworking Function and MS stands for Mobile Station.
   650 		CMDBField<TUint32>	                    iMsToIwf;					//< Integer specifying MS (Mobile Station) to network window size.
   651 		CMDBField<TUint32>	                    iAckTimer;					//< Acknowledgement Timer: takes an integer specifying RLP ack timeout in microseconds.
   652 		CMDBField<TUint32>	    iRetransmissionAttempts;					//< Specifies number of RLP retransmission attempts.
   653 		CMDBField<TUint32>	            iResequencePeriod;					//< Specifies the period when packets are being resequenced.
   654 		CMDBField<TUint32>	            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.
   655 		CMDBField<TUint32>	                iV42Codewords;					//< Specifies the V.42 codewords if V.42 compression is used.  A codeword represents a string of characters in compressed form.
   656 		CMDBField<TUint32>	                iV42MaxLength;					//< Specifies the maximum string length of the data before V.42 compression.
   657 		CMDBField<TUint32>	                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.
   658 		CMDBField<TBool>	            iUserInitUpgrade;					//< Specifies whether the user will initialise service upgrade over HSCSD or not
   659 		CMDBField<TBool>	                    iUseEdge;					//< Specifies whether to use EDGE technology.
   660 
   661     private:
   662     
   663     	static const SRecordTypeInfo* const iRecordInfo;
   664     };
   665 
   666 
   667 
   668 
   669 //
   670 // 09/  DIAL IN ISP RECORD
   671 //
   672 /**
   673 @publishedAll
   674 @released
   675 */
   676 class CCDDialInISPRecord : public CCDServiceRecordBase
   677 	{
   678 	public:
   679 		/**
   680 		@internalComponent
   681 		*/
   682 		CCDDialInISPRecord();
   683 		/**
   684 		@internalComponent
   685 		*/
   686 		CCDDialInISPRecord(TMDBElementId aId);
   687 
   688 		DATA_VTABLE
   689 		
   690 			/** 
   691 		Gets the following information: 
   692 		- iTypeId
   693 		- iValType 
   694 		- iTypeAttr
   695 		- iTypeName           
   696 		
   697 		@return Returns a const pointer to the record containing the data - client does not need to delete this pointer after use.
   698 		*/
   699         const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;} 	
   700 
   701 
   702 	public:
   703 
   704 		// Member Data
   705 		CMDBField<TDesC>	            iDescription;  					//< Description of the ISP.
   706 		CMDBField<TUint32>	                    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.
   707 		CMDBField<TBool>	        iUseLoginScript;					//< Specifies whether to login with a script or not
   708 		CMDBField<TDesC>	            iLoginScript;					//< The actual script used to login to the ISP
   709 		CMDBField<TUint32>	        iAuthentication;					//< Reserved for future use.
   710 		CMDBField<TUint32>	        iIfAuthRetries;						//< Number of times to retry authentication if it fails.
   711 		CMDBField<TDesC>	                iIfParams;					//< Interface parameter string-used to specify the lower layer that the interface protocol is to use.
   712 		CMDBField<TDesC>	            iIfNetworks;					//< Comma separated list of network protocols to be used by the NIF.
   713 		CMDBField<TBool>	        iIpAddrFromServer;					//< Specifies whether to get the IP address from the ISP.
   714 		CMDBField<TDesC>	                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.
   715 		CMDBField<TDesC>	            iIpNetMask;						//< IP netmask of the NIF.
   716 		CMDBField<TDesC>	            iIpGateway;						//< IP address of the Gateway.
   717 		CMDBField<TBool>	    iIpDnsAddrFromServer;					//< Specifies whether to get the DNS address (IPV4) from the ISP.
   718 		CMDBField<TDesC>	        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.
   719 		CMDBField<TDesC>	        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.
   720 		CMDBField<TBool>	    iIp6DnsAddrFromServer;					//< Specifies whether to get the DNS address (IPV6) from the ISP.
   721 		CMDBField<TDesC>	        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.
   722 		CMDBField<TDesC>	        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.
   723 		CMDBField<TBool>	    iEnableIpHeaderComp;					//< Specifies whether to enable IP header compression protocol.
   724 		CMDBField<TBool>	    iEnableLcpExtension;					//< Specifies whether to enable LCP extension protocol. 
   725 		CMDBField<TBool>	    iDisablePlainTextAuth;					//< Specifies whether to disable plain text authentication. If disabled, PAP cannot be used- CHAP will be used instead.
   726 		CMDBField<TBool>	            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.
   727 		CMDBField<TUint32>	            iBearerName;					//< Name of the bearer used to establish and transmit data over the connection.
   728 		CMDBField<TUint32>	            iBearerSpeed;					//< Baud rate of the bearer.
   729 		CMDBField<TUint32>	                iBearerCe;					//< Defines the quality of service (QoS) of the connection.
   730 		CMDBField<TDesC8>	            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.
   731 		CMDBField<TBool>	                iUseEdge;					//< Specifies whether to use EDGE technology.
   732 
   733 
   734     private:
   735 	
   736 		static const SRecordTypeInfo* const iRecordInfo;
   737 	};
   738 
   739 
   740 
   741 //
   742 //  0A/  LAN Service Record
   743 //
   744 typedef CCDRecordBase CCDServiceExtRecordBase;
   745 /**
   746 @publishedAll
   747 @released
   748 */
   749 class CCDLANServiceRecord : public CCDServiceRecordBase
   750 	{
   751 	public:
   752 		/**
   753 		@internalComponent
   754 		*/
   755 		CCDLANServiceRecord();
   756 		/**
   757 		@internalComponent
   758 		*/
   759 		CCDLANServiceRecord(TMDBElementId aElementId);
   760 		
   761 			/** 
   762 		Gets the following information: 
   763 		- iTypeId
   764 		- iValType 
   765 		- iTypeAttr
   766 		- iTypeName           
   767 		
   768 		@return Returns a const pointer to the record containing the data - client does not need to delete this pointer after use.
   769 		*/
   770         const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;}				
   771 
   772 		DATA_VTABLE
   773 
   774 
   775 	public:
   776 
   777 		// Member Data
   778 		CMDBField<TDesC>	                iIfNetworks;					//< Comma separated list of network protocols to be used by the NIF.
   779 		CMDBField<TDesC>	                iIpNetmask;						//< IP netmask of the NIF.
   780 		CMDBField<TDesC>	                iIpGateway;						//< IP address of the Gateway.
   781 		CMDBField<TBool>	                iIpAddrFromServer;				//< Specifies whether to get the IP address from the ISP.
   782 		CMDBField<TDesC>	                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.
   783 		CMDBField<TBool>	                iIpDnsAddrFromServer;			//< Specifies whether to get the DNS address (IPV4) from the ISP.
   784 		CMDBField<TDesC>	                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.	
   785 		CMDBField<TDesC>	                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.
   786 		CMDBField<TBool>	                iIp6DnsAddrFromServer;			//< Specifies whether to get the DNS address (IPV6) from the ISP.
   787 		CMDBField<TDesC>	                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.
   788 		CMDBField<TDesC>	                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.
   789 		CMDBField<TDesC>	                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.
   790 		CMDBField<TDesC>	                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.
   791 		CMDBField<TDesC>	                iConfigDaemonManagerName;		//< Name of the ECOM daemon manager plug-in for NIFMAN used to load a specific configuration daemon.
   792 		CMDBField<TDesC>	                iConfigDaemonName;				//< Name of the daemon used for address configuration. 
   793 		CMDBField<TDesC>	                iServiceExtensionTableName;		//< Name of the extension table.
   794 		CMDBRecordLink<CCDServiceExtRecordBase>     iServiceExtensionTableRecordId;
   795 	
   796     private:
   797 	
   798 		static const SRecordTypeInfo* const iRecordInfo;
   799 	};
   800 
   801 
   802 //
   803 // 0C/  VPN SERVICE RECORD
   804 //
   805 /**
   806 @publishedAll
   807 @released
   808 */
   809 class CCDVPNServiceRecord : public CCDServiceRecordBase
   810 	{
   811 	public:
   812 		/**
   813 		@internalComponent
   814 		*/
   815 		CCDVPNServiceRecord();
   816 		/**
   817 		@internalComponent
   818 		*/
   819 		CCDVPNServiceRecord(TMDBElementId aElementId);
   820 
   821 		DATA_VTABLE
   822 		
   823 			/** 
   824 		Gets the following information: 
   825 		- iTypeId
   826 		- iValType 
   827 		- iTypeAttr
   828 		- iTypeName           
   829 		
   830 		@return Returns a const pointer to the record containing the data - client does not need to delete this pointer after use.
   831 		*/
   832         const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;}
   833 	public:
   834 
   835 		// Member Data
   836 		CMDBField<TDesC>	                iServicePolicy;	///< Policy id of the policy file- this is a reference to the policy file.
   837 		CMDBRecordLink<CCDIAPRecord>	    iServiceIAP;	///< Record id of the real IAP used by the IPSEC software to communicate with the VPN gateway.
   838 		CMDBRecordLink<CCDAccessPointRecord>                  iServiceSNAP;       ///< Record id of the SNAP id used by the IPSEC software to communicate with the VPN gateway.
   839 		CMDBRecordLink<CCDNetworkRecord>	iServiceNetwork;///< Record id of the real Network to be connected to by the virtual tunnel.
   840 
   841     private:
   842     
   843     	static const SRecordTypeInfo* const iRecordInfo;
   844 	};
   845 
   846 
   847 //
   848 // 10/  WCDMA Packet Service Record
   849 //
   850 class CCDUmtsR99QoSAndOnTableRecord;
   851 /**
   852 @publishedAll
   853 @released
   854 */
   855 
   856 class CCDWCDMAPacketServiceRecord : public CCDServiceRecordBase
   857 	{
   858 	public:
   859 		/**
   860 		@internalComponent
   861 		*/
   862 		CCDWCDMAPacketServiceRecord();
   863 		/**
   864 		@internalComponent
   865 		*/
   866 		CCDWCDMAPacketServiceRecord(TMDBElementId aElementId);
   867 
   868 		DATA_VTABLE
   869 		
   870 			/** 
   871 		Gets the following information: 
   872 		- iTypeId
   873 		- iValType 
   874 		- iTypeAttr
   875 		- iTypeName           
   876 		
   877 		@return Returns a const pointer to the record containing the data - client does not need to delete this pointer after use.
   878 		*/
   879         const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;}			
   880 
   881 
   882 	public:
   883 
   884 		// Member Data
   885 		CMDBField<TDesC>	                        iGPRSAPN;				//< When the mobile phone sets up a PDP context, the access point is chosen by specifying an APN.
   886 		CMDBField<TUint32>	                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.
   887 		CMDBField<TDesC>	                iGPRSPDPAddress;				//< PDP address of the phone.
   888 		CMDBField<TUint32>	            iGPRSReqPrecedence;					//< Requested quality of service precedence class. This field has been deprecated and may be removed in the future. 
   889 		CMDBField<TUint32>	                iGPRSReqDelay;					//< Requested quality of service delay class. This field has been deprecated and may be removed in the future.
   890 		CMDBField<TUint32>	            iGPRSReqReliability;				//< Requested quality of service reliability class. This field has been deprecated amnd may be removed in the future.
   891 		CMDBField<TUint32>	        iGPRSReqPeakThroughput;					//< Requested quality of service peak throughput. This field has been deprecated and may be removed in the future.
   892 		CMDBField<TUint32>	        iGPRSReqMeanThroughput;					//< Requested quality of service mean throughput class. This field has been deprecated and may be removed in the future. 
   893 		CMDBField<TUint32>	            iGPRSMinPrecedence;					//< Minimum quality of service precedence class. This field has been deprecated and may be removed in the future. 
   894 		CMDBField<TUint32>	                iGPRSMinDelay;					//< Minimum quality of service delay class This field has been deprecated and may be removed in the future.
   895 		CMDBField<TUint32>	            iGPRSMinReliability;				//< Minimum quality of service reliability class. This field has been deprecated and may be removed in the future.
   896 		CMDBField<TUint32>	        iGPRSMinPeakThroughput;					//< Minimum quality of service peak throughput class. This field has been deprecated and may be removed in the future.
   897 		CMDBField<TUint32>	        iGPRSMinMeanThroughput;					//< Minimum quality of service mean throughput class. This field has been deprecated and may be removed in the future.
   898 		CMDBField<TBool>	        iGPRSDataCompression;					//< Specifies whether to compress data.
   899 		CMDBField<TBool>	        iGPRSHeaderCompression;					//< Specifies whether IP header compression is on.
   900 		CMDBField<TBool>	                iGPRSUseEdge;					//< Specifies whether to use EDGE technology. 
   901 		CMDBField<TBool>	        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.
   902 		CMDBField<TDesC>	                iGPRSIfParams;					//< Interface parameter string-used to specify the lower layer that the interface protocol is to use.
   903 		CMDBField<TDesC>	                iGPRSIfNetworks;				//< Comma separated list of network protocols to be used by the NIF.
   904 		CMDBField<TBool>	        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).
   905 		CMDBField<TDesC>	                iGPRSIfAuthName;				//< Prompt user to enter authentication username. Used when a user wishes to connect to the ISP's NIF(s). E.g. PPP.
   906 		CMDBField<TDesC>	                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.
   907 		CMDBField<TUint32>	            iGPRSIfAuthRetries;					//< Number of times to retry authentication if it fails.
   908 		CMDBField<TDesC>	                iGPRSIPNetMask;					//< IP netmask of the NIF.
   909 		CMDBField<TDesC>	                iGPRSIPGateway;					//< IP address of the Gateway.
   910 		CMDBField<TBool>  	        iGPRSIPAddrFromServer;					//<  Specifies whether to get the IP address from the ISP.
   911 		CMDBField<TDesC>	                    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.
   912 		CMDBField<TBool>	    iGPRSIPDNSAddrFromServer;					//< Specifies whether to get the DNS address (IPV4) from the ISP.
   913 		CMDBField<TDesC>	            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.
   914 		CMDBField<TDesC>	            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.
   915 		CMDBField<TBool>	    iGPRSIP6DNSAddrFromServer;					//< Specifies whether to get the DNS address (IPV6) from the ISP.
   916 		CMDBField<TDesC>	            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.
   917 		CMDBField<TDesC>	            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.
   918 		CMDBField<TDesC>	    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.
   919 		CMDBField<TDesC>	        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.
   920 		CMDBField<TDesC>	iGPRSConfigDaemonManagerName;					//< Name of the ECOM daemon manager plug-in for NIFMAN used to load a specific configuration daemon.
   921 		CMDBField<TDesC>	        iGPRSConfigDaemonName;					//< Name of the configuration daemon server. This server is used to provide further configuration for a connection, e.g. dynamic IP address assignment.
   922 		CMDBField<TBool>	        iGPRSEnableLCPExtension;				//< Specifies whether to enable LCP extension protocol. 
   923 		CMDBField<TBool>	    iGPRSDisablePlainTextAuth;					//< Specifies whether to disable plain text authentication. If disabled, PAP cannot be used- CHAP will be used instead.
   924 		CMDBField<TUint32>            	        iGPRSAPType;				//< Service supports Internet only, WAP only or both. Values defined in TCommsDbIspType. 
   925 		CMDBField<TUint32>	        iGPRSQOSWarningTimeOut;					//< If the requested QOS can not be satisfied, warn the user after this time in microseconds. Set to 0xffffffff to disable.
   926 		CMDBRecordLink<CCDUmtsR99QoSAndOnTableRecord>	 iUmtsR99QoSAndOnTable; //< A record link between the Incoming/Outgoing GPRS table and the UmtsR99QosAndOn table
   927 		CMDBField<TUint32> 			iGPRSR5DataCompression;
   928 		CMDBField<TUint32> 			iGPRSR5HeaderCompression;
   929 		CMDBField<TUint32> 			iGPRSPacketFlowIdentifier;
   930 		CMDBField<TUint32> 			iGPRSUmtsGprsRelease;
   931 
   932     public:
   933 
   934         static const SRecordTypeInfo* const iRecordInfo;
   935     };
   936 
   937 /**
   938 @publishedAll
   939 @released
   940 */
   941 class CCDOutgoingGprsRecord : public CCDWCDMAPacketServiceRecord
   942 	{
   943 	public:
   944 		/**
   945 		@internalComponent
   946 		*/
   947 		CCDOutgoingGprsRecord(TMDBElementId aElementId);
   948 
   949 		DATA_VTABLE
   950 	};
   951 
   952 /**
   953 @publishedAll
   954 @released
   955 */
   956 class CCDIncomingGprsRecord : public CCDWCDMAPacketServiceRecord
   957 	{
   958 	public:
   959 		/**
   960 		@internalComponent
   961 		*/
   962 		CCDIncomingGprsRecord(TMDBElementId aElementId);
   963 
   964 		DATA_VTABLE
   965 	};
   966 
   967 /**
   968 @publishedAll
   969 @released
   970 */
   971 class CCDUmtsR99QoSAndOnTableRecord: public CCDRecordBase
   972 	{
   973 	public:
   974 		/**
   975 		@internalComponent
   976 		*/
   977 		CCDUmtsR99QoSAndOnTableRecord();
   978 		/**
   979 		@internalComponent
   980 		*/
   981 		CCDUmtsR99QoSAndOnTableRecord(TMDBElementId aElementId);
   982 
   983 		DATA_VTABLE
   984 
   985 		const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;}
   986 
   987 	public:
   988 		CMDBField<RPacketQoS::TTrafficClass> 	iGPRSReqTrafficClass;              	//< Requested traffic class.    
   989 		CMDBField<RPacketQoS::TTrafficClass> 	iGPRSMinTrafficClass;             	//< Minimum acceptable traffic class.
   990 		CMDBField<RPacketQoS::TDeliveryOrder> 	iGPRSReqDeliveryOrder;      	   	//< Requested value for sequential SDU delivery.
   991 		CMDBField<RPacketQoS::TDeliveryOrder> 	iGPRSMinDeliveryOrder;      	   	//< Minimum acceptable value for sequential SDU delivery.
   992 		CMDBField<RPacketQoS::TErroneousSDUDelivery> 	iGPRSReqDeliverErroneousSDU;//< Requested value for erroneous SDU delivery.
   993 		CMDBField<RPacketQoS::TErroneousSDUDelivery> 	iGPRSMinDeliverErroneousSDU;//< Minimum acceptable value for erroneous SDU delivery.
   994 		CMDBField<TInt32> 	                  iGPRSReqMaxSDUSize;             		//< Request maximum SDU size.
   995 		CMDBField<TInt32>                   	iGPRSMinAcceptableMaxSDUSize;	   	//< Minimum acceptable SDU size.
   996 		CMDBField<TInt32>                   	iGPRSReqMaxUplinkRate;              //< Requested maximum bit rates on uplink. 
   997 		CMDBField<TInt32>                   	iGPRSReqMinUplinkRate;              //< Requested minimum bit rates on uplink. 
   998 		CMDBField<TInt32>                   	iGPRSReqMaxDownlinkRate;            //< Requested maximum bit rates on downlink. 
   999 		CMDBField<TInt32>                   	iGPRSReqMinDownlinkRate;            //< Requested minimum bit rates on downlink. 
  1000 		CMDBField<RPacketQoS::TBitErrorRatio> 	iGPRSReqBER;                     	//< Requested target BER.
  1001 		CMDBField<RPacketQoS::TBitErrorRatio> 	iGPRSMaxBER;                      	//< Maximum acceptable target BER.
  1002 		CMDBField<RPacketQoS::TSDUErrorRatio> 	iGPRSReqSDUErrorRatio;           	//< Requested target SDU error ratio.
  1003 		CMDBField<RPacketQoS::TSDUErrorRatio> 	iGPRSMaxSDUErrorRatio;          	//< Maximum acceptable target SDU error ratio.
  1004 		CMDBField<RPacketQoS::TTrafficHandlingPriority> 	iGPRSReqTrafficHandlingPriority;	//< Requested traffic handling priority.
  1005 		CMDBField<RPacketQoS::TTrafficHandlingPriority> 	iGPRSMinTrafficHandlingPriority;	//< Minimum acceptable traffic handling priority.
  1006 		CMDBField<TInt32>                   	iGPRSReqTransferDelay;            	//< Requested transfer delay (in milliseconds).
  1007 		CMDBField<TInt32>                   	iGPRSMaxTransferDelay;           	//< Maximum acceptable  transfer delay (in milliseconds).
  1008 		CMDBField<TInt32>                   	iGPRSReqGuaranteedUplinkRate;       //< Requested guaranteed bit rates on uplink. 
  1009 		CMDBField<TInt32>                   	iGPRSMinGuaranteedUplinkRate;      	//< Minimum acceptable guaranteed bit rates on uplink.
  1010 		CMDBField<TInt32>                   	iGPRSReqGuaranteedDownlinkRate;  	//< Requested guaranteed bit rates on downlink.
  1011 		CMDBField<TInt32>                   	iGPRSMinGuaranteedDownlinkRate;	    //< Minimum acceptable guaranteed bit rates on downlink.
  1012 		CMDBField<TBool>                    	iGPRSSignallingIndication;		   	//< Signalling indication.
  1013 		CMDBField<TBool>                    	iGPRS_ImCnSignallingIndication;     //< IP Multimeida System (IMS) Core Network (CN) Signalling Indicator.
  1014 		CMDBField<RPacketQoS::TSourceStatisticsDescriptor> 	iGPRSSourceStatisticsDescriptor; //< Static source descriptor.		
  1015 	
  1016 	public:	
  1017 		static const SRecordTypeInfo* const iRecordInfo;	
  1018 	};
  1019 	
  1020 // TCommdbBearer for BearerTechnology field 
  1021 typedef TCommDbBearer TCommsDBBearerTechnology;	//< Bearer support type for field BearerTechnology
  1022 
  1023 //
  1024 // 13/  MODEM BEARER RECORD
  1025 //
  1026 /**
  1027 @publishedAll
  1028 @released
  1029 */
  1030 class CCDModemBearerRecord : public CCDBearerRecordBase
  1031 	{
  1032 	public:
  1033 		/**
  1034 		@internalComponent
  1035 		*/
  1036 		CCDModemBearerRecord();
  1037 		/**
  1038 		@internalComponent
  1039 		*/
  1040 		CCDModemBearerRecord(TMDBElementId id);
  1041 		
  1042 			/** 
  1043 		Gets the following information: 
  1044 		- iTypeId
  1045 		- iValType 
  1046 		- iTypeAttr
  1047 		- iTypeName           
  1048 		
  1049 		@return Returns a const pointer to the record containing the data - client does not need to delete this pointer after use.
  1050 		*/
  1051         const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;}			
  1052 
  1053 		DATA_VTABLE
  1054 		
  1055 
  1056 	public:
  1057 
  1058 		// MemberData
  1059 		CMDBField<TDesC>	                        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.
  1060 		CMDBField<TDesC>	                        iPortName;				//< The name of the Comm port for the modem to connect to
  1061 		CMDBField<TDesC>	                        iTsyName;				//< The name of the TSY. ETEL is the telephony server/common interface for Symbian. The TSY provides the hardware specific implementation to this.
  1062 		CMDBField<TDesC>	                        iCsyName;				//< The name of the CSY. CSY provides the Comm port specific implementation to C32 (Serial Comms server).
  1063 		CMDBField<TUint32>	    iLastSocketActivityTimeout;					//< Time (in seconds) to stay online when all socket activity has ceased.
  1064 		CMDBField<TUint32>	        iLastSessionClosedTimeout;				//< Time (in seconds)  to stay online when session has closed
  1065 		CMDBField<TUint32>	        iLastSocketClosedTimeout;				//< Time (in seconds) to stay online when socket has closed.
  1066 		CMDBField<TUint32>	                        iDataBits;				//< Number of data bits used for serial port configuration.
  1067 		CMDBField<TUint32>	                        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.
  1068 		CMDBField<TUint32>	                        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.
  1069 		CMDBField<TUint32>	                            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.
  1070 		CMDBField<TUint32>	                    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. 
  1071 		CMDBField<TUint32>	                    iSpecialRate;				//< User defined baud rate for the modem. This field will contain a value only if the value of field Rate is EBpsSpecial.
  1072 		CMDBField<TUint32>	                        iXonChar;				//< Character used to signal to the transmitter to resume sending when using XON/XOFF handshaking.
  1073 		CMDBField<TUint32>	                        iXoffChar;				//< Character used to signal the transmitter to suspend sending when using XON/XOFF handshaking.
  1074 		CMDBField<TUint32>	                    iFaxClassPref;				//< The preferred fax modem class supported by the fax client. This is the command set used to control the modem.
  1075 		CMDBField<TUint32>	                    iSpeakerPref;				//< Preferred speaker mode.
  1076 		CMDBField<TUint32>	                iSpeakerVolPref;				//< Preferred speaker volume.
  1077 		CMDBField<TDesC8>	                    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. 
  1078 		CMDBField<TDesC8>	                iDataInitString;				//< Data initialisation string.
  1079 		CMDBField<TDesC8>	                iFaxInitString;					//< Fax initialisation string.
  1080 		CMDBField<TDesC8>	                iIspInitString;					//< Initialisation string specific to a particular ISP.
  1081 		CMDBField<TDesC>	                iDialPauseLength;				//< Command to modify the pause created during dialling using the comma character (',').
  1082 		CMDBField<TDesC>	                iCarrierTimeOut;				//< Command to set the time out the modem uses when establishing a link before giving up and returning to command mode.
  1083 		CMDBField<TDesC>	            iAutoAnswerRingCount;				//< Command to set the number of rings before the modem auto answers.
  1084 		CMDBField<TDesC>	            iSpeakerVolControlLow;				//< Command to set the modem speaker volume to low.
  1085 		CMDBField<TDesC>	        iSpeakerVolControlMedium;				//< Command to set the modem speaker volume to medium.
  1086 		CMDBField<TDesC>	        iSpeakerVolControlHigh;					//< Command to set the modem speaker volume to high.
  1087 		CMDBField<TDesC>	                iSpeakerAlwaysOff;				//< Command to set the modem speaker off.
  1088 		CMDBField<TDesC>	        iSpeakerOnUntilCarrier;					//< Command to set the modem speaker on.
  1089 		CMDBField<TDesC>	                iSpeakerAlwaysOn;				//< Command to set the modem speaker on until the carrier.
  1090 		CMDBField<TDesC>	        iSpeakerOnAfterUntilCarrier;			//< Command to set the modem speaker on except during dialling.
  1091 		CMDBField<TDesC>	            iDialToneWaitModifier;				//< The dial command modifier waits for dial tone.
  1092 		CMDBField<TDesC>	                iCallProgress1;					//< Disable busy and dial tone detection.
  1093 		CMDBField<TDesC>	                iCallProgress2;					//< Dial tone detection enabled, busy detection disabled.
  1094 		CMDBField<TDesC>	                iCallProgress3;					//< Dial tone detection disabled, busy detection enabled.
  1095 		CMDBField<TDesC>	                iCallProgress4;					//< Dial tone and busy detection enabled.
  1096 		CMDBField<TDesC>	                        iEchoOff;				//< Switch echo mode off.
  1097 		CMDBField<TDesC>	                    iVerboseText;				//< Switch verbose mode on.
  1098 		CMDBField<TDesC>	                        iQuietOff;				//< Switch quiet mode off.
  1099 		CMDBField<TDesC>	                        iQuietOn;				//< Switch quiet mode on.
  1100 		CMDBField<TDesC>	        iDialCommandStateModifier;				//< Dial command modifier- used to return to command mode after dialling.
  1101 		CMDBField<TDesC>	                        iOnLine;				//< Enter on-line mode from on-line command mode.
  1102 		CMDBField<TDesC>	            iResetConfiguration;				//< Reset the modem configurations.
  1103 		CMDBField<TDesC>	            iReturnToFactoryDefs;				//< Return the modem configuration to its factory defaults.
  1104 		CMDBField<TDesC>	                iDcdOnDuringLink;				//< Command the modem to only assert DCD when a carrier is actually detected, i.e. while the link is up.
  1105 		CMDBField<TDesC>	                    iDtrHangUp;					//< Command the modem to hang up the current call when the DTE drops the DTR line.
  1106 		CMDBField<TDesC>	                    iDsrAlwaysOn;				//< Command the modem to always assert DSR.
  1107 		CMDBField<TDesC>	                iRtsCtsHandshake;				//< Command the modem to use RTS/CTS flow control
  1108 		CMDBField<TDesC>	                iXonXoffHandshake;				//< Command the modem to use software flow control.
  1109 		CMDBField<TDesC>	                iEscapeCharacter;				//< The character used by the DTE to return to command mode from on-line mode.
  1110 		CMDBField<TDesC>	            iEscapeGuardPeriod;					//< Command the modem to use a particular escape sequence guard period.
  1111 		CMDBField<TDesC>	            iFaxClassInterrogate;				//< Command asking the modem which fax modes are supported.
  1112 		CMDBField<TDesC>	                        iFaxClass;				//< Command that sets the fax mode.
  1113 		CMDBField<TDesC>	                    iNoDialTone;				//< Modem response when no dial tone is detected.
  1114 		CMDBField<TDesC>	                            iBusy;				//< Modem response when a busy tone is detected.
  1115 		CMDBField<TDesC>	                        iNoAnswer;				//< Modem response when no answer is detected.
  1116 		CMDBField<TDesC>	                        iCarrier;				//< Carrier report message.
  1117 		CMDBField<TDesC>	                        iConnect;				//< Connection report message.
  1118 		CMDBField<TDesC>	            iCompressionClass5;					//< Compression Class 5 report message.
  1119 		CMDBField<TDesC>	            iCompressionV42bis;					//< Compression V.42 bis report message.
  1120 		CMDBField<TDesC>	                iCompressionNone;				//< No compression report message.
  1121 		CMDBField<TDesC>	                    iProtocolLapd;				//< LAPD protocol report message.
  1122 		CMDBField<TDesC>	                    iProtocolAlt;				//< ALT protocol report message.
  1123 		CMDBField<TDesC>	            iProtocolAltcellular;				//< ALT-CELLULAR report message.
  1124 		CMDBField<TDesC>	                    iProtocolNone;				//< No protocol report message.
  1125 		CMDBField<TDesC>	            iMessageCentreNumber;				//< Phone number of message centre.
  1126 		CMDBField<TUint32>	        iMessageValidityPeriod;					//< Validity period for SMS in minutes.
  1127 		CMDBField<TBool>	        iMessageDeliveryReport;					//< Specifies whether to produce an SMS delivery report.
  1128 		CMDBField<TUint32>	                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.
  1129 
  1130 		CMDBField<TUint32>	                        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).
  1131 		CMDBField<TDesC>	        iControlChannelPortName;				//< The modem control channel port name.
  1132 		CMDBField<TUint32>	                    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. 
  1133 		CMDBField<TDesC>	                    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.
  1134 		CMDBField<TCommsDBBearerTechnology>     iBearerTechnology;			//< Specifies whether the bearer is a CSD/HSCSD bearer.
  1135     
  1136     private:
  1137     
  1138 		static const SRecordTypeInfo* const iRecordInfo;
  1139 	};
  1140 
  1141 
  1142 
  1143 
  1144 
  1145 //
  1146 // 14/  LAN BEARER RECORD
  1147 //
  1148 /**
  1149 @publishedAll
  1150 @released
  1151 */
  1152 class CCDLANBearerRecord : public CCDBearerRecordBase
  1153 	{
  1154 	public:
  1155 		/**
  1156 		@internalComponent
  1157 		*/
  1158 		CCDLANBearerRecord();
  1159 		/**
  1160 		@internalComponent
  1161 		*/
  1162 		CCDLANBearerRecord(TMDBElementId aId);
  1163 		
  1164 			/** 
  1165 		Gets the following information: 
  1166 		- iTypeId
  1167 		- iValType 
  1168 		- iTypeAttr
  1169 		- iTypeName           
  1170 		
  1171 		@return Returns a const pointer to the record containing the data - client does not need to delete this pointer after use.
  1172 		*/
  1173 		const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;}			
  1174 
  1175 		DATA_VTABLE        
  1176 
  1177 	public:
  1178 
  1179     	CMDBField<TDesC>	        iLanBearerNifName;						//< A protocol name is specified for establishing a direct connection. The interface typically implements a particular network connection protocol such as PPP.
  1180 		CMDBField<TDesC>    	    iLanBearerLddFilename;					//< This is the actual .DLL filename for the LDD.
  1181 		CMDBField<TDesC>	        iLanBearerLddName;						//< This is the name of a particular LDD.
  1182 		CMDBField<TDesC>	        iLanBearerPddFilename;					//< This is the actual .DLL filename for the PDD.
  1183    	    CMDBField<TDesC>          iLanBearerPddName;						//< This is the name of a particular PDD.
  1184 		CMDBField<TDesC>	        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.
  1185 		CMDBField<TUint32>        iLastSocketActivityTimeout;				//< Time (in seconds) to stay online when all socket activity has ceased.
  1186 		CMDBField<TUint32>        iLastSessionClosedTimeout;				//< Time (in seconds)  to stay online when session has closed.
  1187 		CMDBField<TUint32>	            iLastSocketClosedTimeout;			//< Time (in seconds)  to stay online when socket has closed.
  1188 		CMDBField<TCommsDBBearerTechnology>   iBearerTechnology;			//< Specifies whether the bearer is a CSD/HSCSD bearer.
  1189 
  1190     private:
  1191 
  1192 		static const SRecordTypeInfo* const iRecordInfo;
  1193 	};
  1194 
  1195 
  1196 //
  1197 // 15/  VIRTUAL BEARER RECORD
  1198 //
  1199 /**
  1200 @publishedAll
  1201 @released
  1202 */
  1203 class CCDVirtualBearerRecord : public CCDBearerRecordBase
  1204 	{
  1205 	public:
  1206 		/**
  1207 		@internalComponent
  1208 		*/
  1209 		CCDVirtualBearerRecord();
  1210 		/**
  1211 		@internalComponent
  1212 		*/
  1213 		CCDVirtualBearerRecord(TMDBElementId aId);
  1214 
  1215 		DATA_VTABLE
  1216 
  1217 		/** 
  1218 		Gets the following information: 
  1219 		- iTypeId
  1220 		- iValType 
  1221 		- iTypeAttr
  1222 		- iTypeName           
  1223 		
  1224 		@return Returns a const pointer to the record containing the data - client does not need to delete this pointer after use.
  1225 		*/
  1226         const SRecordTypeInfo* GetRecordInfo() {return iRecordInfo;}			
  1227 	public:
  1228 
  1229 		// Member Data
  1230 		CMDBField<TDesC>	    iVirtualBearerNifName;						//< The network interface name of the virtual bearer. 
  1231 		CMDBField<TUint32>	    iLastSocketActivityTimeout;					//< Time (in seconds) to stay online when all socket activity has ceased.
  1232 		CMDBField<TUint32>	    iLastSessionClosedTimeout;					//< Time (in seconds)  to stay online when socket has closed.
  1233 		CMDBField<TUint32>	    iLastSocketClosedTimeout;					//< Time (in seconds)  to stay online when socket has closed.
  1234 		CMDBField<TCommsDBBearerTechnology>     iBearerTechnology;			//< Specifies whether the bearer is a CSD/HSCSD bearer.
  1235 
  1236     private:
  1237     
  1238 		static const SRecordTypeInfo* const iRecordInfo;
  1239 	};
  1240 
  1241 
  1242 
  1243 //
  1244 // 16/ WAP SMS Bearer Record
  1245 //
  1246 /**
  1247 @publishedAll
  1248 @released
  1249 */
  1250 class CCDWAPSMSBearerRecord : public CCDRecordBase
  1251 	{
  1252 	public:
  1253 		/**
  1254 		@internalComponent
  1255 		*/
  1256 		CCDWAPSMSBearerRecord();
  1257 		/**
  1258 		@internalComponent
  1259 		*/
  1260 		CCDWAPSMSBearerRecord(TMDBElementId aElementId);
  1261 
  1262 		DATA_VTABLE
  1263 		
  1264 			/** 
  1265 		Gets the following information: 
  1266 		- iTypeId
  1267 		- iValType 
  1268 		- iTypeAttr
  1269 		- iTypeName           
  1270 		
  1271 		@return Returns a const pointer to the record containing the data - client does not need to delete this pointer after use.
  1272 		*/
  1273         const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;}			
  1274 
  1275 	public :
  1276 		// Member Elements
  1277 		CMDBRecordLink<CCDWAPAccessPointRecord>   iWAPAccessPointId;		//< ID of the  WAP Access Point record to which this bearer information refers.	
  1278 		CMDBField<TDesC>              		      iWAPGatewayAddress;		//< WAP gateway address: an IP address or phone number.
  1279 		CMDBField<TDesC>                          iWAPServiceCentreAddress; //< WAP service centre address.
  1280 		CMDBField<TUint8>                         iWAPWSPOption;			//< Whether connection-oriented or connectionless API should be used.
  1281 		CMDBField<TBool>                          iWAPSecurity;				//< Attempt secure WTLS connection to the gateway.
  1282 
  1283     private:
  1284 
  1285 		static const SRecordTypeInfo* const iRecordInfo;
  1286 	};
  1287 
  1288 
  1289 
  1290 //
  1291 // 17/ WAP IP BEARER
  1292 //
  1293 /**
  1294 @publishedAll
  1295 @released
  1296 */
  1297 class CCDWAPIPBearerRecord : public CCDRecordBase
  1298 	{
  1299 
  1300 	public:
  1301 		/**
  1302 		@internalComponent
  1303 		*/
  1304 		CCDWAPIPBearerRecord();
  1305 		/**
  1306 		@internalComponent
  1307 		*/
  1308 		CCDWAPIPBearerRecord(TMDBElementId aElementId);
  1309 
  1310 		DATA_VTABLE
  1311 		
  1312 			/** 
  1313 		Gets the following information: 
  1314 		- iTypeId
  1315 		- iValType 
  1316 		- iTypeAttr
  1317 		- iTypeName           
  1318 		
  1319 		@return Returns a const pointer to the record containing the data - client does not need to delete this pointer after use.
  1320 		*/
  1321         const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;}				
  1322 
  1323 	public :
  1324 
  1325 		// Member Elements
  1326 		CMDBRecordLink<CCDWAPAccessPointRecord> iWAPAccessPointId;				//< ID of the  WAP Access Point record to which this bearer information refers.
  1327 		CMDBField<TDesC>                        iWAPGatewayAddress;				//< WAP gateway address: an IP address or phone number.
  1328 		CMDBRecordLink<CCDIAPRecord>            iWAPIAP;						//< Identifier of a record in the IAP table to be used.
  1329 		CMDBField<TUint8>                       iWAPWSPOption;					//< Set to an enum deciding whether WAP WSP is to be set to connectionless or connection oriented. 
  1330 		CMDBField<TBool>                        iWAPSecurity;					//< Attempt secure WTLS connection to the gateway.
  1331 		CMDBField<TUint32>                      iWAPProxyPort;					//< Proxy port number. Required for WAP2.0 only.
  1332 		CMDBField<TDesC>                        iWAPProxyLoginName;				//< Proxy login name. Required for WAP2.0 only.
  1333 		CMDBField<TDesC>                        iWAPProxyLoginPass;				//< Proxy login password. Required for WAP2.0 only.
  1334 
  1335 
  1336     private:
  1337 	
  1338 		static const SRecordTypeInfo* const iRecordInfo;
  1339 	};
  1340 
  1341 
  1342 
  1343 
  1344 //
  1345 // 18/  CHARGECARD RECORD
  1346 //
  1347 /**
  1348 Reading of ChargeCard Table data is protected with ECDPrivate Attribute.  
  1349 This will require additional capabilities to read.
  1350 
  1351 @publishedAll
  1352 @released
  1353 */
  1354 class CCDChargecardRecord : public CCDRecordBase
  1355 	{
  1356 	public:
  1357 		/**
  1358 		@internalComponent
  1359 		*/
  1360 		CCDChargecardRecord();
  1361 		/**
  1362 		@internalComponent
  1363 		*/
  1364 		CCDChargecardRecord(TMDBElementId aElementId);
  1365 
  1366 		DATA_VTABLE
  1367 		
  1368 			/** 
  1369 		Gets the following information: 
  1370 		- iTypeId
  1371 		- iValType 
  1372 		- iTypeAttr
  1373 		- iTypeName           
  1374 		
  1375 		@return Returns a const pointer to the record containing the data - client does not need to delete this pointer after use.
  1376 		*/
  1377         const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;} 	
  1378 
  1379 	public:
  1380 
  1381 		// Member Elements
  1382 		CMDBField<TDesC>        iAccountNo;		//< The account number to charge.
  1383 		CMDBField<TDesC>              iPin;		//< The pin number of the account to charge.
  1384 		CMDBField<TDesC>        iLocalRule;		//< An operator dependant rule specifying the order of dialling to be account number, PIN and phone number for local calls.
  1385 		CMDBField<TDesC>          iNatRule;		//< An operator dependant rule specifying the order of dialling to be account number, PIN and phone number for national calls.
  1386 		CMDBField<TDesC>         iIntlRule;		//< An operator dependant rule specifying the order of dialling to be account number, PIN and phone number for international calls.
  1387 
  1388     private:
  1389 
  1390 		static const SRecordTypeInfo* const iRecordInfo;
  1391 
  1392 	};
  1393 
  1394 //
  1395 // 19/  PROXIES RECORD
  1396 //
  1397 /**
  1398 @publishedAll
  1399 @released
  1400 */
  1401 class CCDProxiesRecord : public CCDRecordBase
  1402 	{
  1403 	public:
  1404 		/**
  1405 		@internalComponent
  1406 		*/
  1407 		CCDProxiesRecord();
  1408 		/**
  1409 		@internalComponent
  1410 		*/
  1411 		CCDProxiesRecord(TMDBElementId aElementId);
  1412 
  1413 		DATA_VTABLE
  1414 		
  1415 			/** 
  1416 		Gets the following information: 
  1417 		- iTypeId
  1418 		- iValType 
  1419 		- iTypeAttr
  1420 		- iTypeName           
  1421 		
  1422 		@return Returns a const pointer to the record containing the data - client does not need to delete this pointer after use.
  1423 		*/
  1424 
  1425         const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;}
  1426 
  1427 	public :
  1428 
  1429 		// Member Elements
  1430 		CMDBRecordLink<CCDServiceRecordBase>    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.
  1431 		CMDBField<TDesC>                        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.
  1432 		CMDBField<TBool>                        iUseProxyServer;		//< Specifies whether to use a proxy server.
  1433 		CMDBField<TDesC>                        iServerName;			//< Name of the host proxy server.
  1434 		CMDBField<TDesC>                        iProtocolName;			//< Name of the protocol for which this proxy can be used.
  1435 		CMDBField<TUint32>                      iPortNumber;			//< Port number for the proxy server.
  1436 		CMDBField<TDesC>                        iExceptions;			//< Semi-colon separated list of the addresses for which the proxy server should not be used.
  1437 
  1438 
  1439     private:
  1440     
  1441         static const SRecordTypeInfo* const iRecordInfo;
  1442 	};
  1443 
  1444 
  1445 
  1446 //
  1447 // 1C/ PAN_SERVICE_EXTENSIONS
  1448 //
  1449 /**
  1450 @publishedAll
  1451 @released
  1452 */
  1453 class CCDPANServiceExtRecord : public CCDServiceRecordBase
  1454 	{
  1455 	public:
  1456 		/**
  1457 		@internalComponent
  1458 		*/
  1459 		CCDPANServiceExtRecord();
  1460 		/**
  1461 		@internalComponent
  1462 		*/
  1463 		CCDPANServiceExtRecord(TMDBElementId aElementId);
  1464 
  1465 		DATA_VTABLE
  1466 		
  1467 			/** 
  1468 		Gets the following information: 
  1469 		- iTypeId
  1470 		- iValType 
  1471 		- iTypeAttr
  1472 		- iTypeName           
  1473 		
  1474 		@return Returns a const pointer to the record containing the data - client does not need to delete this pointer after use.
  1475 		*/
  1476         const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;}  
  1477 
  1478 	public:
  1479 
  1480 		// Member Data
  1481 		CMDBField<TUint32>  	iLocalRole;					//< PAN role that the local device will act in. To dynamically select a role, use ECommDbPanRoleUnknown.
  1482 		CMDBField<TUint32>	 	iPeerRole;					//< PAN role that the remote device will act in. To dynamically select a role, use ECommDbPanRoleUnknown.
  1483 		CMDBField<TDesC>  		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
  1484 		CMDBField<TBool>	 	iPromptForRemoteDevices;	//< Whether the agent should prompt the user to select the remote device to connect to.
  1485 		CMDBField<TBool>  		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.
  1486 		CMDBField<TBool>	 	iAllowIncoming;				//< Whether the PAN agent should support incoming connections.
  1487 		CMDBField<TBool>	 	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.
  1488 #ifdef SYMBIAN_NETWORKING_DHCPSERVER		
  1489 		CMDBField<TBool>	 	iNapServiceEnabled;
  1490 #endif // SYMBIAN_NETWORKING_DHCPSERVER		
  1491     private:
  1492 
  1493         static const SRecordTypeInfo* const iRecordInfo;
  1494 	};
  1495 
  1496 class CCDSelectionPolicyRecordBase;
  1497 
  1498 //
  1499 // 1D/ ACCESS POINT RECORD
  1500 // -----------   ------------------------------------------------------------------------------------------------------------------------------
  1501 //| ID | NAME | | ACCESS POINT TYPE | MCPR TYPE | SELECTION POLICY | CPR TYPE | CPR CONFIG | SCPR TYPE | PROTOCOL TYPE | APPLICATION SECURE ID |
  1502 //|-----------| |------------------------------------------------------------------------------------------------------------------------------|
  1503 //|  * |    * | |                 * |         * |                * |        * |          * |         * |             * |                     * |
  1504 // -----------   ------------------------------------------------------------------------------------------------------------------------------
  1505 // ID                     - Access point's unique ID.
  1506 // NAME                   - Access point's unique name.
  1507 // ACCESS POINT TYPE      - Identifies the access point's (tier's) type (row in the CCDAccessPointTypeRecord table).
  1508 // MCPR TYPE
  1509 // SELECTION POLICY       - A policy id interpreted by the MCPR's "Next Layer Selector".
  1510 // CPR TYPE
  1511 // CPR CONFIG             - CPR's config id interpreted by a CPR.
  1512 // SCPR TYPE
  1513 // PROTOCOL TYPE
  1514 // APPLICATION SECURE ID  - Only application with this SID may acess this record (can we do that in CommsDat?)
  1515 
  1516 /**
  1517 @publishedAll
  1518 @released
  1519 */
  1520 #ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
  1521 class CCDTierRecord;
  1522 class CCDMCprRecord;
  1523 class CCDCprRecord;
  1524 class CCDSCprRecord;
  1525 class CCDProtocolRecord;
  1526 #endif
  1527 
  1528 
  1529 class CCDAccessPointRecord : public CCDRecordBase
  1530 	{
  1531 	public:
  1532     	enum { KNoPolicy = -1 };
  1533 	
  1534 		CCDAccessPointRecord(TMDBElementId aElementId);
  1535 
  1536 		DATA_VTABLE
  1537 		
  1538 			/** 
  1539 		Gets the following information: 
  1540 		- iTypeId
  1541 		- iValType 
  1542 		- iTypeAttr
  1543 		- iTypeName           
  1544 		
  1545 		@return Returns a const pointer to the record containing the data - client does not need to delete this pointer after use.
  1546 		*/
  1547         const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;} 
  1548 
  1549 	public:
  1550         /* @deprecated with SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
  1551            Use iTier instead */
  1552 		CMDBField<TUint32>                              iAccessPointGID;    // Only present when record is a SNAP.  Gives to the SNAP Tier Id
  1553         
  1554 		/* mapped (but not deprecated) with SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY*/
  1555         CMDBRecordLink<CCDSelectionPolicyRecordBase>    iSelectionPolicy;   // Link to SelectionPolicy record
  1556         
  1557 #ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
  1558 
  1559 		CMDBRecordLink<CCDTierRecord> iTier;		//Tier. Type of the access point. Row in CCDTierRecord table.
  1560 		CMDBRecordLink<CCDMCprRecord> iMCpr;		//MCPR's type. Row in CCDMCprRecord table.
  1561 		CMDBRecordLink<CCDCprRecord> iCpr;			//CPR's type. Row in CCDCprRecord table.
  1562 		CMDBRecordLink<CCDSCprRecord> iSCpr;		//SCPR's type. Row in CCDSCprRecord table.
  1563 		CMDBRecordLink<CCDProtocolRecord> iProtocol;	//PRT's type. Row in CCDProtocolRecord table.
  1564 		CMDBField<TUint32> iCprConfig;				//CPR's config id. Value interpreted by a CPR.
  1565 		CMDBField<TUint32> iAppSID;					//Application SID.
  1566 		CMDBField<TDesC> iConfigAPIdList;                   // List of addition SCprs (from ConfigAccessPoint table) 
  1567         //This field can be used to create custom selection policies which is _not_ use
  1568         //the APPrioritySelectionPolicy record but store some value which is interpreted by the
  1569         //given MCPr.
  1570         CMDBField<TInt> iCustomSelectionPolicy;
  1571 		CMDBField<TUint32> iPriority;			//Access point priority.
  1572 #endif
  1573     private:
  1574         static const SRecordTypeInfo* const iRecordInfo;
  1575 	};
  1576 
  1577 //
  1578 // 1E/ SELECTION POLICY RECORD
  1579 /**
  1580 @publishedAll
  1581 @released
  1582 */
  1583 class CCDSelectionPolicyRecordBase : public CCDRecordBase
  1584 	{
  1585 	public:
  1586 		DATA_VTABLE
  1587 
  1588     protected:
  1589 		/**
  1590 		@internalComponent
  1591 		*/
  1592 		CCDSelectionPolicyRecordBase(TMDBElementId aElementId);
  1593 	};
  1594 
  1595 // 1F/ IAP PRIORITY SELECTION POLICY RECORD
  1596 // -----------   ---------------------------------------------
  1597 //| ID | NAME | | IAP LINK 1 | IAP LINK 2 | ... | IAP LINK 15 |
  1598 //|-----------| |---------------------------------------------|
  1599 //|  * |    * | |          * |          * |   * |           * |
  1600 // -----------   ---------------------------------------------
  1601 // IAP LINK N - links to Nth IAP record.
  1602 /**
  1603  @publishedAll
  1604  @released
  1605  @deprecated with SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
  1606  when Mapped to CCDAPPrioritySelectionPolicyRecord
  1607  */
  1608 class CCDIAPPrioritySelectionPolicyRecord : public CCDSelectionPolicyRecordBase
  1609 	{
  1610     public:
  1611 		enum { EMaxNrOfIaps = 15 };
  1612 
  1613     public:
  1614 		/**
  1615 		@internalComponent
  1616 		*/
  1617 		CCDIAPPrioritySelectionPolicyRecord(TMDBElementId aElementId);
  1618 
  1619 		DATA_VTABLE
  1620 		
  1621 		/** 
  1622 		Gets the following information: 
  1623 		- iTypeId
  1624 		- iValType 
  1625 		- iTypeAttr
  1626 		- iTypeName           
  1627 
  1628 		@return Returns a const pointer to the record containing the data - client does not need to delete this pointer after use.
  1629 		*/
  1630 		const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;} 
  1631 
  1632 	public:
  1633 		CMDBRecordLink<CCDIAPRecord> iIap1; 	//< IAP link 1 - links to first IAP record.
  1634 		CMDBRecordLink<CCDIAPRecord> iIap2;		//< IAP link 2 - links to second IAP record.
  1635 		CMDBRecordLink<CCDIAPRecord> iIap3;		//< IAP link 3 - links to third IAP record.
  1636 		CMDBRecordLink<CCDIAPRecord> iIap4;		//< IAP link 4 - links to fourth IAP record.
  1637 		CMDBRecordLink<CCDIAPRecord> iIap5;		//< IAP link 5 - links to fifth IAP record.
  1638 		CMDBRecordLink<CCDIAPRecord> iIap6;		//< IAP link 6 - links to sixth IAP record.
  1639 		CMDBRecordLink<CCDIAPRecord> iIap7;		//< IAP link 7 - links to seventh IAP record.
  1640 		CMDBRecordLink<CCDIAPRecord> iIap8;		//< IAP link 8 - links to eighth IAP record.
  1641 		CMDBRecordLink<CCDIAPRecord> iIap9;		//< IAP link 9 - links to ninth IAP record.
  1642 		CMDBRecordLink<CCDIAPRecord> iIap10;	//< IAP link 10 - links to tenth IAP record.
  1643 		CMDBRecordLink<CCDIAPRecord> iIap11;	//< IAP link 11- links to eleventh IAP record.
  1644 		CMDBRecordLink<CCDIAPRecord> iIap12;	//< IAP link 12- links to twelveth IAP record.
  1645 		CMDBRecordLink<CCDIAPRecord> iIap13;	//< IAP link 13- links to thirteenth IAP record.
  1646 		CMDBRecordLink<CCDIAPRecord> iIap14;	//< IAP link 14- links to fourteenth IAP record.
  1647 		CMDBRecordLink<CCDIAPRecord> iIap15;	//< IAP link 15- links to fifteenth IAP record.
  1648 		CMDBField<TUint32> iIapCount;			//< Keeps count of the number of IAPs in the selection policy, for comparison purposes.
  1649 
  1650     private:
  1651         static const SRecordTypeInfo* const iRecordInfo;
  1652 	};
  1653 
  1654 #ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
  1655 
  1656 //
  1657 // 1F/ AP PRIORITY SELECTION POLICY RECORD
  1658 // -----------   --------------------------
  1659 //| ID | NAME | | AP 1 | AP 2 | ... | AP N |
  1660 //|-----------| |--------------------------|
  1661 //|  * |    * | |    * |    * |   * |    * |
  1662 // -----------   --------------------------
  1663 /**
  1664  @publishedAll
  1665  @released
  1666  */
  1667 class CCDAPPrioritySelectionPolicyRecord : public CCDSelectionPolicyRecordBase
  1668 	{
  1669     public:
  1670 		enum { EMaxNrOfAps = 15 };
  1671 
  1672     public:
  1673 		CCDAPPrioritySelectionPolicyRecord(TMDBElementId aElementId);
  1674 
  1675 		DATA_VTABLE
  1676 
  1677         const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;}
  1678 
  1679 	public:
  1680 		
  1681 		CMDBRecordLink<CCDAccessPointRecord>    iAp1;
  1682 		CMDBRecordLink<CCDAccessPointRecord>    iAp2;
  1683 		CMDBRecordLink<CCDAccessPointRecord>    iAp3;
  1684 		CMDBRecordLink<CCDAccessPointRecord>    iAp4;
  1685 		CMDBRecordLink<CCDAccessPointRecord>    iAp5;
  1686 		CMDBRecordLink<CCDAccessPointRecord>    iAp6;
  1687 		CMDBRecordLink<CCDAccessPointRecord>    iAp7;
  1688 		CMDBRecordLink<CCDAccessPointRecord>    iAp8;
  1689 		CMDBRecordLink<CCDAccessPointRecord>    iAp9;
  1690 		CMDBRecordLink<CCDAccessPointRecord>    iAp10;
  1691 		CMDBRecordLink<CCDAccessPointRecord>    iAp11;
  1692 		CMDBRecordLink<CCDAccessPointRecord>    iAp12;
  1693 		CMDBRecordLink<CCDAccessPointRecord>    iAp13;
  1694 		CMDBRecordLink<CCDAccessPointRecord>    iAp14;
  1695 		CMDBRecordLink<CCDAccessPointRecord>    iAp15;
  1696 		
  1697 		CMDBField<TUint32> iApCount;
  1698 
  1699     private:
  1700         static const SRecordTypeInfo* const iRecordInfo;
  1701 	};
  1702 
  1703 
  1704 //
  1705 //  POLICY SELECTOR RECORD
  1706 //
  1707 /**
  1708 @publishedAll
  1709 @released
  1710 */
  1711 class CCDPolicySelectorRecord : public CCDRecordBase
  1712 	{
  1713 	public:
  1714 
  1715 		CCDPolicySelectorRecord();
  1716 		CCDPolicySelectorRecord(TMDBElementId aElementId);
  1717 
  1718         const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;}
  1719     
  1720     	DATA_VTABLE
  1721 
  1722 	public:
  1723 
  1724 		// Member Data
  1725 		CMDBField<TUint32>                    			iPolicyId;
  1726 	    CMDBField<TUid>                     			iAppUid;
  1727 		CMDBField<TDesC>                   				iSrcAddress;	// TInetAddr
  1728 		CMDBField<TDesC>                   				iSrcMask;		// TInetAddr
  1729 		CMDBField<TDesC>                   				iDstAddress;	// TInetAddr
  1730 		CMDBField<TDesC>                   				iDstMask;		// TInetAddr
  1731 		CMDBField<TInt>                        			iSrcPort;
  1732 		CMDBField<TInt>                        			iDstPort;
  1733 		CMDBField<TInt>                        			iSrcPortMax;
  1734 		CMDBField<TInt>                        			iDstPortMax;
  1735 		CMDBField<TUint32>                     			iProtocolId;
  1736 		CMDBField<TUint32>                     			iIapId;
  1737 		CMDBField<TInt>                        			iPriority;
  1738 
  1739     private:
  1740 
  1741         static const SRecordTypeInfo* const iRecordInfo;
  1742 	};
  1743 
  1744 
  1745 //
  1746 //  POLICY SELECTOR 2 PARAMS RECORD
  1747 //
  1748 /**
  1749 This table is introduced to allow linking to multimpe tables, for chosen policy selection.
  1750 Params tables are GenericQos, UmtsR99QoSAndOnTableRecord
  1751 
  1752 @publishedAll
  1753 @released
  1754 */
  1755 class CCDPolicySelector2ParamsRecord : public CCDRecordBase
  1756 	{
  1757 	public:
  1758 
  1759 		CCDPolicySelector2ParamsRecord();
  1760 		CCDPolicySelector2ParamsRecord(TMDBElementId aElementId);
  1761 
  1762         const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;}
  1763     
  1764     	DATA_VTABLE
  1765 
  1766 	public:
  1767 
  1768 		// Member Data
  1769 		CMDBField<TUint32>                    			iPolicySelectorId;
  1770 		CMDBField<TUint32>                    			iParamsId;
  1771 
  1772     private:
  1773 
  1774         static const SRecordTypeInfo* const iRecordInfo;
  1775 	};
  1776 
  1777 //
  1778 //  GENERIC QOS PARAMETER RECORD
  1779 //
  1780 /**
  1781 @publishedAll
  1782 @released
  1783 */
  1784 class CCDGenericQosRecord : public CCDParamsRecordBase
  1785 	{
  1786 	public:
  1787 
  1788 		CCDGenericQosRecord();
  1789 		CCDGenericQosRecord(TMDBElementId aElementId);
  1790 
  1791         const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;}
  1792     
  1793     	DATA_VTABLE
  1794 
  1795 	public:
  1796 
  1797 		// Member Data
  1798 		CMDBField<TInt>  iDownlinkBandwidth;
  1799 		CMDBField<TInt>  iUplinkBandwidth;
  1800 		CMDBField<TInt>  iDownLinkMaximumBurstSize;
  1801 		CMDBField<TInt>  iUpLinkMaximumBurstSize;
  1802 		CMDBField<TInt>  iDownLinkAveragePacketSize;
  1803 		CMDBField<TInt>  iUpLinkAveragePacketSize;
  1804 		CMDBField<TInt>  iDownLinkMaximumPacketSize;
  1805 		CMDBField<TInt>  iUpLinkMaximumPacketSize;
  1806 		CMDBField<TInt>  iDownLinkDelay;
  1807 		CMDBField<TInt>  iUpLinkDelay;
  1808 		CMDBField<TInt>  iDownLinkDelayVariation;
  1809 		CMDBField<TInt>  iUpLinkDelayVariation;
  1810 		CMDBField<TInt>  iDownLinkPriority;
  1811 		CMDBField<TInt>  iUpLinkPriority;
  1812 		CMDBField<TBool> iHeaderMode;
  1813 //		CMDBField<TDesC> iQosName;
  1814     private:
  1815 
  1816         static const SRecordTypeInfo* const iRecordInfo;
  1817 	};
  1818 
  1819 //
  1820 //  WIFI SCANENGINE RECORD
  1821 //
  1822 /**
  1823 @internalTechnology
  1824 */
  1825 class CCDWifiScanEngineRecord : public CCDRecordBase
  1826 	{
  1827 	public:
  1828 
  1829 		CCDWifiScanEngineRecord();
  1830 		CCDWifiScanEngineRecord(TMDBElementId aElementId);
  1831 
  1832         const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;}
  1833     
  1834     	DATA_VTABLE
  1835 
  1836 	public:
  1837 
  1838 		// Member Data
  1839 		CMDBField<TUint32>  iScanPeriodMs;
  1840 		CMDBField<TUint32>  iRSSIMin;
  1841 		CMDBField<TUint32>  iRSSIMax;
  1842     private:
  1843 
  1844         static const SRecordTypeInfo* const iRecordInfo;
  1845 	};
  1846 
  1847 #endif // SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
  1848 
  1849 } // end namespace CommsDat
  1850 
  1851 #ifndef SYMBIAN_ENABLE_SPLIT_HEADERS
  1852 #include <commsdattypesv1_1_partner.h>
  1853 #include <commsdattypesv1_1_internal.h>
  1854 #endif
  1855 
  1856 #endif
  1857 //COMMSDATTYPESV1_1_H
  1858