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