epoc32/include/commsdattypesv1_1.h
author William Roberts <williamr@symbian.org>
Tue, 16 Mar 2010 16:12:26 +0000 (2010-03-16)
branchSymbian2
changeset 2 2fe1408b6811
parent 0 061f57f2323e
child 4 837f303aceeb
permissions -rw-r--r--
Final list of Symbian^2 public API header files
     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 the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
     5 // which accompanies this distribution, and is available
     6 // at the URL "http://www.symbianfoundation.org/legal/licencesv10.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 
    24 
    25 /**
    26  @file
    27  @publishedAll
    28  @released
    29 */
    30 
    31 #if (!defined COMMSDATTYPESV1_1_H)
    32 #define       COMMSDATTYPESV1_1_H
    33 
    34 
    35 #include <metadatabase.h>
    36 #include <commsdattypeinfov1_1.h>
    37 #include <cdbcols.h>
    38 #include <dial.h>
    39 
    40 #include <etelqos.h>
    41 
    42 namespace CommsDat
    43 {
    44 
    45 
    46 ///////////////////////////////////////////////////////////////////////////////////////////
    47 // COMMSDAT RECORD BASE CLASS
    48 // Contains fields common to all records
    49 //
    50 
    51 class CCDRecordBase : public CMDBRecordBase
    52 /**
    53 Base class for wrapper containers for supported CommsDat recordtypes
    54 Alternatively the class CMDBGenericRecord can be used to express any record.
    55 @publishedAll
    56 @released
    57 */
    58 	{
    59 	public:
    60 
    61 		IMPORT_C CCDRecordBase(TMDBElementId aElementId); 			///< Import CCDRecordBase constructor from another DLL.
    62 
    63 		IMPORT_C static CMDBRecordBase* RecordFactoryL(TMDBElementId); ///< Import function RecordFactoryL from another DLL.				 
    64 		
    65 		IMPORT_C static CMDBRecordBase* CreateCopyRecordL(CMDBRecordBase& aCopyFromRecord); ///< Import function CreateCopyRecordL from another DLL.
    66 	
    67         void ConstructL();
    68 	protected:
    69 
    70 		EXP_DATA_VTABLE
    71 			
    72 	public:
    73 		
    74 		// Element members
    75 
    76 		CMDBField<TInt>	 iRecordTag; 	///<User-defined numeric tag for this record.  Should be unique in this table.   
    77         
    78         CMDBField<TDesC> iRecordName; 	///< User-defined name for this record.  Should be unique in this table.
    79 
    80 	private:
    81 
    82         CCDRecordBase(){}
    83 	};
    84 
    85 #ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
    86 //////////////////////////////////////////////////////////////
    87 // BASE CLASS FOR ALL SERVICE RECORDS
    88 // Contains fields common to all service records
    89 //
    90 /**
    91 @publishedAll
    92 @released
    93 */
    94 class CCDParamsRecordBase : public CCDRecordBase
    95 	{
    96 	public:
    97 		// Constructor
    98 		/**
    99 		@internalComponent
   100 		*/
   101 		CCDParamsRecordBase();
   102 		/**
   103 		@internalComponent
   104 		*/
   105 		CCDParamsRecordBase(TMDBElementId aElementId);
   106 
   107         const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;}
   108 
   109 	protected:
   110 
   111 		DATA_VTABLE
   112     
   113    	public:
   114 
   115 		// Field Declarations shared by all Params Records
   116 		CMDBField<TUint32>		iSTypeId;
   117 	
   118 	private:
   119 	
   120 	    static const SRecordTypeInfo* const iRecordInfo;
   121 	};
   122 #endif
   123 
   124 //////////////////////////////////////////////////////////////
   125 // BASE CLASS FOR ALL SERVICE RECORDS
   126 // Contains fields common to all service records
   127 //
   128 /**
   129 @publishedAll
   130 @released
   131 */
   132 class CCDServiceRecordBase : public CCDRecordBase
   133 	{
   134 	public:
   135 		// Constructor
   136 		/**
   137 		@internalComponent
   138 		*/
   139 		CCDServiceRecordBase();
   140 		/**
   141 		@internalComponent
   142 		*/
   143 		CCDServiceRecordBase(TMDBElementId aElementId);
   144 		
   145 			/** 
   146 		Gets the following information: 
   147 		- iTypeId
   148 		- iValType 
   149 		- iTypeAttr
   150 		- iTypeName           
   151 		
   152 		@return Returns a const pointer to the record containing the data - client does not need to delete this pointer after use.
   153 		*/
   154         const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;}
   155 
   156 	protected:
   157 
   158 		DATA_VTABLE
   159     
   160    	public:
   161 
   162 		// Field Declarations shared by all Service Records
   163 		CMDBField<TBool>	iServiceEnableLlmnr;	///< Specifies whether Link-local multicast name resolution is enabled.
   164 	
   165 	private:
   166 	
   167 	    static const SRecordTypeInfo* const iRecordInfo;
   168 	};
   169 
   170 
   171 
   172 //////////////////////////////////////////////////////////////
   173 // BASE CLASS FOR ALL BEARER RECORDS
   174 // Contains fields common to all bearer records
   175 //
   176 /**
   177 @publishedAll
   178 @released
   179 */
   180 class CCDBearerRecordBase : public CCDRecordBase
   181 	{
   182 	public:
   183 
   184 		// Constructor
   185 		/**
   186 		@internalComponent
   187 		*/
   188 		CCDBearerRecordBase();
   189 		/**
   190 		@internalComponent
   191 		*/
   192 		CCDBearerRecordBase(TMDBElementId aElementId);
   193 		
   194 			/** 
   195 		Gets the following information: 
   196 		- iTypeId
   197 		- iValType 
   198 		- iTypeAttr
   199 		- iTypeName           
   200 		
   201 		@return Returns a const pointer to the record containing the data - client does not need to delete this pointer after use.
   202 		*/
   203         const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;} 
   204 
   205 	protected:
   206 
   207 		DATA_VTABLE
   208 
   209     public:
   210 
   211 		// Field Declarations shared by all Bearer Records
   212         CMDBField<TDesC>					iBearerAgent; ///< Name of the agent to be used by a particular bearer
   213 
   214 	private:
   215 
   216         static const SRecordTypeInfo* const iRecordInfo;
   217 	};
   218 
   219 
   220 
   221 class CCDIAPRecord;
   222 
   223 //////////////////////////////////////////////////////////////////////////////
   224 // 02/  CONNECTION PREFERENCES RECORD
   225 //
   226 // Forward declaration
   227 /**
   228 @publishedAll
   229 @released
   230 */
   231 class CCDConnectionPrefsRecord : public CCDRecordBase
   232 	{
   233 	public :
   234 		/**
   235 		@internalComponent
   236 		*/
   237 		CCDConnectionPrefsRecord();
   238 		/**
   239 		@internalComponent
   240 		*/
   241 		CCDConnectionPrefsRecord(TMDBElementId aElementId);
   242 		
   243 			/** 
   244 		Gets the following information: 
   245 		- iTypeId
   246 		- iValType 
   247 		- iTypeAttr
   248 		- iTypeName           
   249 		
   250 		@return Returns a const pointer to the record containing the data - client does not need to delete this pointer after use.
   251 		*/
   252         const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;} 
   253         
   254         DATA_VTABLE
   255         
   256 	public :
   257 		// Member Elements
   258 		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.
   259 		CMDBField<TCommDbConnectionDirection>	iDirection; ///< Specifies the direction of a connection.	
   260 		CMDBField<TUint32>		        iBearerSet;   		///< Bearers which can be used for a connection.
   261 		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. 
   262 		CMDBRecordLink<CCDIAPRecord>	iDefaultIAP;  		///< The record id of the preferred IAP to connect to.
   263     private:
   264         static const SRecordTypeInfo* const iRecordInfo;
   265 	};
   266 
   267 
   268 
   269 //Forward defines
   270 class CCDLocationRecord;
   271 class CCDModemBearerRecord;
   272 class CCDNetworkRecord;
   273 class CCDAgentLookupRecord;
   274 class CCDCDMA2000PacketServiceRecord;
   275 class CCDWAPAccessPointRecord;
   276 class CCDAccessPointRecord;
   277 #ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
   278 class CCDTierRecord;
   279 #endif
   280 
   281 ///////////////////////////////////////////////////////////////////////////
   282 // 03/  GLOBAL SETTINGS RECORD
   283 //
   284 /**
   285 @publishedAll
   286 @released
   287 */
   288 class CCDGlobalSettingsRecord : public CCDRecordBase
   289 	{
   290 	public :
   291 
   292 		// Constructor
   293 		/**
   294 		@internalComponent
   295 		*/
   296 		CCDGlobalSettingsRecord();
   297 		/**
   298 		@internalComponent
   299 		*/
   300 		CCDGlobalSettingsRecord(TMDBElementId aElementId);
   301 		
   302 			/** 
   303 		Gets the following information: 
   304 		- iTypeId
   305 		- iValType 
   306 		- iTypeAttr
   307 		- iTypeName           
   308 		
   309 		@return Returns a const pointer to the record containing the data - client does not need to delete this pointer after use.
   310 		*/
   311         const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;}
   312 
   313 		DATA_VTABLE
   314 		
   315 	 public:
   316 	
   317 		CMDBRecordLink<CCDWAPAccessPointRecord>		                        iWAPAccessPoint; 		
   318 		CMDBField<TUint32>                                                  iMaxConnectionAttempts;				///< Number of attempts to establish a connection.
   319 		CMDBField<TUint32>                                                  iMaxRedialAttempts;					///< Maximum redial attempts before report failure to user.
   320 
   321 		CMDBField<TUint32>                                                  iSMSBearer;							///< Default bearer for SMS on the phone.
   322 		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.
   323 
   324 
   325 		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.
   326 		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).
   327 			CMDBField<TUint32>                                                  iGPRSClassCBearer;				///< The preferred bearer when the device (phone) is forced into GPRS Class C operation.
   328 		
   329 		CMDBRecordLink<CCDModemBearerRecord>                                iModemForDataAndFax;    // VCT - Break?
   330 		CMDBRecordLink<CCDModemBearerRecord>                                iModemForPhoneServicesAndSMS; // VCT - Break?
   331 
   332 		CMDBRecordLink<CCDLocationRecord>                                   iLocationForDataAndFax;				///< Default local location info for data and fax calls.
   333 		CMDBRecordLink<CCDLocationRecord>                                   iLocationForPhoneServicesAndSMS;	///< Sets the default location from which you are dialling for phone services such as a SMS service
   334 		
   335 		CMDBField<TUint32>							                        iMaxMBufHeap;						///< Maximum RMBuf heap size.
   336 		CMDBRecordLink<CCDAgentLookupRecord>                                iDefaultAgent;						///< Record id of an agent from the AgentLookup table.
   337 
   338 		CMDBRecordLink<CCDNetworkRecord>                                    iDefaultNetwork;					///< Default network to connect to.
   339 
   340 		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.
   341         /*@internalcomponent*/
   342 		CMDBRecordLink<CCDCDMA2000PacketServiceRecord>						iCDMAOPCapability;					///< CDMA PARAMETER- Not currently supported.
   343 		/*@internalcomponent*/
   344 		CMDBRecordLink<CCDCDMA2000PacketServiceRecord>						iCDMASimIPMaxNumNai;				///< CDMA PARAMETER- Not currently supported.
   345 		/*@internalcomponent*/
   346 		CMDBRecordLink<CCDCDMA2000PacketServiceRecord>						iCDMASimIPMaxNaiLength;				///< CDMA PARAMETER- Not currently supported.
   347 		/*@internalcomponent*/
   348 		CMDBRecordLink<CCDCDMA2000PacketServiceRecord>						iCDMASimIPMaxSSLength;				///< CDMA PARAMETER- Not currently supported.
   349 		/*@internalcomponent*/
   350 		CMDBRecordLink<CCDCDMA2000PacketServiceRecord>						iCDMASimIPAuthSupported;			///< CDMA PARAMETER- Not currently supported.
   351 		/*@internalcomponent*/
   352 		CMDBRecordLink<CCDCDMA2000PacketServiceRecord>						iCDMAMIPMaxNumNai;					///< CDMA PARAMETER- Not currently supported.
   353 		/*@internalcomponent*/
   354 		CMDBRecordLink<CCDCDMA2000PacketServiceRecord>						iCDMAMIPMaxNaiLength;				///< CDMA PARAMETER- Not currently supported.
   355 		/*@internalcomponent*/
   356 		CMDBRecordLink<CCDCDMA2000PacketServiceRecord>						iCDMAMIPMaxMNAAASSLength;			///< CDMA PARAMETER- Not currently supported.
   357 		/*@internalcomponent*/
   358 		CMDBRecordLink<CCDCDMA2000PacketServiceRecord>						iCDMAMIPMNAAAAuthAlgorithm;			///< CDMA PARAMETER- Not currently supported.
   359 		/*@internalcomponent*/
   360 		CMDBRecordLink<CCDCDMA2000PacketServiceRecord>						iCDMAMIPMaxMNHASSLength;			///< CDMA PARAMETER- Not currently supported.
   361 		/*@internalcomponent*/
   362 		CMDBRecordLink<CCDCDMA2000PacketServiceRecord>						iCDMAMIPMNHAAuthAlgorithm;			///< CDMA PARAMETER- Not currently supported.
   363 
   364 		//This field differentiate the Bravo selection from the 399 selection
   365 		//(needed for implicit scenarios where prefs are not available)
   366 		CMDBRecordLink<CCDAccessPointRecord>								iDefaultSnap;						///<CDMA PARAMETER- Not currently supported.
   367 
   368 		//if SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
   369 		//@DEPRECATED use CCDTierRecord::iPromptUser instead
   370 		CMDBField<TBool>													iPromptForSnap; 
   371 		//endif
   372 
   373 #ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
   374 		CMDBRecordLink<CCDTierRecord>                                       iDefaultTier;
   375 #endif
   376 
   377 		CMDBField<TCommsDatWlanRegDomain>									iRegulatoryDomain;
   378 
   379 	private:
   380 	
   381 		static const SRecordTypeInfo* const iRecordInfo;
   382 	};
   383 
   384 
   385 
   386 ///////////////////////////////////////////////////////////////////////////
   387 // 04/  NETWORK RECORD
   388 //
   389 /**
   390 @publishedAll
   391 @released
   392 */
   393 class CCDNetworkRecord : public CCDRecordBase
   394 	{
   395 	public :
   396 		/**
   397 		@internalComponent
   398 		*/
   399 		CCDNetworkRecord();
   400 		/**
   401 		@internalComponent
   402 		*/
   403 		CCDNetworkRecord(TMDBElementId aElementId);
   404 		
   405 			/** 
   406 		Gets the following information: 
   407 		- iTypeId
   408 		- iValType 
   409 		- iTypeAttr
   410 		- iTypeName           
   411 		
   412 		@return Returns a const pointer to the record containing the data - client does not need to delete this pointer after use.
   413 		*/
   414         const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;}	
   415 
   416     	DATA_VTABLE
   417 
   418 	public:
   419        		CMDBField<TDesC>		    iHostName;	///< Name of the host of the network
   420 
   421 	private:
   422 
   423 		static const SRecordTypeInfo* const iRecordInfo;
   424 
   425 	};
   426 
   427 
   428 
   429 ////////////////////////////////////////////////////////////////////////
   430 //  05/  LOCATION RECORD
   431 //
   432 /**
   433 @publishedAll
   434 @released
   435 */
   436 class CCDLocationRecord : public CCDRecordBase
   437 	{
   438 	public :
   439 
   440 		// Constructors
   441 		/**
   442 		@internalComponent
   443 		*/
   444 		CCDLocationRecord();
   445 		/**
   446 		@internalComponent
   447 		*/
   448 		CCDLocationRecord(TMDBElementId aElementId);
   449 		
   450 			/** 
   451 		Gets the following information: 
   452 		- iTypeId
   453 		- iValType 
   454 		- iTypeAttr
   455 		- iTypeName           
   456 		
   457 		@return Returns a const pointer to the record containing the data - client does not need to delete this pointer after use.
   458 		*/
   459         const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;}  	
   460 
   461 		DATA_VTABLE
   462 
   463 
   464 	public:
   465 		// MemberData
   466 		CMDBField<TDesC>	        iIntlPrefixCode;				///< Prefix code to use for international calls.
   467 		CMDBField<TDesC>	        iNatPrefixCode;					///< Prefix code to use for national calls.
   468 		CMDBField<TDesC>		    iNatCode;						///< Country code.
   469 		CMDBField<TDesC>		    iAreaCode;						///< Area code.
   470 		CMDBField<TDesC>		    iDialOutCode;					///< Number to dial for an outside line.
   471 		CMDBField<TDesC>	        iDisableCallWaitingCode;		///< Code to dial to disable call waiting facility.
   472 		CMDBField<TBool>		iMobile;							///< Specifies whether the device is a mobile phone.
   473 		CMDBField<TBool>		iUsePulseDial;						///< Specifies whether to use pulse dialling.
   474 		CMDBField<TBool>	    iWaitForDialTone;					///< Specifies whether to wait for the dial tone.
   475 		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.
   476 
   477 
   478     private:
   479 
   480 		static const SRecordTypeInfo* const iRecordInfo;
   481 	};
   482 
   483 //////////////////////////////////////////////////////////////////////////////////////
   484 // 06/  IAP RECORD
   485 //
   486 /**
   487 @publishedAll
   488 @released
   489 */
   490 class CCDIAPRecord : public CCDRecordBase
   491 	{
   492 	public:
   493 		/**
   494 		@internalComponent
   495 		*/
   496 		CCDIAPRecord();
   497 		/**
   498 		@internalComponent
   499 		*/
   500 		CCDIAPRecord(TMDBElementId aElementId);
   501 		
   502 			/** 
   503 		Gets the following information: 
   504 		- iTypeId
   505 		- iValType 
   506 		- iTypeAttr
   507 		- iTypeName           
   508 		
   509 		@return Returns a const pointer to the record containing the data - client does not need to delete this pointer after use.
   510 		*/
   511         const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;}		
   512     
   513     	DATA_VTABLE
   514 
   515 	public:
   516 
   517 		// Member Data
   518 		CMDBField<TDesC>                        iServiceType;			///< The name of a servicing table. E.g. DialOutISP.
   519 		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.
   520 		CMDBField<TDesC>                        iBearerType;			///< The name of the bearer to be used for the IAP.
   521 		CMDBRecordLink<CCDBearerRecordBase>	    iBearer;				///< The record id from the Bearer table specifying the bearer to be used with the IAP.
   522 		CMDBRecordLink<CCDNetworkRecord>	    iNetwork;				///< The record id of the network to be used with the IAP. The IAP will connect to this network.
   523 		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.
   524 		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.
   525 #ifdef SYMBIAN_NETWORKING_UMTSR5	
   526 		CMDBField<TUint32>	                    iAppSid;   // Marks this IAP for exclusive use of a particular Application
   527 #endif
   528     private:
   529     
   530 	    static const SRecordTypeInfo* const iRecordInfo;
   531 	};
   532 
   533 
   534 
   535 //////////////////////////////////////////////////////////////////////////////////////
   536 // 07/  WAP ACCESS POINT RECORD
   537 //
   538 /**
   539 @publishedAll
   540 @released
   541 */
   542 class CCDWAPAccessPointRecord : public CCDRecordBase
   543 	{
   544 	public:
   545 		/**
   546 		@internalComponent
   547 		*/
   548 		CCDWAPAccessPointRecord();
   549 		/**
   550 		@internalComponent
   551 		*/
   552 		CCDWAPAccessPointRecord(TMDBElementId aElementId);
   553 		
   554 			/** 
   555 		Gets the following information: 
   556 		- iTypeId
   557 		- iValType 
   558 		- iTypeAttr
   559 		- iTypeName           
   560 		
   561 		@return Returns a const pointer to the record containing the data - client does not need to delete this pointer after use.
   562 		*/
   563 		const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;}			
   564 
   565 		DATA_VTABLE        
   566 
   567 	public :
   568 
   569 		// Member Elements
   570 		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.
   571 		CMDBField<TDesC>    iWAPStartPage;									///< WAP start page URL.
   572 
   573     private:
   574     
   575 		static const SRecordTypeInfo* const iRecordInfo;
   576 	};
   577 
   578 
   579 //Forward declaration
   580 class CCDChargecardRecord;
   581 
   582 /////////////////////////////////////////////////////////////////////////////////////
   583 // 08/  DIAL OUT ISP SERVICE RECORD
   584 //
   585 /**
   586 @publishedAll
   587 @released
   588 */
   589 class CCDDialOutISPRecord : public CCDServiceRecordBase
   590 	{
   591 
   592 	public:
   593 		/**
   594 		@internalComponent
   595 		*/
   596 		CCDDialOutISPRecord();
   597 		/**
   598 		@internalComponent
   599 		*/
   600 		CCDDialOutISPRecord(TMDBElementId aId);
   601 
   602 		DATA_VTABLE
   603 		
   604 		/** 
   605 		Gets the following information: 
   606 		- iTypeId
   607 		- iValType 
   608 		- iTypeAttr
   609 		- iTypeName           
   610 		
   611 		@return Returns a const pointer to the record containing the data - client does not need to delete this pointer after use.
   612 		*/
   613         const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;}	
   614 
   615 
   616 	public:
   617 
   618 		// Member Data
   619 
   620 		CMDBField<TDesC>	                        iDescription;			///< Description of the ISP.
   621 		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.
   622 		CMDBField<TDesC>	                        iDefaultTelNum;			///< Default phone number for an ISP, used to dial-up to the ISP.
   623 		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.
   624 		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
   625 		CMDBField<TBool>	                    iUseLoginScript;			///< Specifies whether to login with a script or not.
   626 		CMDBField<TDesC>	                        iLoginScript;			///< The actual script used to login to the ISP.
   627 		CMDBField<TBool>	                    iPromptForLogin;			///< Prompt user to enter login information to start a session with the ISP, i.e. username and password.
   628 		CMDBField<TDesC>	                        iLoginName;				///< User login name.
   629 		CMDBField<TDesC>	                        iLoginPass;				///< User login password.
   630 		CMDBField<TBool>	                    iDisplayPct;				///< Specifies whether to display the post connection terminal (PCT) (without scanning the login script for READ commands).		
   631 		CMDBField<TDesC> 	                    iIfParams;					///< Interface parameter string-used to specify the lower layer that the interface protocol is to use.
   632 		CMDBField<TDesC>	                        iIfNetworks;			///< Comma separated list of network protocols to be used by the NIF.
   633 		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).
   634 		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.
   635 		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.
   636 		CMDBField<TUint32>	                    iIfAuthRetries;				///< Number of times to retry authentication if it fails.
   637 		CMDBField<TBool>	                    iIfCallbackEnabled;			///< Specifies whether call-back is enabled.  Call-back is usually due to security or toll-saving reasons.
   638 		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.
   639 		CMDBField<TDesC8>	                        iIfCallbackInfo;		///< Info for call-back request if enabled. This information could for example be a phone number.
   640 		CMDBField<TUint32>	                    iCallbackTimeout;			///< Time duration to wait for the ISP to call back and establish a connection. In microseconds (if call-back is enabled).
   641 		CMDBField<TBool>	                    iIfServerMode;				///< PPP in server mode?
   642 		CMDBField<TBool>	                    iIpAddrFromServer;			///< Specifies whether to get the IP address from the ISP.
   643 		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.
   644 		CMDBField<TDesC>	                        iIpNetMask;				///< IP netmask of the NIF.
   645 		CMDBField<TDesC>	                        iIpGateway;				///< IP address of the Gateway.
   646 		CMDBField<TBool>	                    iIpDnsAddrFromServer;		///< Specifies whether to get the DNS address (IPV4) from the ISP.
   647 		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.
   648 		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.
   649 		CMDBField<TBool>	        iIp6DnsAddrFromServer;					///< Specifies whether to get the DNS address (IPV6) from the ISP.
   650 		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.
   651 		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.
   652 		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.
   653 		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.
   654 		CMDBField<TDesC>	    iConfigDaemonManagerName;					///< Name of the ECOM daemon manager plug-in for NIFMAN used to load a specific configuration daemon.
   655 		CMDBField<TDesC>	            iConfigDaemonName;					///< Name of the daemon used for address configuration. 
   656 		CMDBField<TBool>	        iEnableIpHeaderComp;					///< Specifies whether to enable IP header compression protocol.
   657 		CMDBField<TBool>	        iEnableLcpExtension;					///< Specifies whether to enable LCP extension protocol. 
   658 		CMDBField<TBool>	        iDisablePlainTextAuth;					///< Specifies whether to disable plain text authentication. If disabled, PAP cannot be used- CHAP will be used instead.
   659 		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.
   660 		CMDBField<TUint32>	                iBearerName;					///< Name of the bearer used to establish and transmit data over the connection
   661 		CMDBField<TUint32>	                iBearerSpeed;					///< Baud rate of the bearer.
   662 		CMDBField<TUint32>	                    iBearerCe;					///< Defines the quality of service (QoS) of the connection.
   663 		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.
   664 		CMDBField<TUint32>	                iBearerType;					///< The bearer's chosen method to transmit data. This can be of 2 types - either CSD or HSCSD.  
   665 		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".
   666 		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.
   667 		CMDBField<TUint32>	        iRequestedTimeSlots;					///< Requested number of time slots for HSCSD.
   668 		CMDBField<TUint32>	            iMaximumTimeSlots;					///< Maximum number of time slots for HSCSD which could be requested during the connection.
   669 		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.
   670 		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.
   671 		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.
   672 		CMDBField<TUint32>	                    iIwfToMs;					///< Integer specifying network to MS (Mobile Station) window size. IWF stands for Interworking Function and MS stands for Mobile Station.
   673 		CMDBField<TUint32>	                    iMsToIwf;					///< Integer specifying MS (Mobile Station) to network window size.
   674 		CMDBField<TUint32>	                    iAckTimer;					///< Acknowledgement Timer: takes an integer specifying RLP ack timeout in microseconds.
   675 		CMDBField<TUint32>	    iRetransmissionAttempts;					///< Specifies number of RLP retransmission attempts.
   676 		CMDBField<TUint32>	            iResequencePeriod;					///< Specifies the period when packets are being resequenced.
   677 		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.
   678 		CMDBField<TUint32>	                iV42Codewords;					///< Specifies the V.42 codewords if V.42 compression is used.  A codeword represents a string of characters in compressed form.
   679 		CMDBField<TUint32>	                iV42MaxLength;					///< Specifies the maximum string length of the data before V.42 compression.
   680 		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.
   681 		CMDBField<TBool>	            iUserInitUpgrade;					///< Specifies whether the user will initialise service upgrade over HSCSD or not
   682 		CMDBField<TBool>	                    iUseEdge;					///< Specifies whether to use EDGE technology.
   683 
   684     private:
   685     
   686     	static const SRecordTypeInfo* const iRecordInfo;
   687     };
   688 
   689 
   690 
   691 
   692 //////////////////////////////////////////////////////////////////////////////////////
   693 // 09/  DIAL IN ISP RECORD
   694 //
   695 /**
   696 @publishedAll
   697 @released
   698 */
   699 class CCDDialInISPRecord : public CCDServiceRecordBase
   700 	{
   701 	public:
   702 		/**
   703 		@internalComponent
   704 		*/
   705 		CCDDialInISPRecord();
   706 		/**
   707 		@internalComponent
   708 		*/
   709 		CCDDialInISPRecord(TMDBElementId aId);
   710 
   711 		DATA_VTABLE
   712 		
   713 			/** 
   714 		Gets the following information: 
   715 		- iTypeId
   716 		- iValType 
   717 		- iTypeAttr
   718 		- iTypeName           
   719 		
   720 		@return Returns a const pointer to the record containing the data - client does not need to delete this pointer after use.
   721 		*/
   722         const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;} 	
   723 
   724 
   725 	public:
   726 
   727 		// Member Data
   728 		CMDBField<TDesC>	            iDescription;  					///< Description of the ISP.
   729 		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.
   730 		CMDBField<TBool>	        iUseLoginScript;					///< Specifies whether to login with a script or not
   731 		CMDBField<TDesC>	            iLoginScript;					///< The actual script used to login to the ISP
   732 		CMDBField<TUint32>	        iAuthentication;					///< Reserved for future use.
   733 		CMDBField<TUint32>	        iIfAuthRetries;						///< Number of times to retry authentication if it fails.
   734 		CMDBField<TDesC>	                iIfParams;					///< Interface parameter string-used to specify the lower layer that the interface protocol is to use.
   735 		CMDBField<TDesC>	            iIfNetworks;					///< Comma separated list of network protocols to be used by the NIF.
   736 		CMDBField<TBool>	        iIpAddrFromServer;					///< Specifies whether to get the IP address from the ISP.
   737 		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.
   738 		CMDBField<TDesC>	            iIpNetMask;						///< IP netmask of the NIF.
   739 		CMDBField<TDesC>	            iIpGateway;						///< IP address of the Gateway.
   740 		CMDBField<TBool>	    iIpDnsAddrFromServer;					///< Specifies whether to get the DNS address (IPV4) from the ISP.
   741 		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.
   742 		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.
   743 		CMDBField<TBool>	    iIp6DnsAddrFromServer;					///< Specifies whether to get the DNS address (IPV6) from the ISP.
   744 		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.
   745 		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.
   746 		CMDBField<TBool>	    iEnableIpHeaderComp;					///< Specifies whether to enable IP header compression protocol.
   747 		CMDBField<TBool>	    iEnableLcpExtension;					///< Specifies whether to enable LCP extension protocol. 
   748 		CMDBField<TBool>	    iDisablePlainTextAuth;					///< Specifies whether to disable plain text authentication. If disabled, PAP cannot be used- CHAP will be used instead.
   749 		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.
   750 		CMDBField<TUint32>	            iBearerName;					///< Name of the bearer used to establish and transmit data over the connection.
   751 		CMDBField<TUint32>	            iBearerSpeed;					///< Baud rate of the bearer.
   752 		CMDBField<TUint32>	                iBearerCe;					///< Defines the quality of service (QoS) of the connection.
   753 		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.
   754 		CMDBField<TBool>	                iUseEdge;					///< Specifies whether to use EDGE technology.
   755 
   756 
   757     private:
   758 	
   759 		static const SRecordTypeInfo* const iRecordInfo;
   760 	};
   761 
   762 
   763 
   764 /////////////////////////////////////////////////////////////////////////////////////
   765 //  0A/  LAN Service Record
   766 //
   767 typedef CCDRecordBase CCDServiceExtRecordBase;
   768 /**
   769 @publishedAll
   770 @released
   771 */
   772 class CCDLANServiceRecord : public CCDServiceRecordBase
   773 	{
   774 	public:
   775 		/**
   776 		@internalComponent
   777 		*/
   778 		CCDLANServiceRecord();
   779 		/**
   780 		@internalComponent
   781 		*/
   782 		CCDLANServiceRecord(TMDBElementId aElementId);
   783 		
   784 			/** 
   785 		Gets the following information: 
   786 		- iTypeId
   787 		- iValType 
   788 		- iTypeAttr
   789 		- iTypeName           
   790 		
   791 		@return Returns a const pointer to the record containing the data - client does not need to delete this pointer after use.
   792 		*/
   793         const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;}				
   794 
   795 		DATA_VTABLE
   796 
   797 
   798 	public:
   799 
   800 		// Member Data
   801 		CMDBField<TDesC>	                iIfNetworks;					///< Comma separated list of network protocols to be used by the NIF.
   802 		CMDBField<TDesC>	                iIpNetmask;						///< IP netmask of the NIF.
   803 		CMDBField<TDesC>	                iIpGateway;						///< IP address of the Gateway.
   804 		CMDBField<TBool>	                iIpAddrFromServer;				///< Specifies whether to get the IP address from the ISP.
   805 		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.
   806 		CMDBField<TBool>	                iIpDnsAddrFromServer;			///< Specifies whether to get the DNS address (IPV4) from the ISP.
   807 		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.	
   808 		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.
   809 		CMDBField<TBool>	                iIp6DnsAddrFromServer;			///< Specifies whether to get the DNS address (IPV6) from the ISP.
   810 		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.
   811 		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.
   812 		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.
   813 		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.
   814 		CMDBField<TDesC>	                iConfigDaemonManagerName;		///< Name of the ECOM daemon manager plug-in for NIFMAN used to load a specific configuration daemon.
   815 		CMDBField<TDesC>	                iConfigDaemonName;				///< Name of the daemon used for address configuration. 
   816 		CMDBField<TDesC>	                iServiceExtensionTableName;		///< Name of the extension table.
   817 		CMDBRecordLink<CCDServiceExtRecordBase>     iServiceExtensionTableRecordId; // VCT - this was wrong link type!!!
   818 	
   819     private:
   820 	
   821 		static const SRecordTypeInfo* const iRecordInfo;
   822 	};
   823 
   824 
   825 //////////////////////////////////////////////////////////////////////////////////////
   826 // 0B/  WLAN SERVICE EXTENSION RECORD
   827 //
   828 class CCDEAPSecRecord;
   829 
   830 /**
   831 @internalComponent
   832 @released
   833 */
   834 class CCDWLANServiceExtRecord : public CCDServiceExtRecordBase
   835 	{
   836 	public:
   837 
   838 		CCDWLANServiceExtRecord();
   839 
   840 		CCDWLANServiceExtRecord(TMDBElementId aElementId);
   841 
   842 		DATA_VTABLE
   843 
   844         const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;}
   845 
   846 	public:
   847 
   848 		// Member Data
   849 		CMDBField<TDesC>						iWLANProfile;
   850 		CMDBField<TDesC>						iWLANSSID;
   851 		CMDBField<TBool>						iWLANEncryptionStatus;
   852 		CMDBField<TCommsDatWlanEncrytionType>	iWLANEncryptionType;
   853 		CMDBField<TUint>						iWLANDefaultWepKey ;
   854 		CMDBField<TBool>						iWLANEncryptKey1Valid;
   855 		CMDBField<TDesC>						iWLANWepKey1;
   856 		CMDBField<TBool>						iWLANEncryptKey2Valid;
   857 		CMDBField<TDesC>						iWLANWepKey2;
   858 		CMDBField<TBool>						iWLANEncryptKey3Valid;
   859 		CMDBField<TDesC>						iWLANWepKey3;
   860 		CMDBField<TBool>						iWLANEncryptKey4Valid;
   861 		CMDBField<TDesC>						iWLANWepKey4;
   862 		CMDBField<TUint>						iWLANRanking;
   863 		CMDBField<TCommsDatWlanDialogPref>		iWLANDialogPref;
   864 		CMDBField<TCommsDatWlanNetworkType>		iWLANNetworkType;
   865 		CMDBField<TUint>						iWLANFragThres;
   866 		CMDBField<TUint>						iWLANRTSThres;
   867 		CMDBField<TCommsDatWlanDesTransRate>	iWLANDesTransRate;
   868 		CMDBField<TUint>						iWLANBeaconInt;
   869 		CMDBField<TUint>						iWLANChannelId;
   870 		CMDBField<TUint>						iWLANAuthenticationMode;
   871 		CMDBField<TCommsDatWlanPowerSaveMode>	iWLANPowerSaveMode;
   872 		CMDBField<TBool>						iWLANAllowUnencryptMode;
   873 		CMDBField<TBool>						iWLANAllowShortPre;
   874 		CMDBField<TCommsDatWlanPreambleType>	iWLANPreambleType;
   875 		CMDBField<TUint>						iWLANTxPowerLevel;
   876 		CMDBField<TDesC>						iWLANEapPresharedKey;
   877 		CMDBField<TCommsDatWlanRegDomain>		iWLANRegDomain;
   878 		CMDBRecordLink<CCDEAPSecRecord>			iWLANSecData;
   879 
   880     private:
   881     
   882     	static const SRecordTypeInfo* const iRecordInfo;
   883 	};
   884 
   885 
   886 //////////////////////////////////////////////////////////////////////////////////////
   887 // 0C/  VPN SERVICE RECORD
   888 //
   889 /**
   890 @publishedAll
   891 @released
   892 */
   893 class CCDVPNServiceRecord : public CCDServiceRecordBase
   894 	{
   895 	public:
   896 		/**
   897 		@internalComponent
   898 		*/
   899 		CCDVPNServiceRecord();
   900 		/**
   901 		@internalComponent
   902 		*/
   903 		CCDVPNServiceRecord(TMDBElementId aElementId);
   904 
   905 		DATA_VTABLE
   906 		
   907 			/** 
   908 		Gets the following information: 
   909 		- iTypeId
   910 		- iValType 
   911 		- iTypeAttr
   912 		- iTypeName           
   913 		
   914 		@return Returns a const pointer to the record containing the data - client does not need to delete this pointer after use.
   915 		*/
   916         const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;}
   917 	public:
   918 
   919 		// Member Data
   920 		CMDBField<TDesC>	                iServicePolicy;	///< Policy id of the policy file- this is a reference to the policy file.
   921 		CMDBRecordLink<CCDIAPRecord>	    iServiceIAP;	///< Record id of the real IAP used by the IPSEC software to communicate with the VPN gateway.
   922 		CMDBRecordLink<CCDNetworkRecord>	iServiceNetwork;///< Record id of the real Network to be connected to by the virtual tunnel.
   923 
   924     private:
   925     
   926     	static const SRecordTypeInfo* const iRecordInfo;
   927 	};
   928 
   929 
   930 
   931 //////////////////////////////////////////////////////////////////////////////////////
   932 // 0F/  CDMA2000 PACKETSERVICE TABLE RECORD
   933 //
   934 /**
   935 @publishedAll
   936 @released
   937 */
   938 class CCDCDMA2000PacketServiceRecord : public CCDServiceRecordBase
   939 	{
   940 	public:
   941 		/**
   942 	    @internalComponent
   943 	    */
   944 		CCDCDMA2000PacketServiceRecord();
   945 		/**
   946 		@internalComponent
   947 		*/
   948 		CCDCDMA2000PacketServiceRecord(TMDBElementId aElementId);
   949 		
   950 			/** 
   951 		Gets the following information: 
   952 		- iTypeId
   953 		- iValType 
   954 		- iTypeAttr
   955 		- iTypeName           
   956 		
   957 		@return Returns a const pointer to the record containing the data - client does not need to delete this pointer after use.
   958 		*/
   959 		const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;}	
   960         
   961         DATA_VTABLE
   962         
   963 	public:
   964 
   965 		CMDBField<TUint32>	            iCDMAFchMux;			///< Fundamental channel multiplex option. CDMA Parameter- not currently supported.
   966 		CMDBField<TUint32>	            iCDMASchMux;			///< Supplemental channel multiplex option. CDMA Parameter- not currently supported.
   967 		CMDBField<TDesC>	                iIwfName;			///< Interworking function name. CDMA Parameter- not currently supported.
   968 		CMDBField<TUint32>	        iServiceOption;				///< Mask indicating valid service options. CDMA Parameter- not currently supported.
   969 		CMDBField<TUint32>	                iPdpType;			///< PDP type. (IPV4 or IPV6). CDMA Parameter- not currently supported.
   970 		CMDBField<TDesC>	            iPdpAddress;			///< PDP address of phone. CDMA Parameter- not currently supported.
   971 		CMDBField<TUint32>	        iReqFwdPriority;			///< Requested forward priority. CDMA Parameter- not currently supported.
   972 		CMDBField<TUint32>	        iReqRevPriority;			///< Requested reverse prioritiy. CDMA Parameter- not currently supported.
   973 		CMDBField<TUint32>   	    iReqFwdBitrate;				///< Requested forward bitrate. CDMA Parameter- not currently supported.
   974 		CMDBField<TUint32>   	    iReqRevBitrate;				///< Requested reverse bitrate. CDMA Parameter- not currently supported.
   975 		CMDBField<TUint32>	            iReqFwdLoss;			///< Requested forward frame loss rate. CDMA Parameter- not currently supported.
   976 		CMDBField<TUint32>	            iReqRevLoss;			///< Requested reverse frame loss rate. CDMA Parameter- not currently supported.
   977 		CMDBField<TUint32>	        iReqFwdMaxdelay;			///< Requested forward delay. CDMA Parameter- not currently supported.
   978 		CMDBField<TUint32>	        iReqRevMaxdelay;			///< Requested reverse delay. CDMA Parameter- not currently supported.
   979 		CMDBField<TUint32>	        iMinFwdBitrate;				///< Minimum acceptable forward bitrate. CDMA Parameter- not currently supported.
   980 		CMDBField<TUint32>	        iMinRevBitrate;				///< Minimum acceptable reverse bitrate. CDMA Parameter- not currently supported.
   981 		CMDBField<TUint32>	        iAccptFwdLoss;				///< Maximum acceptable forward frame loss rate. CDMA Parameter- not currently supported.
   982 		CMDBField<TUint32>	        iAccptRevLoss;				///< Maximum acceptable reverse frame loss rate. CDMA Parameter- not currently supported.
   983 		CMDBField<TUint32>	        iAccptFwdMaxdelay;			///< Maximum acceptable forward delay.  CDMA Parameter- not currently supported.
   984 		CMDBField<TUint32>	        iAccptRevMaxdelay;			///< Maximum acceptable reverse delay.  CDMA Parameter- not currently supported.
   985 		CMDBField<TBool>	        iDataCompression;			///< Data compression on? CDMA Parameter- not currently supported.
   986 		CMDBField<TBool>	        iHeaderCompression;			///< Van Jacobson IP header compression on? CDMA Parameter- not currently supported.
   987 		CMDBField<TBool>	        iAnonymousAccess;			///< 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. CDMA Parameter- not currently supported.
   988 		CMDBField<TDesC>        	    iIfParams;				///< Interface parameter string-used to specify the lower layer that interface protocol is to use. CDMA Parameter- not currently supported.
   989 		CMDBField<TDesC>	            iIfNetworks;			///< Comma separated list of network protocols to be used by the NIF. CDMA Parameter- not currently supported.
   990 		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). CDMA Parameter- not currently supported.
   991 		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. CDMA Parameter- not currently supported.
   992 		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. CDMA Parameter- not currently supported.
   993 		CMDBField<TUint32>	            iAuthRetries;			///< Number of times to retry authentication if it fails. CDMA Parameter- not currently supported.
   994 		CMDBField<TDesC>	            iIpNetMask;				///< IP netmask of the NIF. CDMA Parameter- not currently supported.
   995 		CMDBField<TDesC>	            iIpGateway;				///< IP address of the Gateway. CDMA Parameter- not currently supported.
   996 		CMDBField<TBool>	    iIpAddrFromServer;				///< Specifies whether to get the DNS address (IPV4) from the ISP. CDMA Parameter- not currently supported.
   997 		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. CDMA Parameter- not currently supported.
   998 		CMDBField<TBool>	    iIpDNSAddrFromServer;			///< Specifies whether to get the DNS address (IPV4) from the ISP. CDMA Parameter- not currently supported.
   999 		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. CDMA Parameter- not currently supported.
  1000 		CMDBField<TDesC>	        iIpNameServer2;				///< Static address of the Secondary IPV4 DNS server (if required).  CDMA Parameter- not currently supported.
  1001 		CMDBField<TBool>	iIp6DNSAddrFromServer;				///< Specifies whether to get the DNS address (IPV6) from the ISP. CDMA Parameter- not currently supported.
  1002 		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. CDMA Parameter- not currently supported.
  1003 		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. CDMA Parameter- not currently supported.
  1004 		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. CDMA Parameter- not currently supported.
  1005 		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. CDMA Parameter- not currently supported.
  1006 		CMDBField<TDesC>	iConfigDaemonManagerName;			///< Name of the ECOM daemon manager plug-in for NIFMAN used to load a specific configuration daemon. CDMA Parameter- not currently supported.
  1007 		CMDBField<TDesC>	    iConfigDaemonName;				///< Name of the configuration daemon server. This server is used to provide further configuration for a connection, e.g. dynamic IP address assignment. CDMA Parameter- not currently supported.
  1008 		CMDBField<TBool>	    iEnableLCPExtension;			///< Specifies whether to enable LCP extension protocol. CDMA Parameter- not currently supported.
  1009 		CMDBField<TBool>	iDisablePlainTextAuth;				///< Specifies whether to disable plain text authentication. If disabled, PAP cannot be used- CHAP will be used instead. CDMA Parameter- not currently supported.
  1010 		CMDBField<TUint32>	                iApType;		 	///< Service supports Internet only, WAP only or both. CDMA Parameter- not currently supported.
  1011 		CMDBField<TUint32>	    iQosWarningTimeout;				///< If the requested QOS can not be satisfied, warn the user after this time in microseconds. Set to 0xffffffff to disable. CDMA Parameter- not currently supported.
  1012 		CMDBField<TUint32>	                iRlpMode;			///< Transparent or non-transparent radio link protocol. CDMA Parameter- not currently supported.
  1013 		CMDBField<TUint32>	                iNAIType;			///< CDMA Parameter- not currently supported. See cdbcols.h for more information. 
  1014 		CMDBField<TUint32>	    iSimIPAuthAlgorithm;			///< CDMA Parameter- not currently supported. See cdbcols.h for more information. 
  1015 		CMDBField<TUint32>	    iSimIPPapSSHandle;				///< CDMA Parameter- not currently supported. See cdbcols.h for more information. 
  1016 		CMDBField<TUint32>	    iSimIPChapSSHandle;				///< CDMA Parameter- not currently supported. See cdbcols.h for more information. 
  1017 		CMDBField<TUint32>	                iMIPTBit;			///< CDMA Parameter- not currently supported. See cdbcols.h for more information. 
  1018 		CMDBField<TDesC>	        iMIPHomeAddress;			///< CDMA Parameter- not currently supported. See cdbcols.h for more information. 
  1019 		CMDBField<TDesC>	    iMIPPrimaryHomeAgent;			///< CDMA Parameter- not currently supported. See cdbcols.h for more information. 
  1020 		CMDBField<TDesC>	iMIPSecondaryHomeAgent;				///< CDMA Parameter- not currently supported. See cdbcols.h for more information. 
  1021 		CMDBField<TUint32>	iMIPMnAaaAuthAlgorithm;				///< CDMA Parameter- not currently supported. See cdbcols.h for more information. 
  1022 		CMDBField<TBool>	iMIPMnAaaSpiIndicator;				///< CDMA Parameter- not currently supported. See cdbcols.h for more information. 
  1023 		CMDBField<TUint32>	            iMIPMnAaaSpi;			///< CDMA Parameter- not currently supported. See cdbcols.h for more information. 
  1024 		CMDBField<TUint32>	iMIPMnHaAuthAlgorithm;				///< CDMA Parameter- not currently supported. See cdbcols.h for more information. 
  1025 		CMDBField<TBool>	    iMIPMnHaSpiIndicator;			///< CDMA Parameter- not currently supported. See cdbcols.h for more information. 
  1026 		CMDBField<TUint32>	            iMIPMnHaSpi;			///< CDMA Parameter- not currently supported. See cdbcols.h for more information. 
  1027 		CMDBField<TDesC>	        iMIPMnAaaSsData;			///< CDMA Parameter- not currently supported. See cdbcols.h for more information. 
  1028 		CMDBField<TDesC>	        iMIPMnHaSsData;				///< CDMA Parameter- not currently supported. See cdbcols.h for more information. 
  1029 		CMDBField<TUint32>	    iServiceEnableSwComp;			///< CDMA Parameter- not currently supported. See cdbcols.h for more information. 
  1030 		CMDBField<TBool>	iServiceIfExternIpConfigAlwaysRejectAuth; ///< CDMA Parameter- not currently supported. See cdbcols.h for more information. 
  1031 		CMDBField<TBool>	    iEnableIpHeaderComp;			///< CDMA Parameter- not currently supported. See cdbcols.h for more information. 
  1032 		CMDBField<TBool>	    iCDMAMobileIP;					///< CDMA Parameter- not currently supported. See cdbcols.h for more information. 
  1033 		CMDBField<TUint32>	    iCDMAMobileIPTimeout;			///< CDMA Parameter- not currently supported. See cdbcols.h for more information. 
  1034 		CMDBField<TDesC>	    iCDMAHomeAgentAddress;			///< CDMA Parameter- not currently supported. See cdbcols.h for more information. 
  1035 		
  1036     private:
  1037         
  1038         static const SRecordTypeInfo* const iRecordInfo;
  1039 	};
  1040 
  1041 
  1042 
  1043 /////////////////////////////////////////////////////////////////////////////////////////
  1044 // 10/  WCDMA Packet Service Record
  1045 //
  1046 class CCDUmtsR99QoSAndOnTableRecord;
  1047 /**
  1048 @publishedAll
  1049 @released
  1050 */
  1051 
  1052 class CCDWCDMAPacketServiceRecord : public CCDServiceRecordBase
  1053 	{
  1054 	public:
  1055 		/**
  1056 		@internalComponent
  1057 		*/
  1058 	    CCDWCDMAPacketServiceRecord();
  1059 		/**
  1060 		@internalComponent
  1061 		*/
  1062 		CCDWCDMAPacketServiceRecord(TMDBElementId aElementId);
  1063 
  1064 		DATA_VTABLE
  1065 		
  1066 		/** 
  1067 		Gets the following information: 
  1068 		- iTypeId
  1069 		- iValType 
  1070 		- iTypeAttr
  1071 		- iTypeName           
  1072 		
  1073 		@return Returns a const pointer to the record containing the data - client does not need to delete this pointer after use.
  1074 		*/
  1075         const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;}			
  1076 
  1077 
  1078 	public:
  1079 
  1080 		// Member Data
  1081 		CMDBField<TDesC>	                        iGPRSAPN;				///< When the mobile phone sets up a PDP context, the access point is chosen by specifying an APN.
  1082 		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.
  1083 		CMDBField<TDesC>	                iGPRSPDPAddress;				///< PDP address of the phone.
  1084 		CMDBField<TUint32>	            iGPRSReqPrecedence;					///< Requested quality of service precedence class. This field has been deprecated and may be removed in the future. 
  1085 		CMDBField<TUint32>	                iGPRSReqDelay;					///< Requested quality of service delay class. This field has been deprecated and may be removed in the future.
  1086 		CMDBField<TUint32>	            iGPRSReqReliability;				///< Requested quality of service reliability class. This field has been deprecated amnd may be removed in the future.
  1087 		CMDBField<TUint32>	        iGPRSReqPeakThroughput;					///< Requested quality of service peak throughput. This field has been deprecated and may be removed in the future.
  1088 		CMDBField<TUint32>	        iGPRSReqMeanThroughput;					///< Requested quality of service mean throughput class. This field has been deprecated and may be removed in the future. 
  1089 		CMDBField<TUint32>	            iGPRSMinPrecedence;					///< Minimum quality of service precedence class. This field has been deprecated and may be removed in the future. 
  1090 		CMDBField<TUint32>	                iGPRSMinDelay;					///< Minimum quality of service delay class This field has been deprecated and may be removed in the future.
  1091 		CMDBField<TUint32>	            iGPRSMinReliability;				///< Minimum quality of service reliability class. This field has been deprecated and may be removed in the future.
  1092 		CMDBField<TUint32>	        iGPRSMinPeakThroughput;					///< Minimum quality of service peak throughput class. This field has been deprecated and may be removed in the future.
  1093 		CMDBField<TUint32>	        iGPRSMinMeanThroughput;					///< Minimum quality of service mean throughput class. This field has been deprecated and may be removed in the future.
  1094 		CMDBField<TBool>	        iGPRSDataCompression;					///< Specifies whether to compress data.
  1095 		CMDBField<TBool>	        iGPRSHeaderCompression;					///< Specifies whether IP header compression is on.
  1096 		CMDBField<TBool>	                iGPRSUseEdge;					///< Specifies whether to use EDGE technology. 
  1097 		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.
  1098 		CMDBField<TDesC>	                iGPRSIfParams;					///< Interface parameter string-used to specify the lower layer that the interface protocol is to use.
  1099 		CMDBField<TDesC>	                iGPRSIfNetworks;				///< Comma separated list of network protocols to be used by the NIF.
  1100 		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).
  1101 		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.
  1102 		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.
  1103 		CMDBField<TUint32>	            iGPRSIfAuthRetries;					///< Number of times to retry authentication if it fails.
  1104 		CMDBField<TDesC>	                iGPRSIPNetMask;					///< IP netmask of the NIF.
  1105 		CMDBField<TDesC>	                iGPRSIPGateway;					///< IP address of the Gateway.
  1106 		CMDBField<TBool>  	        iGPRSIPAddrFromServer;					///<  Specifies whether to get the IP address from the ISP.
  1107 		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.
  1108 		CMDBField<TBool>	    iGPRSIPDNSAddrFromServer;					///< Specifies whether to get the DNS address (IPV4) from the ISP.
  1109 		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.
  1110 		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.
  1111 		CMDBField<TBool>	    iGPRSIP6DNSAddrFromServer;					///< Specifies whether to get the DNS address (IPV6) from the ISP.
  1112 		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.
  1113 		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.
  1114 		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.
  1115 		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.
  1116 		CMDBField<TDesC>	iGPRSConfigDaemonManagerName;					///< Name of the ECOM daemon manager plug-in for NIFMAN used to load a specific configuration daemon.
  1117 		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.
  1118 		CMDBField<TBool>	        iGPRSEnableLCPExtension;				///< Specifies whether to enable LCP extension protocol. 
  1119 		CMDBField<TBool>	    iGPRSDisablePlainTextAuth;					///< Specifies whether to disable plain text authentication. If disabled, PAP cannot be used- CHAP will be used instead.
  1120 		CMDBField<TUint32>            	        iGPRSAPType;				///< Service supports Internet only, WAP only or both. Values defined in TCommsDbIspType. 
  1121 		CMDBField<TUint32>	        iGPRSQOSWarningTimeOut;					///< If the requested QOS can not be satisfied, warn the user after this time in microseconds. Set to 0xffffffff to disable.
  1122 		CMDBRecordLink<CCDUmtsR99QoSAndOnTableRecord>	 iUmtsR99QoSAndOnTable; ///< A record link between the Incoming/Outgoing GPRS table and the UmtsR99QosAndOn table
  1123 		
  1124 		CMDBField<TUint32> 			iGPRSR5DataCompression;
  1125 		CMDBField<TUint32> 			iGPRSR5HeaderCompression;
  1126 		CMDBField<TUint32> 			iGPRSPacketFlowIdentifier;
  1127 		CMDBField<TUint32> 			iGPRSUmtsGprsRelease;
  1128 
  1129     public:
  1130 
  1131         static const SRecordTypeInfo* const iRecordInfo;
  1132     };
  1133 
  1134 /**
  1135 @publishedAll
  1136 @released
  1137 */
  1138 class CCDOutgoingGprsRecord : public CCDWCDMAPacketServiceRecord
  1139 	{
  1140 	public:
  1141 		/**
  1142 		@internalComponent
  1143 		*/
  1144 		CCDOutgoingGprsRecord(TMDBElementId aElementId);
  1145 
  1146 		DATA_VTABLE
  1147 	};
  1148 
  1149 /**
  1150 @publishedAll
  1151 @released
  1152 */
  1153 class CCDIncomingGprsRecord : public CCDWCDMAPacketServiceRecord
  1154 	{
  1155 	public:
  1156 		/**
  1157         @internalComponent
  1158         */
  1159 		CCDIncomingGprsRecord(TMDBElementId aElementId);
  1160 
  1161 		DATA_VTABLE
  1162 	};
  1163 
  1164 /**
  1165 @publishedAll
  1166 @released
  1167 */
  1168 class CCDUmtsR99QoSAndOnTableRecord: public CCDRecordBase
  1169 	{
  1170 	public:
  1171 		/**
  1172 		@internalComponent
  1173 		*/
  1174 		CCDUmtsR99QoSAndOnTableRecord();
  1175 		/**
  1176 		@internalComponent
  1177 		*/
  1178 		CCDUmtsR99QoSAndOnTableRecord(TMDBElementId aElementId);
  1179 
  1180 		DATA_VTABLE
  1181 
  1182 		const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;}
  1183 
  1184 	public:
  1185 		CMDBField<RPacketQoS::TTrafficClass> 	iGPRSReqTrafficClass;              	///< Requested traffic class.    
  1186 		CMDBField<RPacketQoS::TTrafficClass> 	iGPRSMinTrafficClass;             	///< Minimum acceptable traffic class.
  1187 		CMDBField<RPacketQoS::TDeliveryOrder> 	iGPRSReqDeliveryOrder;      	   	///< Requested value for sequential SDU delivery.
  1188 		CMDBField<RPacketQoS::TDeliveryOrder> 	iGPRSMinDeliveryOrder;      	   	///< Minimum acceptable value for sequential SDU delivery.
  1189 		CMDBField<RPacketQoS::TErroneousSDUDelivery> 	iGPRSReqDeliverErroneousSDU;///< Requested value for erroneous SDU delivery.
  1190 		CMDBField<RPacketQoS::TErroneousSDUDelivery> 	iGPRSMinDeliverErroneousSDU;///< Minimum acceptable value for erroneous SDU delivery.
  1191 		CMDBField<TInt32> 	                  iGPRSReqMaxSDUSize;             		///< Request maximum SDU size.
  1192 		CMDBField<TInt32>                   	iGPRSMinAcceptableMaxSDUSize;	   	///< Minimum acceptable SDU size.
  1193 		CMDBField<TInt32>                   	iGPRSReqMaxUplinkRate;              ///< Requested maximum bit rates on uplink. 
  1194 		CMDBField<TInt32>                   	iGPRSReqMinUplinkRate;              ///< Requested minimum bit rates on uplink. 
  1195 		CMDBField<TInt32>                   	iGPRSReqMaxDownlinkRate;            ///< Requested maximum bit rates on downlink. 
  1196 		CMDBField<TInt32>                   	iGPRSReqMinDownlinkRate;            ///< Requested minimum bit rates on downlink. 
  1197 		CMDBField<RPacketQoS::TBitErrorRatio> 	iGPRSReqBER;                     	///< Requested target BER.
  1198 		CMDBField<RPacketQoS::TBitErrorRatio> 	iGPRSMaxBER;                      	///< Maximum acceptable target BER.
  1199 		CMDBField<RPacketQoS::TSDUErrorRatio> 	iGPRSReqSDUErrorRatio;           	///< Requested target SDU error ratio.
  1200 		CMDBField<RPacketQoS::TSDUErrorRatio> 	iGPRSMaxSDUErrorRatio;          	///< Maximum acceptable target SDU error ratio.
  1201 		CMDBField<RPacketQoS::TTrafficHandlingPriority> 	iGPRSReqTrafficHandlingPriority;	///< Requested traffic handling priority.
  1202 		CMDBField<RPacketQoS::TTrafficHandlingPriority> 	iGPRSMinTrafficHandlingPriority;	///< Minimum acceptable traffic handling priority.
  1203 		CMDBField<TInt32>                   	iGPRSReqTransferDelay;            	///< Requested transfer delay (in milliseconds).
  1204 		CMDBField<TInt32>                   	iGPRSMaxTransferDelay;           	///< Maximum acceptable  transfer delay (in milliseconds).
  1205 		CMDBField<TInt32>                   	iGPRSReqGuaranteedUplinkRate;       ///< Requested guaranteed bit rates on uplink. 
  1206 		CMDBField<TInt32>                   	iGPRSMinGuaranteedUplinkRate;      	///< Minimum acceptable guaranteed bit rates on uplink.
  1207 		CMDBField<TInt32>                   	iGPRSReqGuaranteedDownlinkRate;  	///< Requested guaranteed bit rates on downlink.
  1208 		CMDBField<TInt32>                   	iGPRSMinGuaranteedDownlinkRate;	    ///< Minimum acceptable guaranteed bit rates on downlink.
  1209 		CMDBField<TBool>                    	iGPRSSignallingIndication;		   	///< Signalling indication.
  1210 		CMDBField<TBool>                    	iGPRS_ImCnSignallingIndication;     ///< IP Multimeida System (IMS) Core Network (CN) Signalling Indicator.
  1211 		CMDBField<RPacketQoS::TSourceStatisticsDescriptor> 	iGPRSSourceStatisticsDescriptor; ///< Static source descriptor.		
  1212 	
  1213 	public:	
  1214 		static const SRecordTypeInfo* const iRecordInfo;	
  1215 	};
  1216 	
  1217 	
  1218 /////////////////////////////////////////////////////////////////////////////////////////
  1219 // 11/  Default CDMA2000 Settings Table
  1220 //
  1221 /**
  1222 @publishedPartner
  1223 @released
  1224 */
  1225 class CCDDefaultCDMA2000SettingsRecord : public CCDRecordBase
  1226 	{
  1227 	public:
  1228 		/**
  1229 		@internalComponent
  1230 		*/
  1231 		CCDDefaultCDMA2000SettingsRecord();
  1232 		/**
  1233 		@internalComponent
  1234 		*/
  1235 		CCDDefaultCDMA2000SettingsRecord(TMDBElementId aId);
  1236 
  1237 		DATA_VTABLE
  1238 		
  1239 			/** 
  1240 		Gets the following information: 
  1241 		- iTypeId
  1242 		- iValType 
  1243 		- iTypeAttr
  1244 		- iTypeName           
  1245 		
  1246 		@return Returns a const pointer to the record containing the data - client does not need to delete this pointer after use.
  1247 		*/
  1248         const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;}	
  1249 
  1250 	public :
  1251 
  1252 		// Member Elements
  1253 
  1254 		CMDBField<TUint32>		    iUsage;							///< The usage of this default. CDMA parameter- not currently supported. 
  1255 		CMDBField<TDesC>		        iIwfName;					///< Interworking function name. CDMA parameter- not currently supported.
  1256 		CMDBField<TUint32>	    iServiceOption;					    ///< Mask indicating valid service options. CDMA parameter- not currently supported.
  1257 		CMDBField<TUint32>		        iPdpType;					///< PDP is a network protocol which is used by packet switching networks to communicate with GPRS networks. IPV6 and IPV4 are examples of PDP types. CDMA parameter- not currently supported.
  1258 		CMDBField<TDesC>		    iPdpAddress;					///< PDP address of phone. CDMA parameter- not currently supported. 
  1259 		CMDBField<TUint32>	    iReqFwdPriority;					///< Requested forward priority. CDMA Parameter- not currently supported.
  1260 		CMDBField<TUint32>	    iReqRevPriority;					///< Requested reverse priority. CDMA parameter- not currently supported. 
  1261 		CMDBField<TUint32>		    iReqFwdBitrate;					///< Requested forward bit rate. CDMA parameter- not currently supported.
  1262 		CMDBField<TUint32>		    iReqRevBitrate;					///< Requested reverse bit rate. CDMA parameter- not currently supported.
  1263 		CMDBField<TUint32>		    iReqFwdLoss;					///< Requested forward frame loss rate. CDMA Parameter- not currently supported.
  1264 		CMDBField<TUint32>		    iReqRevLoss;					///< Requested reverse frame loss rate. CDMA Parameter- not currently supported.
  1265 		CMDBField<TUint32>		iReqFwdMaxdelay;					///< Requested forward delay. CDMA Parameter- not currently supported.
  1266 		CMDBField<TUint32>		iReqRevMaxdelay;					///< Requested reverse delay. CDMA Parameter- not currently supported.
  1267 		CMDBField<TUint32>		    iMinFwdBitrate;					///< Minimum forward bit rate. CDMA parameter- not currently supported.
  1268 		CMDBField<TUint32>		    iMinRevBitrate;					///< Minimum reverse bit rate. CDMA parameter- not currently supported.
  1269 		CMDBField<TUint32>	    	iAccptFwdLoss;					///< Maximum acceptable forward frame loss rate. CDMA Parameter- not currently supported.
  1270 		CMDBField<TUint32>		    iAccptRevLoss;					///< Maximum acceptable reverse frame loss rate. CDMA Parameter- not currently supported.
  1271 		CMDBField<TUint32>		iAccptFwdMaxdelay;					///< Maximum acceptable forward delay.  CDMA Parameter- not currently supported.
  1272 		CMDBField<TUint32>		iAccptRevMaxdelay;					///< Maximum acceptable reverse delay.  CDMA Parameter- not currently supported.
  1273 		CMDBField<TBool>		iDataCompression;					///< Data compression on? CDMA Parameter- not currently supported.
  1274 		CMDBField<TBool>		iHeaderCompression;					///< Van Jacobson IP header compression on? CDMA Parameter- not currently supported.
  1275 		CMDBField<TBool>		iAnonymousAccess;					///< 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. CDMA Parameter- not currently supported.
  1276 		CMDBField<TUint32>	        	iCDMAOperationMode;			///< CDMA Parameter- not currently supported. See cdbcols.h for more information. 
  1277 		CMDBField<TUint32>		iCDMAMobileIpMaxNumRetry;			///< CDMA Parameter- not currently supported. See cdbcols.h for more information. 
  1278 		CMDBField<TUint32>		iCDMAMobileIpFirstRetryTimeout;		///< CDMA Parameter- not currently supported. See cdbcols.h for more information. 
  1279 		CMDBField<TUint32>		iCDMAMobileIpReregThreshold;		///< CDMA Parameter- not currently supported. See cdbcols.h for more information. 
  1280 		CMDBField<TBool>		iEnableLLMNR; 						///< CDMA Parameter- not currently supported. See cdbcols.h for more information. 
  1281 		CMDBField<TBool>	    iEnableIpHeaderComp;				///< CDMA Parameter- not currently supported. See cdbcols.h for more information. 
  1282 		CMDBField<TBool>	    iCDMAMobileIP;						///< CDMA Parameter- not currently supported. See cdbcols.h for more information. 
  1283 		CMDBField<TDesC>	    iHomeAgentAddress;					///< CDMA Parameter- not currently supported. See cdbcols.h for more information. 
  1284 		CMDBField<TUint32>	    iCDMAMobileIPTimeout; 				///< CDMA Parameter- not currently supported. See cdbcols.h for more information. 
  1285 		CMDBField<TUint32>      iCDMAFchMux;						///< CDMA Parameter- not currently supported. See cdbcols.h for more information. 
  1286 		CMDBField<TUint32>      iCDMASchMux;						///< CDMA Parameter- not currently supported. See cdbcols.h for more information. 
  1287 		
  1288     private:
  1289     
  1290     	static const SRecordTypeInfo* const iRecordInfo;
  1291 	};
  1292 
  1293 //////////////////////////////////////////////////////////////////////////////////////
  1294 // 12/  DEFAULT WCDMA RECORD
  1295 //
  1296 /**
  1297 @publishedPartner
  1298 @released
  1299 */
  1300 class CCDDefaultWCDMARecord : public CCDRecordBase
  1301 	{
  1302 	public:
  1303 		/**
  1304 		@internalComponent
  1305 		*/
  1306 		CCDDefaultWCDMARecord();
  1307 		/**
  1308 		@internalComponent
  1309 		*/
  1310 		CCDDefaultWCDMARecord(TMDBElementId aId);
  1311 
  1312 		DATA_VTABLE
  1313 		
  1314 			/** 
  1315 		Gets the following information: 
  1316 		- iTypeId
  1317 		- iValType 
  1318 		- iTypeAttr
  1319 		- iTypeName           
  1320 		
  1321 		@return Returns a const pointer to the record containing the data - client does not need to delete this pointer after use.
  1322 		*/
  1323         const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;}		
  1324 
  1325 	public :
  1326 
  1327 		// Member Elements
  1328 
  1329 		CMDBField<TUint32>		    iUsage;								///< The usage of this default.
  1330 		CMDBField<TDesC>		        iAPN;							///< Access point name.
  1331 		CMDBField<TUint32>		    iPdpType;							///< PDP is a network protocol which is used by packet switching networks to communicate with GPRS networks. IPV6 and IPV4 are examples of PDP types.
  1332 		CMDBField<TDesC>		    	iPdpAddress;					///< PDP address of phone.
  1333 		CMDBField<TUint32>		    iPrecedence;						///< Default quality of service precedence class. Values for this are defined by the enum RPacketQoS::TQoSPrecedence.
  1334 		CMDBField<TUint32>	    	iDelay;								///< Default quality of service delay class. Values for this are defined by the enum RPacketQoS::TQoSDelay.
  1335 		CMDBField<TUint32>	    	iReliability;						///< Default quality of service reliability class. Values for this are defined by the enum RPacketQoS::TQoSReliability.
  1336 		CMDBField<TUint32>	    	iPeakThroughput;					///< Minimum quality of service peak throughput class. This field has been deprecated and may be removed in the future. 
  1337 		CMDBField<TUint32>	    	iMeanThroughput;					///< Requested quality of service mean throughput class. This field has been deprecated and may be removed in the future. 
  1338 		CMDBField<TUint32>		    iMinPrecedence;						///< Minimum quality of service precedence class. This field has been deprecated and may be removed in the future. 
  1339 		CMDBField<TUint32>	    	iMinDelay;							///< Minimum quality of service delay class This field has been deprecated and may be removed in the future.
  1340 		CMDBField<TUint32>	    	iMinReliability;					///< Minimum quality of service reliability class. This field has been deprecated and may be removed in the future.
  1341 		CMDBField<TUint32>	    	iMinPeakThroughput;					///< Minimum quality of service peak throughput class. This field has been deprecated and may be removed in the future.
  1342 		CMDBField<TUint32>	    	iMinMeanThroughput;					///< Minimum quality of service mean throughput class. This field has been deprecated and may be removed in the future.
  1343 		CMDBField<TBool>			iDataCompression;					///< Specifies whether to compress data.
  1344 		CMDBField<TBool>			iHeaderCompression;					///< Specifies whether IP header compression is on.
  1345 		CMDBField<TBool>			iUseEdge;							///< Specifies whether to use EDGE technology.
  1346 		CMDBField<TBool>			iAnonymousAccess;					///< 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.
  1347 
  1348     private:
  1349     
  1350     	static const SRecordTypeInfo* const iRecordInfo;
  1351 	};
  1352 
  1353 
  1354 	// TCommdbBearer for BearerTechnology field 
  1355 	typedef TCommDbBearer TCommsDBBearerTechnology;	///< Bearer support type for field BearerTechnology
  1356 
  1357 
  1358 
  1359 ////////////////////////////////////////////////////////////////////////////
  1360 // 13/  MODEM BEARER RECORD
  1361 //
  1362 /**
  1363 @publishedAll
  1364 @released
  1365 */
  1366 class CCDModemBearerRecord : public CCDBearerRecordBase
  1367 	{
  1368 	public:
  1369 		/**
  1370 		@internalComponent
  1371 		*/
  1372 		CCDModemBearerRecord();		
  1373 		/**
  1374 		@internalComponent
  1375 		*/
  1376 		CCDModemBearerRecord(TMDBElementId id);
  1377 		
  1378 			/** 
  1379 		Gets the following information: 
  1380 		- iTypeId
  1381 		- iValType 
  1382 		- iTypeAttr
  1383 		- iTypeName           
  1384 		
  1385 		@return Returns a const pointer to the record containing the data - client does not need to delete this pointer after use.
  1386 		*/
  1387         const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;}			
  1388 
  1389 		DATA_VTABLE
  1390 		
  1391 
  1392 	public:
  1393 
  1394 		// MemberData
  1395 		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.
  1396 		CMDBField<TDesC>	                        iPortName;				///< The name of the Comm port for the modem to connect to
  1397 		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.
  1398 		CMDBField<TDesC>	                        iCsyName;				///< The name of the CSY. CSY provides the Comm port specific implementation to C32 (Serial Comms server).
  1399 		CMDBField<TUint32>	    iLastSocketActivityTimeout;					///< Time (in seconds) to stay online when all socket activity has ceased.
  1400 		CMDBField<TUint32>	        iLastSessionClosedTimeout;				///< Time (in seconds)  to stay online when session has closed
  1401 		CMDBField<TUint32>	        iLastSocketClosedTimeout;				///< Time (in seconds) to stay online when socket has closed.
  1402 		CMDBField<TUint32>	                        iDataBits;				///< Number of data bits used for serial port configuration.
  1403 		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.
  1404 		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.
  1405 		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.
  1406 		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. 
  1407 		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.
  1408 		CMDBField<TUint32>	                        iXonChar;				///< Character used to signal to the transmitter to resume sending when using XON/XOFF handshaking.
  1409 		CMDBField<TUint32>	                        iXoffChar;				///< Character used to signal the transmitter to suspend sending when using XON/XOFF handshaking.
  1410 		CMDBField<TUint32>	                    iFaxClassPref;				///< The preferred fax modem class supported by the fax client. This is the command set used to control the modem.
  1411 		CMDBField<TUint32>	                    iSpeakerPref;				///< Preferred speaker mode.
  1412 		CMDBField<TUint32>	                iSpeakerVolPref;				///< Preferred speaker volume.
  1413 		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. 
  1414 		CMDBField<TDesC8>	                iDataInitString;				///< Data initialisation string.
  1415 		CMDBField<TDesC8>	                iFaxInitString;					///< Fax initialisation string.
  1416 		CMDBField<TDesC8>	                iIspInitString;					///< Initialisation string specific to a particular ISP.
  1417 		CMDBField<TDesC>	                iDialPauseLength;				///< Command to modify the pause created during dialling using the comma character (',').
  1418 		CMDBField<TDesC>	                iCarrierTimeOut;				///< Command to set the time out the modem uses when establishing a link before giving up and returning to command mode.
  1419 		CMDBField<TDesC>	            iAutoAnswerRingCount;				///< Command to set the number of rings before the modem auto answers.
  1420 		CMDBField<TDesC>	            iSpeakerVolControlLow;				///< Command to set the modem speaker volume to low.
  1421 		CMDBField<TDesC>	        iSpeakerVolControlMedium;				///< Command to set the modem speaker volume to medium.
  1422 		CMDBField<TDesC>	        iSpeakerVolControlHigh;					///< Command to set the modem speaker volume to high.
  1423 		CMDBField<TDesC>	                iSpeakerAlwaysOff;				///< Command to set the modem speaker off.
  1424 		CMDBField<TDesC>	        iSpeakerOnUntilCarrier;					///< Command to set the modem speaker on.
  1425 		CMDBField<TDesC>	                iSpeakerAlwaysOn;				///< Command to set the modem speaker on until the carrier.
  1426 		CMDBField<TDesC>	        iSpeakerOnAfterUntilCarrier;			///< Command to set the modem speaker on except during dialling.
  1427 		CMDBField<TDesC>	            iDialToneWaitModifier;				///< The dial command modifier waits for dial tone.
  1428 		CMDBField<TDesC>	                iCallProgress1;					///< Disable busy and dial tone detection.
  1429 		CMDBField<TDesC>	                iCallProgress2;					///< Dial tone detection enabled, busy detection disabled.
  1430 		CMDBField<TDesC>	                iCallProgress3;					///< Dial tone detection disabled, busy detection enabled.
  1431 		CMDBField<TDesC>	                iCallProgress4;					///< Dial tone and busy detection enabled.
  1432 		CMDBField<TDesC>	                        iEchoOff;				///< Switch echo mode off.
  1433 		CMDBField<TDesC>	                    iVerboseText;				///< Switch verbose mode on.
  1434 		CMDBField<TDesC>	                        iQuietOff;				///< Switch quiet mode off.
  1435 		CMDBField<TDesC>	                        iQuietOn;				///< Switch quiet mode on.
  1436 		CMDBField<TDesC>	        iDialCommandStateModifier;				///< Dial command modifier- used to return to command mode after dialling.
  1437 		CMDBField<TDesC>	                        iOnLine;				///< Enter on-line mode from on-line command mode.
  1438 		CMDBField<TDesC>	            iResetConfiguration;				///< Reset the modem configurations.
  1439 		CMDBField<TDesC>	            iReturnToFactoryDefs;				///< Return the modem configuration to its factory defaults.
  1440 		CMDBField<TDesC>	                iDcdOnDuringLink;				///< Command the modem to only assert DCD when a carrier is actually detected, i.e. while the link is up.
  1441 		CMDBField<TDesC>	                    iDtrHangUp;					///< Command the modem to hang up the current call when the DTE drops the DTR line.
  1442 		CMDBField<TDesC>	                    iDsrAlwaysOn;				///< Command the modem to always assert DSR.
  1443 		CMDBField<TDesC>	                iRtsCtsHandshake;				///< Command the modem to use RTS/CTS flow control
  1444 		CMDBField<TDesC>	                iXonXoffHandshake;				///< Command the modem to use software flow control.
  1445 		CMDBField<TDesC>	                iEscapeCharacter;				///< The character used by the DTE to return to command mode from on-line mode.
  1446 		CMDBField<TDesC>	            iEscapeGuardPeriod;					///< Command the modem to use a particular escape sequence guard period.
  1447 		CMDBField<TDesC>	            iFaxClassInterrogate;				///< Command asking the modem which fax modes are supported.
  1448 		CMDBField<TDesC>	                        iFaxClass;				///< Command that sets the fax mode.
  1449 		CMDBField<TDesC>	                    iNoDialTone;				///< Modem response when no dial tone is detected.
  1450 		CMDBField<TDesC>	                            iBusy;				///< Modem response when a busy tone is detected.
  1451 		CMDBField<TDesC>	                        iNoAnswer;				///< Modem response when no answer is detected.
  1452 		CMDBField<TDesC>	                        iCarrier;				///< Carrier report message.
  1453 		CMDBField<TDesC>	                        iConnect;				///< Connection report message.
  1454 		CMDBField<TDesC>	            iCompressionClass5;					///< Compression Class 5 report message.
  1455 		CMDBField<TDesC>	            iCompressionV42bis;					///< Compression V.42 bis report message.
  1456 		CMDBField<TDesC>	                iCompressionNone;				///< No compression report message.
  1457 		CMDBField<TDesC>	                    iProtocolLapd;				///< LAPD protocol report message.
  1458 		CMDBField<TDesC>	                    iProtocolAlt;				///< ALT protocol report message.
  1459 		CMDBField<TDesC>	            iProtocolAltcellular;				///< ALT-CELLULAR report message.
  1460 		CMDBField<TDesC>	                    iProtocolNone;				///< No protocol report message.
  1461 		CMDBField<TDesC>	            iMessageCentreNumber;				///< Phone number of message centre.
  1462 		CMDBField<TUint32>	        iMessageValidityPeriod;					///< Validity period for SMS in minutes.
  1463 		CMDBField<TBool>	        iMessageDeliveryReport;					///< Specifies whether to produce an SMS delivery report.
  1464 		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.
  1465 
  1466 		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).
  1467 		CMDBField<TDesC>	        iControlChannelPortName;				///< The modem control channel port name.
  1468 		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. 
  1469 		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.
  1470 		CMDBField<TCommsDBBearerTechnology>     iBearerTechnology;			///< Specifies whether the bearer is a CSD/HSCSD bearer.
  1471     
  1472     private:
  1473     
  1474 		static const SRecordTypeInfo* const iRecordInfo;
  1475 	};
  1476 
  1477 
  1478 
  1479 
  1480 
  1481 //////////////////////////////////////////////////////////////////////////////////////
  1482 // 14/  LAN BEARER RECORD
  1483 //
  1484 /**
  1485 @publishedAll
  1486 @released
  1487 */
  1488 class CCDLANBearerRecord : public CCDBearerRecordBase
  1489 	{
  1490 	public:
  1491 		/**
  1492 		@internalComponent
  1493 		*/
  1494 		CCDLANBearerRecord();
  1495 		/**
  1496 		@internalComponent
  1497 		*/
  1498 		CCDLANBearerRecord(TMDBElementId aId);
  1499 		
  1500 		/** 
  1501 		Gets the following information: 
  1502 		- iTypeId
  1503 		- iValType 
  1504 		- iTypeAttr
  1505 		- iTypeName           
  1506 		
  1507 		@return Returns a const pointer to the record containing the data - client does not need to delete this pointer after use.
  1508 		*/
  1509 		const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;}			
  1510 
  1511 		DATA_VTABLE        
  1512 
  1513 	public:
  1514 
  1515     	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.
  1516 		CMDBField<TDesC>    	    iLanBearerLddFilename;					///< This is the actual .DLL filename for the LDD.
  1517 		CMDBField<TDesC>	        iLanBearerLddName;						///< This is the name of a particular LDD.
  1518 		CMDBField<TDesC>	        iLanBearerPddFilename;					///< This is the actual .DLL filename for the PDD.
  1519    	    CMDBField<TDesC>          iLanBearerPddName;						///< This is the name of a particular PDD.
  1520 		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.
  1521 		CMDBField<TUint32>        iLastSocketActivityTimeout;				///< Time (in seconds) to stay online when all socket activity has ceased.
  1522 		CMDBField<TUint32>        iLastSessionClosedTimeout;				///< Time (in seconds)  to stay online when session has closed.
  1523 		CMDBField<TUint32>	            iLastSocketClosedTimeout;			///< Time (in seconds)  to stay online when socket has closed.
  1524 		CMDBField<TCommsDBBearerTechnology>   iBearerTechnology;			///< Specifies whether the bearer is a CSD/HSCSD bearer.
  1525 
  1526     private:
  1527 
  1528 		static const SRecordTypeInfo* const iRecordInfo;
  1529 	};
  1530 
  1531 
  1532 //////////////////////////////////////////////////////////////////////////////////////
  1533 // 15/  VIRTUAL BEARER RECORD
  1534 //
  1535 /**
  1536 @publishedAll
  1537 @released
  1538 */
  1539 class CCDVirtualBearerRecord : public CCDBearerRecordBase
  1540 	{
  1541 	public:
  1542 		/**
  1543 		@internalComponent
  1544 		*/
  1545 		CCDVirtualBearerRecord();
  1546 		/**
  1547 		@internalComponent
  1548 		*/
  1549 		CCDVirtualBearerRecord(TMDBElementId aId);
  1550 
  1551 		DATA_VTABLE
  1552 
  1553 		/** 
  1554 		Gets the following information: 
  1555 		- iTypeId
  1556 		- iValType 
  1557 		- iTypeAttr
  1558 		- iTypeName           
  1559 		
  1560 		@return Returns a const pointer to the record containing the data - client does not need to delete this pointer after use.
  1561 		*/
  1562         const SRecordTypeInfo* GetRecordInfo() {return iRecordInfo;}			
  1563 	public:
  1564 
  1565 		// Member Data
  1566 		CMDBField<TDesC>	    iVirtualBearerNifName;						///< The network interface name of the virtual bearer. 
  1567 		CMDBField<TUint32>	    iLastSocketActivityTimeout;					///< Time (in seconds) to stay online when all socket activity has ceased.
  1568 		CMDBField<TUint32>	    iLastSessionClosedTimeout;					///< Time (in seconds)  to stay online when socket has closed.
  1569 		CMDBField<TUint32>	    iLastSocketClosedTimeout;					///< Time (in seconds)  to stay online when socket has closed.
  1570 		CMDBField<TCommsDBBearerTechnology>     iBearerTechnology;			///< Specifies whether the bearer is a CSD/HSCSD bearer.
  1571 
  1572     private:
  1573     
  1574 		static const SRecordTypeInfo* const iRecordInfo;
  1575 	};
  1576 
  1577 
  1578 
  1579 //////////////////////////////////////////////////////////////////////////////////////
  1580 // 16/ WAP SMS Bearer Record
  1581 //
  1582 /**
  1583 @publishedAll
  1584 @released
  1585 */
  1586 class CCDWAPSMSBearerRecord : public CCDRecordBase
  1587 	{
  1588 	public:
  1589 		/**
  1590 		@internalComponent
  1591 		*/
  1592 		CCDWAPSMSBearerRecord();
  1593 		/**
  1594 		@internalComponent
  1595 		*/
  1596 		CCDWAPSMSBearerRecord(TMDBElementId aElementId);
  1597 
  1598 		DATA_VTABLE
  1599 		
  1600 			/** 
  1601 		Gets the following information: 
  1602 		- iTypeId
  1603 		- iValType 
  1604 		- iTypeAttr
  1605 		- iTypeName           
  1606 		
  1607 		@return Returns a const pointer to the record containing the data - client does not need to delete this pointer after use.
  1608 		*/
  1609         const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;}			
  1610 
  1611 	public :
  1612 		// Member Elements
  1613 		CMDBRecordLink<CCDWAPAccessPointRecord>   iWAPAccessPointId;		///< ID of the  WAP Access Point record to which this bearer information refers.	
  1614 		CMDBField<TDesC>              		      iWAPGatewayAddress;		///< WAP gateway address: an IP address or phone number.
  1615 		CMDBField<TDesC>                          iWAPServiceCentreAddress; ///< WAP service centre address.
  1616 		CMDBField<TUint8>                         iWAPWSPOption;			///< Whether connection-oriented or connectionless API should be used.
  1617 		CMDBField<TBool>                          iWAPSecurity;				///< Attempt secure WTLS connection to the gateway.
  1618 
  1619     private:
  1620 
  1621 		static const SRecordTypeInfo* const iRecordInfo;
  1622 	};
  1623 
  1624 
  1625 
  1626 ////////////////////////////////////////////////////////////////////////////////////////
  1627 // 17/ WAP IP BEARER
  1628 //
  1629 /**
  1630 @publishedAll
  1631 @released
  1632 */
  1633 class CCDWAPIPBearerRecord : public CCDRecordBase
  1634 	{
  1635 
  1636 	public:
  1637 		/**
  1638 		@internalComponent
  1639 		*/
  1640 		CCDWAPIPBearerRecord();
  1641 		/**
  1642 		@internalComponent
  1643 		*/
  1644 		CCDWAPIPBearerRecord(TMDBElementId aElementId);
  1645 
  1646 		DATA_VTABLE
  1647 		
  1648 			/** 
  1649 		Gets the following information: 
  1650 		- iTypeId
  1651 		- iValType 
  1652 		- iTypeAttr
  1653 		- iTypeName           
  1654 		
  1655 		@return Returns a const pointer to the record containing the data - client does not need to delete this pointer after use.
  1656 		*/
  1657         const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;}				
  1658 
  1659 	public :
  1660 
  1661 		// Member Elements
  1662 		CMDBRecordLink<CCDWAPAccessPointRecord> iWAPAccessPointId;				///< ID of the  WAP Access Point record to which this bearer information refers.
  1663 		CMDBField<TDesC>                        iWAPGatewayAddress;				///< WAP gateway address: an IP address or phone number.
  1664 		CMDBRecordLink<CCDIAPRecord>            iWAPIAP;						///< Identifier of a record in the IAP table to be used.
  1665 		CMDBField<TUint8>                       iWAPWSPOption;					///< Set to an enum deciding whether WAP WSP is to be set to connectionless or connection oriented. 
  1666 		CMDBField<TBool>                        iWAPSecurity;					///< Attempt secure WTLS connection to the gateway.
  1667 		CMDBField<TUint32>                      iWAPProxyPort;					///< Proxy port number. Required for WAP2.0 only.
  1668 		CMDBField<TDesC>                        iWAPProxyLoginName;				///< Proxy login name. Required for WAP2.0 only.
  1669 		CMDBField<TDesC>                        iWAPProxyLoginPass;				///< Proxy login password. Required for WAP2.0 only.
  1670 
  1671 
  1672     private:
  1673 	
  1674 		static const SRecordTypeInfo* const iRecordInfo;
  1675 	};
  1676 
  1677 
  1678 
  1679 
  1680 //////////////////////////////////////////////////////////////////////////////////////
  1681 // 18/  CHARGECARD RECORD
  1682 //
  1683 /**
  1684 Reading of ChargeCard Table data is protected with ECDPrivate Attribute.  
  1685 This will require additional capabilities to read.
  1686 
  1687 @publishedAll
  1688 @released
  1689 */
  1690 class CCDChargecardRecord : public CCDRecordBase
  1691 	{
  1692 	public:
  1693 		/**
  1694 		@internalComponent
  1695 		*/
  1696 		CCDChargecardRecord();
  1697 		/**
  1698 		@internalComponent
  1699 		*/
  1700 		CCDChargecardRecord(TMDBElementId aElementId);
  1701 
  1702 		DATA_VTABLE
  1703 		
  1704 			/** 
  1705 		Gets the following information: 
  1706 		- iTypeId
  1707 		- iValType 
  1708 		- iTypeAttr
  1709 		- iTypeName           
  1710 		
  1711 		@return Returns a const pointer to the record containing the data - client does not need to delete this pointer after use.
  1712 		*/
  1713         const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;} 	
  1714 
  1715 	public:
  1716 
  1717 		// Member Elements
  1718 		CMDBField<TDesC>        iAccountNo;		///< The account number to charge.
  1719 		CMDBField<TDesC>              iPin;		///< The pin number of the account to charge.
  1720 		CMDBField<TDesC>        iLocalRule;		///< An operator dependant rule specifying the order of dialling to be account number, PIN and phone number for local calls.
  1721 		CMDBField<TDesC>          iNatRule;		///< An operator dependant rule specifying the order of dialling to be account number, PIN and phone number for national calls.
  1722 		CMDBField<TDesC>         iIntlRule;		///< An operator dependant rule specifying the order of dialling to be account number, PIN and phone number for international calls.
  1723 
  1724     private:
  1725 
  1726 		static const SRecordTypeInfo* const iRecordInfo;
  1727 
  1728 	};
  1729 
  1730 
  1731 
  1732 //////////////////////////////////////////////////////////////////////////////////////
  1733 // 19/  PROXIES RECORD
  1734 //
  1735 /**
  1736 @publishedAll
  1737 @released
  1738 */
  1739 class CCDProxiesRecord : public CCDRecordBase
  1740 	{
  1741 	public:
  1742 		/**
  1743 		@internalComponent
  1744 		*/
  1745 		CCDProxiesRecord();
  1746 		/**
  1747 		@internalComponent
  1748 		*/
  1749 		CCDProxiesRecord(TMDBElementId aElementId);
  1750 
  1751 		DATA_VTABLE
  1752 		
  1753 			/** 
  1754 		Gets the following information: 
  1755 		- iTypeId
  1756 		- iValType 
  1757 		- iTypeAttr
  1758 		- iTypeName           
  1759 		
  1760 		@return Returns a const pointer to the record containing the data - client does not need to delete this pointer after use.
  1761 		*/
  1762 
  1763         const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;}
  1764 
  1765 	public :
  1766 
  1767 		// Member Elements
  1768 		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.
  1769 		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.
  1770 		CMDBField<TBool>                        iUseProxyServer;		///< Specifies whether to use a proxy server.
  1771 		CMDBField<TDesC>                        iServerName;			///< Name of the host proxy server.
  1772 		CMDBField<TDesC>                        iProtocolName;			///< Name of the protocol for which this proxy can be used.
  1773 		CMDBField<TUint32>                      iPortNumber;			///< Port number for the proxy server.
  1774 		CMDBField<TDesC>                        iExceptions;			///< Semi-colon separated list of the addresses for which the proxy server should not be used.
  1775 
  1776 
  1777     private:
  1778     
  1779         static const SRecordTypeInfo* const iRecordInfo;
  1780 	};
  1781 
  1782 
  1783 
  1784 
  1785 //////////////////////////////////////////////////////////////////////////////////////
  1786 // 1A/  SECURE SOCKET PROTO RECORD
  1787 //
  1788 /**
  1789 @internalComponent
  1790 @released
  1791 */
  1792 class CCDSecureSocketRecord : public CCDRecordBase
  1793 	{
  1794 	public:
  1795 
  1796 		CCDSecureSocketRecord();
  1797 		CCDSecureSocketRecord(TMDBElementId aElementId);
  1798 
  1799 		DATA_VTABLE
  1800 
  1801         const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;}
  1802 
  1803 	public:
  1804 
  1805 		// Member Data
  1806 		CMDBField<TDesC>	    iSSProtoName;
  1807 		CMDBField<TDesC>	iSSProtoLibrary;
  1808 
  1809     private:
  1810 
  1811 		static const SRecordTypeInfo* const iRecordInfo;
  1812 	};
  1813 
  1814 
  1815 
  1816 
  1817 //////////////////////////////////////////////////////////////////////////////////////
  1818 // 1B/ AGENTLOOKUPTABLE RECORD
  1819 //
  1820 /**
  1821 @internalComponent
  1822 @released
  1823 */
  1824 class CCDAgentLookupRecord : public CCDRecordBase
  1825 	{
  1826 	public:
  1827 
  1828 		CCDAgentLookupRecord();
  1829 		CCDAgentLookupRecord(TMDBElementId aElementId);
  1830 
  1831 		DATA_VTABLE
  1832 
  1833         const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;}
  1834 
  1835 	public:
  1836 
  1837 		// Member Data
  1838 		CMDBField<TDesC>  	iAgentFriendlyName;
  1839 		CMDBField<TDesC>	 	iAgentFileName;
  1840 
  1841 
  1842     private:
  1843 
  1844         static const SRecordTypeInfo* const iRecordInfo;
  1845 	};
  1846 
  1847 
  1848 //////////////////////////////////////////////////////////////////////////////////////
  1849 // 1C/ PAN_SERVICE_EXTENSIONS
  1850 //
  1851 /**
  1852 @publishedAll
  1853 @released
  1854 */
  1855 class CCDPANServiceExtRecord : public CCDServiceRecordBase
  1856 	{
  1857 	public:
  1858 		/**
  1859 		@internalComponent
  1860 		*/
  1861 		CCDPANServiceExtRecord();
  1862 		/**
  1863 		@internalComponent
  1864 		*/
  1865 		CCDPANServiceExtRecord(TMDBElementId aElementId);
  1866 
  1867 		DATA_VTABLE
  1868 		
  1869 			/** 
  1870 		Gets the following information: 
  1871 		- iTypeId
  1872 		- iValType 
  1873 		- iTypeAttr
  1874 		- iTypeName           
  1875 		
  1876 		@return Returns a const pointer to the record containing the data - client does not need to delete this pointer after use.
  1877 		*/
  1878         const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;}  
  1879 
  1880 	public:
  1881 
  1882 		// Member Data
  1883 		CMDBField<TUint32>  	iLocalRole;					///< PAN role that the local device will act in. To dynamically select a role, use ECommDbPanRoleUnknown.
  1884 		CMDBField<TUint32>	 	iPeerRole;					///< PAN role that the remote device will act in. To dynamically select a role, use ECommDbPanRoleUnknown.
  1885 		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
  1886 		CMDBField<TBool>	 	iPromptForRemoteDevices;	///< Whether the agent should prompt the user to select the remote device to connect to.
  1887 		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.
  1888 		CMDBField<TBool>	 	iAllowIncoming;				///< Whether the PAN agent should support incoming connections.
  1889 		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.
  1890 #ifdef SYMBIAN_NETWORKING_DHCPSERVER		
  1891 		CMDBField<TBool>	 	iNapServiceEnabled;
  1892 #endif // SYMBIAN_NETWORKING_DHCPSERVER		
  1893     private:
  1894 
  1895         static const SRecordTypeInfo* const iRecordInfo;
  1896 	};
  1897 
  1898 class CCDSelectionPolicyRecordBase;
  1899 
  1900 //////////////////////////////////////////////////////////////////////////////////////
  1901 // 1D/ ACCESS POINT RECORD
  1902 // -----------   ------------------------------------------------------------------------------------------------------------------------------
  1903 //| ID | NAME | | ACCESS POINT TYPE | MCPR TYPE | SELECTION POLICY | CPR TYPE | CPR CONFIG | SCPR TYPE | PROTOCOL TYPE | APPLICATION SECURE ID |
  1904 //|-----------| |------------------------------------------------------------------------------------------------------------------------------|
  1905 //|  * |    * | |                 * |         * |                * |        * |          * |         * |             * |                     * |
  1906 // -----------   ------------------------------------------------------------------------------------------------------------------------------
  1907 // ID                     - Access point's unique ID.
  1908 // NAME                   - Access point's unique name.
  1909 // ACCESS POINT TYPE      - Identifies the access point's (tier's) type (row in the CCDAccessPointTypeRecord table).
  1910 // MCPR TYPE
  1911 // SELECTION POLICY       - A policy id interpreted by the MCPR's "Next Layer Selector".
  1912 // CPR TYPE
  1913 // CPR CONFIG             - CPR's config id interpreted by a CPR.
  1914 // SCPR TYPE
  1915 // PROTOCOL TYPE
  1916 // APPLICATION SECURE ID  - Only application with this SID may acess this record (can we do that in CommsDat?)
  1917 
  1918 /**
  1919 @publishedAll
  1920 @released
  1921 */
  1922 #ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
  1923 class CCDTierRecord;
  1924 class CCDMCprRecord;
  1925 class CCDCprRecord;
  1926 class CCDSCprRecord;
  1927 class CCDProtocolRecord;
  1928 #endif
  1929 
  1930 class CCDAccessPointRecord : public CCDRecordBase
  1931 	{
  1932 	public:
  1933 		/**
  1934 		@internalComponent
  1935 		*/
  1936 		CCDAccessPointRecord(TMDBElementId aElementId);
  1937 
  1938 		DATA_VTABLE
  1939 		
  1940 		/** 
  1941 		Gets the following information: 
  1942 		- iTypeId
  1943 		- iValType 
  1944 		- iTypeAttr
  1945 		- iTypeName           
  1946 		
  1947 		@return Returns a const pointer to the record containing the data - client does not need to delete this pointer after use.
  1948 		*/
  1949         const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;} 
  1950 
  1951 	public:
  1952         /* @deprecated with SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
  1953            Use iTier instead */
  1954 		CMDBField<TUint32>                              iAccessPointGID;    // Only present when record is a SNAP.  Gives to the SNAP Tier Id
  1955         
  1956 		/* mapped (but not deprecated) with SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY*/
  1957         CMDBRecordLink<CCDSelectionPolicyRecordBase>    iSelectionPolicy;   // Link to SelectionPolicy record
  1958         
  1959 #ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
  1960 /**
  1961  @publishedAll
  1962  @prototype
  1963  */
  1964 		CMDBRecordLink<CCDTierRecord> iTier;		//Tier. Type of the access point. Row in CCDTierRecord table.
  1965 /**
  1966  @publishedAll
  1967  @prototype
  1968  */
  1969 		CMDBRecordLink<CCDMCprRecord> iMCpr;		//MCPR's type. Row in CCDMCprRecord table.
  1970 /**
  1971  @publishedAll
  1972  @prototype
  1973  */
  1974 		CMDBRecordLink<CCDCprRecord> iCpr;			//CPR's type. Row in CCDCprRecord table.
  1975 /**
  1976  @publishedAll
  1977  @prototype
  1978  */
  1979 		CMDBRecordLink<CCDSCprRecord> iSCpr;		//SCPR's type. Row in CCDSCprRecord table.
  1980 /**
  1981  @publishedAll
  1982  @prototype
  1983  */
  1984 		CMDBRecordLink<CCDSCprRecord> iProtocol;	//PRT's type. Row in CCDProtocolRecord table.
  1985 /**
  1986  @publishedAll
  1987  @prototype
  1988  */
  1989 		CMDBField<TUint32> iCprConfig;				//CPR's config id. Value interpreted by a CPR.
  1990 /**
  1991  @publishedAll
  1992  @prototype
  1993  */
  1994 		CMDBField<TUint32> iAppSID;					//Application SID.
  1995 		// VCT - this is wrong.  it should be a link to a CCDSelectionPolicyRecordBase that points to ConfigAccessPoints
  1996 /**
  1997  @publishedAll
  1998  @prototype
  1999  */
  2000 		CMDBField<TDesC> iConfigAPIdList;                   // List of addition SCprs (from ConfigAccessPoint table) 
  2001 /**
  2002  @publishedAll
  2003  @prototype
  2004  */
  2005         //This field can be used to create custom selection policies which is _not_ use
  2006         //the APPrioritySelectionPolicy record but store some value which is interpreted by the
  2007         //given MCPr.
  2008         CMDBField<TInt> iCustomSelectionPolicy;
  2009 #endif
  2010     private:
  2011         static const SRecordTypeInfo* const iRecordInfo;
  2012 	};
  2013 
  2014 //////////////////////////////////////////////////////////////////////////////////////
  2015 // 1E/ SELECTION POLICY RECORD
  2016 /**
  2017 @publishedAll
  2018 @released
  2019 */
  2020 class CCDSelectionPolicyRecordBase : public CCDRecordBase
  2021 	{
  2022 	public:
  2023 		DATA_VTABLE
  2024 
  2025     protected:
  2026 		/**
  2027 		@internalComponent
  2028 		*/
  2029 		CCDSelectionPolicyRecordBase(TMDBElementId aElementId);
  2030 	};
  2031 
  2032 // 1F/ IAP PRIORITY SELECTION POLICY RECORD
  2033 // -----------   ---------------------------------------------
  2034 //| ID | NAME | | IAP LINK 1 | IAP LINK 2 | ... | IAP LINK 15 |
  2035 //|-----------| |---------------------------------------------|
  2036 //|  * |    * | |          * |          * |   * |           * |
  2037 // -----------   ---------------------------------------------
  2038 // IAP LINK N - links to Nth IAP record.
  2039 /**
  2040  @publishedAll
  2041  @released
  2042  @deprecated with SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
  2043  when Mapped to CCDAPPrioritySelectionPolicyRecord
  2044  */
  2045 class CCDIAPPrioritySelectionPolicyRecord : public CCDSelectionPolicyRecordBase
  2046 	{
  2047     public:
  2048 		enum { EMaxNrOfIaps = 15 };
  2049 
  2050     public:
  2051 		/**
  2052 		@internalComponent
  2053 		*/
  2054 		CCDIAPPrioritySelectionPolicyRecord(TMDBElementId aElementId);
  2055 
  2056 		DATA_VTABLE
  2057 		
  2058 			/** 
  2059 		Gets the following information: 
  2060 		- iTypeId
  2061 		- iValType 
  2062 		- iTypeAttr
  2063 		- iTypeName           
  2064 		
  2065 		@return Returns a const pointer to the record containing the data - client does not need to delete this pointer after use.
  2066 		*/
  2067         const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;} 
  2068 
  2069 	public:
  2070 		CMDBRecordLink<CCDIAPRecord> iIap1; 	///< IAP link 1 - links to first IAP record.
  2071 		CMDBRecordLink<CCDIAPRecord> iIap2;		///< IAP link 2 - links to second IAP record.
  2072 		CMDBRecordLink<CCDIAPRecord> iIap3;		///< IAP link 3 - links to third IAP record.
  2073 		CMDBRecordLink<CCDIAPRecord> iIap4;		///< IAP link 4 - links to fourth IAP record.
  2074 		CMDBRecordLink<CCDIAPRecord> iIap5;		///< IAP link 5 - links to fifth IAP record.
  2075 		CMDBRecordLink<CCDIAPRecord> iIap6;		///< IAP link 6 - links to sixth IAP record.
  2076 		CMDBRecordLink<CCDIAPRecord> iIap7;		///< IAP link 7 - links to seventh IAP record.
  2077 		CMDBRecordLink<CCDIAPRecord> iIap8;		///< IAP link 8 - links to eighth IAP record.
  2078 		CMDBRecordLink<CCDIAPRecord> iIap9;		///< IAP link 9 - links to ninth IAP record.
  2079 		CMDBRecordLink<CCDIAPRecord> iIap10;	///< IAP link 10 - links to tenth IAP record.
  2080 		CMDBRecordLink<CCDIAPRecord> iIap11;	///< IAP link 11- links to eleventh IAP record.
  2081 		CMDBRecordLink<CCDIAPRecord> iIap12;	///< IAP link 12- links to twelveth IAP record.
  2082 		CMDBRecordLink<CCDIAPRecord> iIap13;	///< IAP link 13- links to thirteenth IAP record.
  2083 		CMDBRecordLink<CCDIAPRecord> iIap14;	///< IAP link 14- links to fourteenth IAP record.
  2084 		CMDBRecordLink<CCDIAPRecord> iIap15;	///< IAP link 15- links to fifteenth IAP record.
  2085 		CMDBField<TUint32> iIapCount;			///< Keeps count of the number of IAPs in the selection policy, for comparison purposes.
  2086 
  2087     private:
  2088         static const SRecordTypeInfo* const iRecordInfo;
  2089 	};
  2090 
  2091 
  2092 //////////////////////////////////////////////////////////////////////////////////////
  2093 // 20/  BASE DUMMY SECURITY SETTINGS RECORD
  2094 //
  2095 /**
  2096 @internalComponent
  2097 */
  2098 class CCDBaseSecRecord : public CCDRecordBase
  2099 	{
  2100 	public:
  2101 
  2102 		CCDBaseSecRecord();
  2103 
  2104 		CCDBaseSecRecord(TMDBElementId aElementId);
  2105 
  2106 		DATA_VTABLE
  2107 
  2108     private:
  2109 
  2110 	   	static const SRecordTypeInfo* const iRecordInfo;
  2111 
  2112 	};
  2113 
  2114 //////////////////////////////////////////////////////////////////////////////////////
  2115 // 21/  EAP SECURITY SETTINGS RECORD
  2116 //
  2117 /**
  2118 @internalComponent
  2119 */
  2120 class CCDEAPSecRecord : public CCDBaseSecRecord
  2121 	{
  2122 	public:
  2123 
  2124 		CCDEAPSecRecord();
  2125 
  2126 		CCDEAPSecRecord(TMDBElementId aElementId);
  2127 
  2128 		DATA_VTABLE
  2129 
  2130 		const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;}
  2131 
  2132 	public:
  2133 
  2134 		// Member Data
  2135 
  2136 		CMDBField<TCommsDatEAPSECOuterEAPType>	iEAPSecOuterEAPType;
  2137 		CMDBField<TDesC> 						iEAPSecId;
  2138 		CMDBField<TDesC>						iEAPSecPassword;
  2139 		CMDBField<TInt>  						iEAPSecConfigId;
  2140 		CMDBRecordLink<CCDBaseSecRecord>		iEAPSecData;  // VCT - is this the correctlinktype??
  2141 #ifdef SYMBIAN_WIFI_WPS		
  2142         CMDBField<TDesC>  						iEAPSecVendorId;
  2143         CMDBField<TInt>  						iEAPSecVendorType;        
  2144 #endif //SYMBIAN_WIFI_WPS
  2145 
  2146     private:
  2147 
  2148 	   	static const SRecordTypeInfo* const iRecordInfo;
  2149 
  2150 	};
  2151 
  2152 
  2153 //////////////////////////////////////////////////////////////////////////////////////
  2154 // 21/  TUNNELLED EAP SETTINGS RECORD
  2155 //
  2156 /**
  2157 @internalComponent
  2158 */
  2159 class CCDTunEAPRecord : public CCDBaseSecRecord
  2160 	{
  2161 	public:
  2162 
  2163 		CCDTunEAPRecord();
  2164 
  2165 		CCDTunEAPRecord(TMDBElementId aElementId);
  2166 
  2167 		DATA_VTABLE
  2168 
  2169 		const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;}
  2170 
  2171 	public:
  2172 
  2173 		// Member Data
  2174 
  2175 		CMDBField<TCommsDatTunEapInnerType>		iTUNEAPInnerType;
  2176 		CMDBRecordLink<CCDEAPSecRecord>			iTUNEAPData;
  2177 
  2178     private:
  2179 
  2180 	   	static const SRecordTypeInfo* const iRecordInfo;
  2181 	};
  2182 
  2183 
  2184 //////////////////////////////////////////////////////////////////////////////////////
  2185 // 22/  EAP-TLS SETTINGS RECORD
  2186 //
  2187 /**
  2188 @internalComponent
  2189 */
  2190 class CCDEAPTLSRecord : public CCDBaseSecRecord
  2191 	{
  2192 	public:
  2193 
  2194 		CCDEAPTLSRecord();
  2195 
  2196 		CCDEAPTLSRecord(TMDBElementId aElementId);
  2197 
  2198 		DATA_VTABLE
  2199 
  2200 		const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;}
  2201 
  2202 	public:
  2203 
  2204 		// Member Data
  2205 
  2206 		CMDBField<TDesC>						iEAPTLSClientCertName;
  2207 
  2208     private:
  2209 
  2210 	   	static const SRecordTypeInfo* const iRecordInfo;
  2211 
  2212 
  2213 	};
  2214 
  2215 
  2216 //////////////////////////////////////////////////////////////////////////////////////
  2217 // 23/  LEAP SETTINGS RECORD
  2218 //
  2219 /**
  2220 @internalComponent
  2221 */
  2222 class CCDLEAPRecord : public CCDBaseSecRecord
  2223 	{
  2224 	public:
  2225 
  2226 		CCDLEAPRecord();
  2227 
  2228 		CCDLEAPRecord(TMDBElementId aElementId);
  2229 
  2230 		DATA_VTABLE
  2231 
  2232 		const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;}
  2233 
  2234 	public:
  2235 
  2236 		// Member Data
  2237 
  2238 		CMDBField<TInt>							iLEAPTimeout;
  2239 
  2240     private:
  2241 
  2242 	   	static const SRecordTypeInfo* const iRecordInfo;
  2243 
  2244 
  2245 
  2246 	};
  2247 
  2248 
  2249 
  2250 //////////////////////////////////////////////////////////////////////////////////////
  2251 // 12/  EAP-SIM PROTOCOL RECORD
  2252 //
  2253 /**
  2254 @internalComponent
  2255 */
  2256 class CCDEapSimProtocolRecord : public CCDRecordBase
  2257 	{
  2258   public:
  2259 
  2260 	CCDEapSimProtocolRecord();
  2261 	CCDEapSimProtocolRecord(TMDBElementId aElementId);
  2262 
  2263 	const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;}
  2264     
  2265 	DATA_VTABLE
  2266 
  2267   public:
  2268 
  2269 	CMDBField<TUint32> iProtocolId;
  2270 	CMDBField<TDesC8> iPseudonym;
  2271 	CMDBField<TBool> iUseNaiRealm;
  2272 	CMDBField<TDesC8> iNaiRealm;
  2273 	CMDBField<TUint8> iMinRands;
  2274     
  2275   private:
  2276 
  2277   	static const SRecordTypeInfo* const iRecordInfo;
  2278 	};
  2279 
  2280 
  2281 //////////////////////////////////////////////////////////////////////////////////////
  2282 // 13/  EAP-AKA PROTOCOL RECORD
  2283 //
  2284 /**
  2285 @internalComponent
  2286 */
  2287 class CCDEapAkaProtocolRecord : public CCDRecordBase
  2288 	{
  2289   public:
  2290 
  2291 	CCDEapAkaProtocolRecord();
  2292 	CCDEapAkaProtocolRecord(TMDBElementId aElementId);
  2293 
  2294 	const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;}
  2295     
  2296 	DATA_VTABLE
  2297 
  2298   public:
  2299 
  2300 	CMDBField<TUint32> iProtocolId;
  2301 	CMDBField<TDesC8> iPseudonym;
  2302 	CMDBField<TBool> iUseNaiRealm;
  2303 	CMDBField<TDesC8> iNaiRealm;
  2304     
  2305   private:
  2306   	static const SRecordTypeInfo* const iRecordInfo;
  2307 	};
  2308 
  2309 
  2310 #ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
  2311 
  2312 //////////////////////////////////////////////////////////////////////////////////////
  2313 // 1F/ AP PRIORITY SELECTION POLICY RECORD
  2314 // -----------   --------------------------
  2315 //| ID | NAME | | AP 1 | AP 2 | ... | AP N |
  2316 //|-----------| |--------------------------|
  2317 //|  * |    * | |    * |    * |   * |    * |
  2318 // -----------   --------------------------
  2319 /**
  2320  @publishedAll
  2321  @prototype
  2322  */
  2323 class CCDAPPrioritySelectionPolicyRecord : public CCDSelectionPolicyRecordBase
  2324 	{
  2325     public:
  2326 		enum { EMaxNrOfAps = 15 };
  2327 
  2328     public:
  2329 		CCDAPPrioritySelectionPolicyRecord(TMDBElementId aElementId);
  2330 
  2331 		DATA_VTABLE
  2332 
  2333         const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;}
  2334 
  2335 	public:
  2336 		/*CMDBField<TUint32> iAp1;
  2337 		CMDBField<TUint32> iAp2;
  2338 		CMDBField<TUint32> iAp3;
  2339 		CMDBField<TUint32> iAp4;
  2340 		CMDBField<TUint32> iAp5;
  2341 		CMDBField<TUint32> iAp6;
  2342 		CMDBField<TUint32> iAp7;
  2343 		CMDBField<TUint32> iAp8;
  2344 		CMDBField<TUint32> iAp9;
  2345 		CMDBField<TUint32> iAp10;
  2346 		CMDBField<TUint32> iAp11;
  2347 		CMDBField<TUint32> iAp12;
  2348 		CMDBField<TUint32> iAp13;
  2349 		CMDBField<TUint32> iAp14;
  2350 		CMDBField<TUint32> iAp15;*/
  2351 		
  2352 		CMDBRecordLink<CCDAccessPointRecord>    iAp1;
  2353 		CMDBRecordLink<CCDAccessPointRecord>    iAp2;
  2354 		CMDBRecordLink<CCDAccessPointRecord>    iAp3;
  2355 		CMDBRecordLink<CCDAccessPointRecord>    iAp4;
  2356 		CMDBRecordLink<CCDAccessPointRecord>    iAp5;
  2357 		CMDBRecordLink<CCDAccessPointRecord>    iAp6;
  2358 		CMDBRecordLink<CCDAccessPointRecord>    iAp7;
  2359 		CMDBRecordLink<CCDAccessPointRecord>    iAp8;
  2360 		CMDBRecordLink<CCDAccessPointRecord>    iAp9;
  2361 		CMDBRecordLink<CCDAccessPointRecord>    iAp10;
  2362 		CMDBRecordLink<CCDAccessPointRecord>    iAp11;
  2363 		CMDBRecordLink<CCDAccessPointRecord>    iAp12;
  2364 		CMDBRecordLink<CCDAccessPointRecord>    iAp13;
  2365 		CMDBRecordLink<CCDAccessPointRecord>    iAp14;
  2366 		CMDBRecordLink<CCDAccessPointRecord>    iAp15;
  2367 		
  2368 		CMDBField<TUint32> iApCount;
  2369 
  2370     private:
  2371         static const SRecordTypeInfo* const iRecordInfo;
  2372 	};
  2373 
  2374 //////////////////////////////////////////////////////////////////////////////////////
  2375 // TIER RECORD
  2376 // A Tier groups one or more APs that represent a single technology or a related group of technologies
  2377 // So a tier identifies the type of an AP
  2378 // A Tier is governed by a component called a Tier Manager
  2379 // Each Tier and each Tier Manager has a unique name and unique numeric identifier
  2380 // -----------   ---------------------
  2381 //| ID | NAME | | PREFERENCE RESOLVER |
  2382 //|-----------| |---------------------
  2383 //|  * |    * | |                   * |
  2384 // -----------   ---------------------
  2385 // ID                     - Access point type's (tier's) unique ID.
  2386 // NAME                   - Access point type's (tier's) unique name.
  2387 // TIER MANAGER NAME      - Tier's preference resolver id interpreted by the framework.
  2388 // TIER MANAGER UID       - Tier's preference resolver id interpreted by the framework.
  2389 
  2390 /**
  2391 @internalTechnology
  2392 @prototype
  2393 */
  2394 class CCDTierRecord : public CCDRecordBase
  2395 	{
  2396 	public:
  2397 		CCDTierRecord(TMDBElementId aElementId);
  2398 
  2399 		DATA_VTABLE
  2400 
  2401         const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;}
  2402 
  2403 	public:
  2404 		CMDBField<TDesC> iTierThreadName;        //Tier's thread name.
  2405 		CMDBField<TDesC> iTierManagerName;       //Tier's manager name.
  2406 		CMDBField<TBool> iPromptUser;          //Tier's default access point.
  2407 		CMDBRecordLink<CCDAccessPointRecord> iDefaultAccessPoint;  //Tier's default access point.
  2408 
  2409     private:
  2410         static const SRecordTypeInfo* const iRecordInfo;
  2411 	};
  2412 
  2413 //////////////////////////////////////////////////////////////////////////////////////
  2414 // MCPR TYPE RECORD
  2415 // -----------  
  2416 //| ID | NAME | 
  2417 //|-----------| 
  2418 //|  * |    * | 
  2419 // -----------  
  2420 /**
  2421 @internalTechnology
  2422 @prototype
  2423 */
  2424 class CCDMCprRecord : public CCDRecordBase
  2425 	{
  2426 	public:
  2427 		CCDMCprRecord(TMDBElementId aElementId);
  2428 
  2429 		DATA_VTABLE
  2430 
  2431         const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;}
  2432 
  2433 	public:
  2434 		CMDBField<TUint32> iMCprUid;            //MCpr's UID.
  2435 
  2436     private:
  2437         static const SRecordTypeInfo* const iRecordInfo;
  2438 	};
  2439 
  2440 //////////////////////////////////////////////////////////////////////////////////////
  2441 // CPR TYPE RECORD
  2442 /**
  2443 @internalTechnology
  2444 @prototype
  2445 */
  2446 class CCDCprRecord : public CCDRecordBase
  2447 	{
  2448 	public:
  2449 		CCDCprRecord(TMDBElementId aElementId);
  2450 
  2451 		DATA_VTABLE
  2452 
  2453         const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;}
  2454 
  2455 	public:
  2456 		CMDBField<TUint32> iCprUid;            //Cpr's UID.
  2457 
  2458     private:
  2459         static const SRecordTypeInfo* const iRecordInfo;
  2460 	};
  2461 
  2462 //////////////////////////////////////////////////////////////////////////////////////
  2463 // SCPR TYPE RECORD
  2464 /**
  2465 @internalTechnology
  2466 @prototype
  2467 */
  2468 class CCDSCprRecord : public CCDRecordBase
  2469 	{
  2470 	public:
  2471 		CCDSCprRecord(TMDBElementId aElementId);
  2472 
  2473 		DATA_VTABLE
  2474 
  2475         const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;}
  2476 
  2477 	public:
  2478 		CMDBField<TUint32> iSCprUid;            //SCpr's UID.
  2479 
  2480     private:
  2481         static const SRecordTypeInfo* const iRecordInfo;
  2482 	};
  2483 
  2484 //////////////////////////////////////////////////////////////////////////////////////
  2485 // PROTOCOL TYPE RECORD
  2486 /**
  2487 @internalTechnology
  2488 @prototype
  2489 */
  2490 class CCDProtocolRecord : public CCDRecordBase
  2491 	{
  2492 	public:
  2493 		CCDProtocolRecord(TMDBElementId aElementId);
  2494 
  2495 		DATA_VTABLE
  2496 
  2497         const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;}
  2498 
  2499 	public:
  2500 		CMDBField<TUint32> iProtocolUid;            //Protocol's UID.
  2501 		CMDBField<TUint32> iProtocolConfigLoaderUid;            // ecom plugin to load protocol's config
  2502     private:
  2503         static const SRecordTypeInfo* const iRecordInfo;
  2504 	};
  2505 
  2506 
  2507 //////////////////////////////////////////////////////////////////////////////////////
  2508 // BEARER TYPE RECORD
  2509 // Identifies the components needed to build an AP to perform a particular service
  2510 /**
  2511 @internalTechnology
  2512 @prototype
  2513 */
  2514 class CCDBearerTypeRecord : public CCDRecordBase
  2515 	{
  2516 	public:
  2517 		CCDBearerTypeRecord(TMDBElementId aElementId);
  2518 
  2519 		DATA_VTABLE
  2520 
  2521         const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;}
  2522 
  2523 	public:
  2524 		CMDBRecordLink<CCDTierRecord>	    iTier;
  2525 		CMDBRecordLink<CCDMCprRecord>	    iMCpr;
  2526 		CMDBRecordLink<CCDCprRecord>	    iCpr;
  2527 		CMDBRecordLink<CCDSCprRecord>	    iSCpr;
  2528 		CMDBRecordLink<CCDProtocolRecord>	iProtocol;
  2529 
  2530     private:
  2531         static const SRecordTypeInfo* const iRecordInfo;
  2532 	};
  2533 
  2534 //////////////////////////////////////////////////////////////////////////////////////
  2535 // CONFIG ACCESS POINT RECORD
  2536 /**
  2537 @internalTechnology
  2538 @prototype
  2539 */
  2540 class CCDConfigAccessPointRecord : public CCDRecordBase
  2541 	{
  2542     public:
  2543 	CCDConfigAccessPointRecord(TMDBElementId aElementId);
  2544 	
  2545 	DATA_VTABLE
  2546 	    
  2547 	const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;}
  2548 	
  2549     public:
  2550 	CMDBRecordLink<CCDSCprRecord>	               iSCpr;
  2551 	CMDBRecordLink<CCDProtocolRecord>	       iProtocol;
  2552 	CMDBField<TMDBElementId>                       iProtocolConfig;
  2553 	CMDBRecordLink<CCDConfigAccessPointRecord>     iLayerBelow;
  2554 	
  2555     private:
  2556         static const SRecordTypeInfo* const iRecordInfo;
  2557 	};
  2558 
  2559 
  2560 //////////////////////////////////////////////////////////////////////////////////////
  2561 //  POLICY SELECTOR RECORD
  2562 //
  2563 /**
  2564 @publishedAll
  2565 @prototype
  2566 */
  2567 class CCDPolicySelectorRecord : public CCDRecordBase
  2568 	{
  2569 	public:
  2570 
  2571 		CCDPolicySelectorRecord();
  2572 		CCDPolicySelectorRecord(TMDBElementId aElementId);
  2573 
  2574         const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;}
  2575     
  2576     	DATA_VTABLE
  2577 
  2578 	public:
  2579 
  2580 		// Member Data
  2581 		CMDBField<TUint32>                    			iPolicyId;
  2582 	    CMDBField<TUid>                     			iAppUid;
  2583 		CMDBField<TDesC>                   				iSrcAddress;	// TInetAddr
  2584 		CMDBField<TDesC>                   				iSrcMask;		// TInetAddr
  2585 		CMDBField<TDesC>                   				iDstAddress;	// TInetAddr
  2586 		CMDBField<TDesC>                   				iDstMask;		// TInetAddr
  2587 		CMDBField<TInt>                        			iSrcPort;
  2588 		CMDBField<TInt>                        			iDstPort;
  2589 		CMDBField<TInt>                        			iSrcPortMax;
  2590 		CMDBField<TInt>                        			iDstPortMax;
  2591 		CMDBField<TUint32>                     			iProtocolId;
  2592 		CMDBField<TUint32>                     			iIapId;
  2593 		CMDBField<TInt>                        			iPriority;
  2594 
  2595     private:
  2596 
  2597         static const SRecordTypeInfo* const iRecordInfo;
  2598 	};
  2599 
  2600 
  2601 //////////////////////////////////////////////////////////////////////////////////////
  2602 //  POLICY SELECTOR 2 PARAMS RECORD
  2603 //
  2604 /**
  2605 This table is introduced to allow linking to multimpe tables, for chosen policy selection.
  2606 Params tables are GenericQos, UmtsR99QoSAndOnTableRecord
  2607 
  2608 @publishedAll
  2609 @prototype
  2610 */
  2611 class CCDPolicySelector2ParamsRecord : public CCDRecordBase
  2612 	{
  2613 	public:
  2614 
  2615 		CCDPolicySelector2ParamsRecord();
  2616 		CCDPolicySelector2ParamsRecord(TMDBElementId aElementId);
  2617 
  2618         const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;}
  2619     
  2620     	DATA_VTABLE
  2621 
  2622 	public:
  2623 
  2624 		// Member Data
  2625 		CMDBField<TUint32>                    			iPolicySelectorId;
  2626 		CMDBField<TUint32>                    			iParamsId;
  2627 
  2628     private:
  2629 
  2630         static const SRecordTypeInfo* const iRecordInfo;
  2631 	};
  2632 
  2633 //////////////////////////////////////////////////////////////////////////////////////
  2634 //  GENERIC QOS PARAMETER RECORD
  2635 //
  2636 /**
  2637 @publishedAll
  2638 @prototype
  2639 */
  2640 class CCDGenericQosRecord : public CCDParamsRecordBase
  2641 	{
  2642 	public:
  2643 
  2644 		CCDGenericQosRecord();
  2645 		CCDGenericQosRecord(TMDBElementId aElementId);
  2646 
  2647         const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;}
  2648     
  2649     	DATA_VTABLE
  2650 
  2651 	public:
  2652 
  2653 		// Member Data
  2654 		CMDBField<TInt>  iDownlinkBandwidth;
  2655 		CMDBField<TInt>  iUplinkBandwidth;
  2656 		CMDBField<TInt>  iDownLinkMaximumBurstSize;
  2657 		CMDBField<TInt>  iUpLinkMaximumBurstSize;
  2658 		CMDBField<TInt>  iDownLinkAveragePacketSize;
  2659 		CMDBField<TInt>  iUpLinkAveragePacketSize;
  2660 		CMDBField<TInt>  iDownLinkMaximumPacketSize;
  2661 		CMDBField<TInt>  iUpLinkMaximumPacketSize;
  2662 		CMDBField<TInt>  iDownLinkDelay;
  2663 		CMDBField<TInt>  iUpLinkDelay;
  2664 		CMDBField<TInt>  iDownLinkDelayVariation;
  2665 		CMDBField<TInt>  iUpLinkDelayVariation;
  2666 		CMDBField<TInt>  iDownLinkPriority;
  2667 		CMDBField<TInt>  iUpLinkPriority;
  2668 		CMDBField<TBool> iHeaderMode;
  2669 //		CMDBField<TDesC> iQosName;
  2670     private:
  2671 
  2672         static const SRecordTypeInfo* const iRecordInfo;
  2673 	};
  2674 
  2675 // need to preserve compatibility, soon to become internalTechnology
  2676 //#ifdef SYMBIAN_NETWORKING_WIFI
  2677 //////////////////////////////////////////////////////////////////////////////////////
  2678 //  WIFI SCANENGINE RECORD
  2679 //
  2680 /**
  2681 @publishedAll
  2682 @prototype
  2683 */
  2684 class CCDWifiScanEngineRecord : public CCDRecordBase
  2685 	{
  2686 	public:
  2687 
  2688 		CCDWifiScanEngineRecord();
  2689 		CCDWifiScanEngineRecord(TMDBElementId aElementId);
  2690 
  2691         const SRecordTypeInfo* GetRecordInfo(){return iRecordInfo;}
  2692     
  2693     	DATA_VTABLE
  2694 
  2695 	public:
  2696 
  2697 		// Member Data
  2698 		CMDBField<TUint32>  iScanPeriodMs;
  2699 		CMDBField<TUint32>  iRSSIMin;
  2700 		CMDBField<TUint32>  iRSSIMax;
  2701     private:
  2702 
  2703         static const SRecordTypeInfo* const iRecordInfo;
  2704 	};
  2705 //#endif //SYMBIAN_NETWORKING_WIFI
  2706 
  2707 #endif // SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
  2708 
  2709 } // end namespace CommsDat
  2710 
  2711 #endif
  2712 //COMMSDATTYPESV1_1_H