cmmanager/cmmgr/cmmplugins/cmpluginvpn/inc/cmpluginvpn.h
author hgs
Mon, 24 May 2010 20:51:35 +0300
changeset 32 5c4486441ae6
permissions -rw-r--r--
201021
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
32
hgs
parents:
diff changeset
     1
/*
hgs
parents:
diff changeset
     2
* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
hgs
parents:
diff changeset
     3
* All rights reserved.
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
hgs
parents:
diff changeset
     8
*
hgs
parents:
diff changeset
     9
* Initial Contributors:
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
hgs
parents:
diff changeset
    11
*
hgs
parents:
diff changeset
    12
* Contributors:
hgs
parents:
diff changeset
    13
*
hgs
parents:
diff changeset
    14
* Description: 
hgs
parents:
diff changeset
    15
*      Declaration of VPN CmManager plugin interface implementation 
hgs
parents:
diff changeset
    16
*      
hgs
parents:
diff changeset
    17
*
hgs
parents:
diff changeset
    18
*/
hgs
parents:
diff changeset
    19
hgs
parents:
diff changeset
    20
#ifndef CMPLUGINVPN_H
hgs
parents:
diff changeset
    21
#define CMPLUGINVPN_H
hgs
parents:
diff changeset
    22
hgs
parents:
diff changeset
    23
// INCLUDES
hgs
parents:
diff changeset
    24
#include <cmpluginbaseeng.h>
hgs
parents:
diff changeset
    25
#include <cmpluginvpndef.h>
hgs
parents:
diff changeset
    26
hgs
parents:
diff changeset
    27
// FORWARD DECLARATION
hgs
parents:
diff changeset
    28
class CCDVirtualIAPNextLayerRecord;
hgs
parents:
diff changeset
    29
hgs
parents:
diff changeset
    30
/**
hgs
parents:
diff changeset
    31
*  CCmPluginVpn defines the functionality of vpn bearer support.
hgs
parents:
diff changeset
    32
*  Most of the API is inherited from CCmPluginBaseEng class.
hgs
parents:
diff changeset
    33
*/
hgs
parents:
diff changeset
    34
NONSHARABLE_CLASS( CCmPluginVpn ) : public CCmPluginBaseEng
hgs
parents:
diff changeset
    35
    {
hgs
parents:
diff changeset
    36
    public: // Constructors and destructor
hgs
parents:
diff changeset
    37
        /**
hgs
parents:
diff changeset
    38
         * Two phased constructor.
hgs
parents:
diff changeset
    39
         * @return Returns the VPN plugin object.
hgs
parents:
diff changeset
    40
         */      
hgs
parents:
diff changeset
    41
		static CCmPluginVpn* NewL( TCmPluginInitParam* aInitParam );
hgs
parents:
diff changeset
    42
hgs
parents:
diff changeset
    43
        /**
hgs
parents:
diff changeset
    44
         * Destructor.
hgs
parents:
diff changeset
    45
         */      
hgs
parents:
diff changeset
    46
        virtual ~CCmPluginVpn();
hgs
parents:
diff changeset
    47
hgs
parents:
diff changeset
    48
    public: // From CCmPluginBaseEng
hgs
parents:
diff changeset
    49
        /**
hgs
parents:
diff changeset
    50
         * Creates a new instance of VPN bearer plugin. The instance
hgs
parents:
diff changeset
    51
         * created represents a bearer, not a connection method.
hgs
parents:
diff changeset
    52
         * @param aInitParam Initialization data.
hgs
parents:
diff changeset
    53
         * @return Returns CCmPluginBaseEng type pointer which represents pure
hgs
parents:
diff changeset
    54
         * bearer instance for the cmm server.
hgs
parents:
diff changeset
    55
         */
hgs
parents:
diff changeset
    56
        virtual CCmPluginBaseEng* CreateInstanceL( 
hgs
parents:
diff changeset
    57
                TCmPluginInitParam& aInitParam ) const;
hgs
parents:
diff changeset
    58
                
hgs
parents:
diff changeset
    59
        /**
hgs
parents:
diff changeset
    60
         * Following GetBearerInfoXXXL methods return the values of the 
hgs
parents:
diff changeset
    61
         * requested attributes. These values are bearerspecific so they
hgs
parents:
diff changeset
    62
         * don't vary between CMs with same bearer type.
hgs
parents:
diff changeset
    63
         * @param aAttribute An attribute identifier.
hgs
parents:
diff changeset
    64
         * @return Returns the value requested. If not found leaves with
hgs
parents:
diff changeset
    65
         * KErrNotFound error code. 
hgs
parents:
diff changeset
    66
         */
hgs
parents:
diff changeset
    67
        virtual TUint32 GetBearerInfoIntL( TUint32 aAttribute ) const;
hgs
parents:
diff changeset
    68
        
hgs
parents:
diff changeset
    69
        virtual TBool GetBearerInfoBoolL( TUint32 aAttribute ) const;
hgs
parents:
diff changeset
    70
hgs
parents:
diff changeset
    71
        virtual HBufC* GetBearerInfoStringL( TUint32 aAttribute ) const;
hgs
parents:
diff changeset
    72
        
hgs
parents:
diff changeset
    73
        virtual HBufC8* GetBearerInfoString8L( TUint32 aAttribute ) const;
hgs
parents:
diff changeset
    74
hgs
parents:
diff changeset
    75
        /**
hgs
parents:
diff changeset
    76
         * Checks if the plug-in can handle the Connection Method identified
hgs
parents:
diff changeset
    77
         * with parameter aIapId.
hgs
parents:
diff changeset
    78
         * @param aIapId IAPId of the AP to be checked
hgs
parents:
diff changeset
    79
         * @return ETrue if plug-in can handle the IAP, otherwise EFalse.
hgs
parents:
diff changeset
    80
         */
hgs
parents:
diff changeset
    81
        TBool CanHandleIapIdL( TUint32 aIapId ) const;
hgs
parents:
diff changeset
    82
         
hgs
parents:
diff changeset
    83
        /**
hgs
parents:
diff changeset
    84
         * Checks if the plug-in can handle the given IAP record.
hgs
parents:
diff changeset
    85
         * @param aIapRecord IAP record to be checked
hgs
parents:
diff changeset
    86
         * @return ETrue if plug-in can handle the IAP, otherwise EFalse.
hgs
parents:
diff changeset
    87
         */
hgs
parents:
diff changeset
    88
        TBool CanHandleIapIdL( CommsDat::CCDIAPRecord* aIapRecord ) const;
hgs
parents:
diff changeset
    89
hgs
parents:
diff changeset
    90
        /**
hgs
parents:
diff changeset
    91
         * Requests CommsDat table ids to be observed for changes by the cmm
hgs
parents:
diff changeset
    92
         * server. If a table used is not mentioned to be modified a bearer
hgs
parents:
diff changeset
    93
         * shouldn't return this. Bearers do not reset the array before adding
hgs
parents:
diff changeset
    94
         * ids.
hgs
parents:
diff changeset
    95
         * @param aTableIdArray A reference to an array where plugin must add
hgs
parents:
diff changeset
    96
         * the ids of the tables it want's to be observed.
hgs
parents:
diff changeset
    97
         */
hgs
parents:
diff changeset
    98
        void GetBearerTableIdsToBeObservedL( RArray<TUint32>& aTableIdArray ) const;
hgs
parents:
diff changeset
    99
hgs
parents:
diff changeset
   100
        
hgs
parents:
diff changeset
   101
        /**
hgs
parents:
diff changeset
   102
         * Creates a copy of all bearer specific CommsDat data for the client.
hgs
parents:
diff changeset
   103
         * Called as result of GetPluginDataL().
hgs
parents:
diff changeset
   104
         * @param aRecordArray An array where the copy the records. Only 
hgs
parents:
diff changeset
   105
         * the bearer specific implementation knows the amount and order
hgs
parents:
diff changeset
   106
         * of these records in the array.
hgs
parents:
diff changeset
   107
         */
hgs
parents:
diff changeset
   108
        virtual void GetBearerSpecificRecordsL( 
hgs
parents:
diff changeset
   109
                RPointerArray<CommsDat::CCDRecordBase>& aRecordArray );
hgs
parents:
diff changeset
   110
hgs
parents:
diff changeset
   111
        /**
hgs
parents:
diff changeset
   112
         * Following GetBearerXXXXAttribute methods get only the
hgs
parents:
diff changeset
   113
         * fields in records in pointer arrays(parameters).
hgs
parents:
diff changeset
   114
         * @param aAttribute Identifier of the requested value.
hgs
parents:
diff changeset
   115
         * @param aGenRecordArray An array containing pointers to generic 
hgs
parents:
diff changeset
   116
         * records of the Connection Method.
hgs
parents:
diff changeset
   117
         * @param aBearerSpecRecordArray An array containing pointers to bearer
hgs
parents:
diff changeset
   118
         * specific records of the Connection Method. aAttribute
hgs
parents:
diff changeset
   119
         * parameter should identify one field(integer, boolean string)
hgs
parents:
diff changeset
   120
         * in one of these records. 
hgs
parents:
diff changeset
   121
         * @return Returns the requested value. In error case leaves with 
hgs
parents:
diff changeset
   122
         * system-wide error code.
hgs
parents:
diff changeset
   123
         */
hgs
parents:
diff changeset
   124
hgs
parents:
diff changeset
   125
        virtual TUint32 GetBearerIntAttributeL( 
hgs
parents:
diff changeset
   126
                TUint32 aAttribute, 
hgs
parents:
diff changeset
   127
                RPointerArray<CommsDat::CCDRecordBase>& aGenRecordArray,
hgs
parents:
diff changeset
   128
                RPointerArray<CommsDat::CCDRecordBase>& aBearerSpecRecordArray );
hgs
parents:
diff changeset
   129
        
hgs
parents:
diff changeset
   130
        virtual TBool GetBearerBoolAttributeL( 
hgs
parents:
diff changeset
   131
                TUint32 aAttribute, 
hgs
parents:
diff changeset
   132
                RPointerArray<CommsDat::CCDRecordBase>& aGenRecordArray,
hgs
parents:
diff changeset
   133
                RPointerArray<CommsDat::CCDRecordBase>& aBearerSpecRecordArray );
hgs
parents:
diff changeset
   134
                                         
hgs
parents:
diff changeset
   135
        virtual HBufC* GetBearerStringAttributeL( 
hgs
parents:
diff changeset
   136
                TUint32 aAttribute, 
hgs
parents:
diff changeset
   137
                RPointerArray<CommsDat::CCDRecordBase>& aGenRecordArray,
hgs
parents:
diff changeset
   138
                RPointerArray<CommsDat::CCDRecordBase>& aBearerSpecRecordArray );
hgs
parents:
diff changeset
   139
        
hgs
parents:
diff changeset
   140
        virtual HBufC8* GetBearerString8AttributeL( 
hgs
parents:
diff changeset
   141
                TUint32 aAttribute, 
hgs
parents:
diff changeset
   142
                RPointerArray<CommsDat::CCDRecordBase>& aGenRecordArray,
hgs
parents:
diff changeset
   143
                RPointerArray<CommsDat::CCDRecordBase>& aBearerSpecRecordArray );
hgs
parents:
diff changeset
   144
hgs
parents:
diff changeset
   145
        /**
hgs
parents:
diff changeset
   146
         * Following SetBearerXXXXAttribute methods set only the
hgs
parents:
diff changeset
   147
         * fields in records in pointer arrays(parameters). They are not 
hgs
parents:
diff changeset
   148
         * allowed to update the original records in plugins.
hgs
parents:
diff changeset
   149
         * @param aAttribute Identifier of the field to set.
hgs
parents:
diff changeset
   150
         * @param aValue The value to set.
hgs
parents:
diff changeset
   151
         * @param aGenRecordArray An array containing pointers to generic 
hgs
parents:
diff changeset
   152
         * records of the Connection Method.
hgs
parents:
diff changeset
   153
         * @param aBearerSpecRecordArray An array containing pointers to bearer
hgs
parents:
diff changeset
   154
         * specific records of the Connection Method. aAttribute
hgs
parents:
diff changeset
   155
         * parameter should identify one field(integer, boolean string)
hgs
parents:
diff changeset
   156
         * in one of these records. 
hgs
parents:
diff changeset
   157
         * @return None.
hgs
parents:
diff changeset
   158
         */
hgs
parents:
diff changeset
   159
hgs
parents:
diff changeset
   160
        virtual void SetBearerIntAttributeL( 
hgs
parents:
diff changeset
   161
                TUint32 aAttribute, 
hgs
parents:
diff changeset
   162
                TUint32 aValue, 
hgs
parents:
diff changeset
   163
                RPointerArray<CommsDat::CCDRecordBase>& aGenRecordArray,
hgs
parents:
diff changeset
   164
                RPointerArray<CommsDat::CCDRecordBase>& aBearerSpecRecordArray );
hgs
parents:
diff changeset
   165
        
hgs
parents:
diff changeset
   166
        virtual void SetBearerBoolAttributeL( 
hgs
parents:
diff changeset
   167
                TUint32 aAttribute, 
hgs
parents:
diff changeset
   168
                TBool aValue,
hgs
parents:
diff changeset
   169
                RPointerArray<CommsDat::CCDRecordBase>& aGenRecordArray,
hgs
parents:
diff changeset
   170
                RPointerArray<CommsDat::CCDRecordBase>& aBearerSpecRecordArray );
hgs
parents:
diff changeset
   171
                                         
hgs
parents:
diff changeset
   172
        virtual void SetBearerStringAttributeL( 
hgs
parents:
diff changeset
   173
                TUint32 aAttribute, 
hgs
parents:
diff changeset
   174
                const TDesC16& aValue,
hgs
parents:
diff changeset
   175
                RPointerArray<CommsDat::CCDRecordBase>& aGenRecordArray,
hgs
parents:
diff changeset
   176
                RPointerArray<CommsDat::CCDRecordBase>& aBearerSpecRecordArray );
hgs
parents:
diff changeset
   177
hgs
parents:
diff changeset
   178
        virtual void SetBearerString8AttributeL( 
hgs
parents:
diff changeset
   179
                TUint32 aAttribute, 
hgs
parents:
diff changeset
   180
                const TDesC8& aValue,                                                    
hgs
parents:
diff changeset
   181
                RPointerArray<CommsDat::CCDRecordBase>& aGenRecordArray,
hgs
parents:
diff changeset
   182
                RPointerArray<CommsDat::CCDRecordBase>& aBearerSpecRecordArray );
hgs
parents:
diff changeset
   183
hgs
parents:
diff changeset
   184
        /**
hgs
parents:
diff changeset
   185
         * Inherited from CCmPluginBaseEng. 
hgs
parents:
diff changeset
   186
         * Implementation is empty.
hgs
parents:
diff changeset
   187
         */
hgs
parents:
diff changeset
   188
        virtual void PreparePluginToLoadRecordsL();
hgs
parents:
diff changeset
   189
        
hgs
parents:
diff changeset
   190
        /**
hgs
parents:
diff changeset
   191
         * Inherited from CCmPluginBaseEng. 
hgs
parents:
diff changeset
   192
         * Implementation is empty.
hgs
parents:
diff changeset
   193
         * @param aCopyInstance Client side data instance.
hgs
parents:
diff changeset
   194
         */
hgs
parents:
diff changeset
   195
        virtual void PrepareToCopyDataL( CCmPluginBaseEng* aCopyInstance );
hgs
parents:
diff changeset
   196
hgs
parents:
diff changeset
   197
        /**
hgs
parents:
diff changeset
   198
         * Inherited from CCmPluginBaseEng. 
hgs
parents:
diff changeset
   199
         * Implementation is empty.
hgs
parents:
diff changeset
   200
         * @param aGenRecordArray Reference to generic records pointer array.
hgs
parents:
diff changeset
   201
         * @param aBearerSpecRecordArray Reference to bearer specific records 
hgs
parents:
diff changeset
   202
         * pointer array.
hgs
parents:
diff changeset
   203
         */
hgs
parents:
diff changeset
   204
        virtual void PreparePluginToUpdateRecordsL(
hgs
parents:
diff changeset
   205
                RPointerArray<CommsDat::CCDRecordBase>& aGenRecordArray,
hgs
parents:
diff changeset
   206
                RPointerArray<CommsDat::CCDRecordBase>& aBearerSpecRecordArray );
hgs
parents:
diff changeset
   207
hgs
parents:
diff changeset
   208
        /**
hgs
parents:
diff changeset
   209
         * Plugin can prepare to delete the Connection Method with this 
hgs
parents:
diff changeset
   210
         * function. Called from DeleteL() before any record would be 
hgs
parents:
diff changeset
   211
         * deleted. No records are deleted here.
hgs
parents:
diff changeset
   212
         */
hgs
parents:
diff changeset
   213
        virtual void PrepareToDeleteRecordsL();
hgs
parents:
diff changeset
   214
hgs
parents:
diff changeset
   215
        /**
hgs
parents:
diff changeset
   216
         * Loads the service record. Service record type is known and loaded by 
hgs
parents:
diff changeset
   217
         * plugin(bearer specific) part of the implementation even if the record
hgs
parents:
diff changeset
   218
         * is saved to the generic side. Service record is linked to IAP record.
hgs
parents:
diff changeset
   219
         */
hgs
parents:
diff changeset
   220
        virtual void LoadServiceRecordL();
hgs
parents:
diff changeset
   221
hgs
parents:
diff changeset
   222
        /**
hgs
parents:
diff changeset
   223
         * Creates the service records.
hgs
parents:
diff changeset
   224
         */
hgs
parents:
diff changeset
   225
        virtual void CreateServiceRecordL();
hgs
parents:
diff changeset
   226
hgs
parents:
diff changeset
   227
        /**
hgs
parents:
diff changeset
   228
         * Update service record.
hgs
parents:
diff changeset
   229
         * @param aGenRecordArray Reference to generic records pointer array.
hgs
parents:
diff changeset
   230
         * @param aBearerSpecRecordArray Reference to bearer specific records 
hgs
parents:
diff changeset
   231
         * pointer array.
hgs
parents:
diff changeset
   232
         */
hgs
parents:
diff changeset
   233
        virtual void UpdateServiceRecordL( 
hgs
parents:
diff changeset
   234
                RPointerArray<CommsDat::CCDRecordBase>& aGenRecordArray,
hgs
parents:
diff changeset
   235
                RPointerArray<CommsDat::CCDRecordBase>& aBearerSpecRecordArray );
hgs
parents:
diff changeset
   236
hgs
parents:
diff changeset
   237
        /**
hgs
parents:
diff changeset
   238
         * Copies the service record. Bearer specific part knows the type of it's
hgs
parents:
diff changeset
   239
         * service record.
hgs
parents:
diff changeset
   240
         * @return Returns the service record pointer. 
hgs
parents:
diff changeset
   241
         */
hgs
parents:
diff changeset
   242
        virtual CommsDat::CCDRecordBase* CopyServiceRecordL();
hgs
parents:
diff changeset
   243
hgs
parents:
diff changeset
   244
        /**
hgs
parents:
diff changeset
   245
         * Returns the service record id of the Connection Method.
hgs
parents:
diff changeset
   246
         * @return Returns the id of the service record id of the Connection Method.
hgs
parents:
diff changeset
   247
         */
hgs
parents:
diff changeset
   248
        virtual TUint32 ServiceRecordId() const;
hgs
parents:
diff changeset
   249
hgs
parents:
diff changeset
   250
        /**
hgs
parents:
diff changeset
   251
         * Returns the service record name of the Connection Method.
hgs
parents:
diff changeset
   252
         * @param aServiceName Name of the service record the CM's iap record 
hgs
parents:
diff changeset
   253
         * points to.
hgs
parents:
diff changeset
   254
         */
hgs
parents:
diff changeset
   255
        virtual void ServiceRecordNameLC( HBufC* &aServiceName );
hgs
parents:
diff changeset
   256
hgs
parents:
diff changeset
   257
        /**
hgs
parents:
diff changeset
   258
         * Inherited class loads all the bearer specific records after 
hgs
parents:
diff changeset
   259
         * loading generic records. Called from LoadL(). 
hgs
parents:
diff changeset
   260
         */
hgs
parents:
diff changeset
   261
        virtual void LoadBearerRecordsL();
hgs
parents:
diff changeset
   262
hgs
parents:
diff changeset
   263
        /**
hgs
parents:
diff changeset
   264
         * Creates bearer specific records.
hgs
parents:
diff changeset
   265
         */
hgs
parents:
diff changeset
   266
        virtual void CreateBearerRecordsL();
hgs
parents:
diff changeset
   267
hgs
parents:
diff changeset
   268
        /**
hgs
parents:
diff changeset
   269
         * Update bearer specific records.
hgs
parents:
diff changeset
   270
         * @param aGenRecordArray Reference to generic records pointer array.
hgs
parents:
diff changeset
   271
         * @param aBearerSpecRecordArray Reference to bearer specific records 
hgs
parents:
diff changeset
   272
         */
hgs
parents:
diff changeset
   273
        virtual void UpdateBearerRecordsL( 
hgs
parents:
diff changeset
   274
                RPointerArray<CommsDat::CCDRecordBase>& aGenRecordArray,
hgs
parents:
diff changeset
   275
                RPointerArray<CommsDat::CCDRecordBase>& aBearerSpecRecordArray );
hgs
parents:
diff changeset
   276
hgs
parents:
diff changeset
   277
        /**
hgs
parents:
diff changeset
   278
         * Plugin(generic part) can delete bearer specific records
hgs
parents:
diff changeset
   279
         * with this function. Called from DeleteL().
hgs
parents:
diff changeset
   280
         */
hgs
parents:
diff changeset
   281
        virtual void DeleteBearerRecordsL();
hgs
parents:
diff changeset
   282
hgs
parents:
diff changeset
   283
         /** 
hgs
parents:
diff changeset
   284
          * Resets the bearer specific records. 
hgs
parents:
diff changeset
   285
          */
hgs
parents:
diff changeset
   286
         virtual void ResetBearerRecords();
hgs
parents:
diff changeset
   287
hgs
parents:
diff changeset
   288
        /**
hgs
parents:
diff changeset
   289
         * Copies the bearer specific records to copy instance given as 
hgs
parents:
diff changeset
   290
         * parameter. 
hgs
parents:
diff changeset
   291
         * @param aCopyInstance Pointer to instance where to copy.
hgs
parents:
diff changeset
   292
         */
hgs
parents:
diff changeset
   293
        virtual void CopyBearerRecordsL( CCmPluginBaseEng* aCopyInstance );
hgs
parents:
diff changeset
   294
hgs
parents:
diff changeset
   295
        /**
hgs
parents:
diff changeset
   296
         * Returns the bearer record id of the Connection Method.
hgs
parents:
diff changeset
   297
         * @param aRecordId Id of the bearer record this CM's iap record 
hgs
parents:
diff changeset
   298
         * points to.
hgs
parents:
diff changeset
   299
         */
hgs
parents:
diff changeset
   300
        virtual void BearerRecordIdL( TUint32& aRecordId );
hgs
parents:
diff changeset
   301
hgs
parents:
diff changeset
   302
        /**
hgs
parents:
diff changeset
   303
         * Returns the bearer record name of the Connection Method.
hgs
parents:
diff changeset
   304
         * @param aBearerName Name of the bearer record this CM's iap record 
hgs
parents:
diff changeset
   305
         * points to.
hgs
parents:
diff changeset
   306
         */
hgs
parents:
diff changeset
   307
        virtual void BearerRecordNameLC( HBufC* &aBearerName );
hgs
parents:
diff changeset
   308
hgs
parents:
diff changeset
   309
        
hgs
parents:
diff changeset
   310
    private: // Constructors
hgs
parents:
diff changeset
   311
        /**
hgs
parents:
diff changeset
   312
        * Constructor.
hgs
parents:
diff changeset
   313
        */      
hgs
parents:
diff changeset
   314
		CCmPluginVpn( TCmPluginInitParam* aInitParam );
hgs
parents:
diff changeset
   315
hgs
parents:
diff changeset
   316
        /**
hgs
parents:
diff changeset
   317
        * Second phase constructor. Leaves on failure.
hgs
parents:
diff changeset
   318
        */      
hgs
parents:
diff changeset
   319
		void ConstructL();   
hgs
parents:
diff changeset
   320
		
hgs
parents:
diff changeset
   321
		/**
hgs
parents:
diff changeset
   322
		 * Gets the default priority and default UI priority 
hgs
parents:
diff changeset
   323
		 * from the CommsDat.
hgs
parents:
diff changeset
   324
		 */
hgs
parents:
diff changeset
   325
		TUint32 GetDefPriorityL( const TUint32 aAttribute ) const;
hgs
parents:
diff changeset
   326
		
hgs
parents:
diff changeset
   327
		/**
hgs
parents:
diff changeset
   328
		 * Gets the virtual bearer record from the CommsDat.
hgs
parents:
diff changeset
   329
		 */
hgs
parents:
diff changeset
   330
		CommsDat::CCDVirtualBearerRecord* GetVirtualBearerRecordLC() const;
hgs
parents:
diff changeset
   331
		
hgs
parents:
diff changeset
   332
		/**
hgs
parents:
diff changeset
   333
		 * Type casts the service record in the base class to 
hgs
parents:
diff changeset
   334
		 * CommsDat::CCDVPNServiceRecord type. 
hgs
parents:
diff changeset
   335
		 */
hgs
parents:
diff changeset
   336
		CommsDat::CCDVPNServiceRecord& ServiceRecord() const;
hgs
parents:
diff changeset
   337
		
hgs
parents:
diff changeset
   338
		/**
hgs
parents:
diff changeset
   339
		 * Virtual table Id
hgs
parents:
diff changeset
   340
		 */
hgs
parents:
diff changeset
   341
		CommsDat::TMDBElementId                 iVirtualTableId;
hgs
parents:
diff changeset
   342
		
hgs
parents:
diff changeset
   343
		/**
hgs
parents:
diff changeset
   344
		 * Bearer priority table id
hgs
parents:
diff changeset
   345
		 */
hgs
parents:
diff changeset
   346
		CommsDat::TMDBElementId                 iBearerPriorityTableId;
hgs
parents:
diff changeset
   347
		
hgs
parents:
diff changeset
   348
		/**
hgs
parents:
diff changeset
   349
		 * Virtual IAP next layer record
hgs
parents:
diff changeset
   350
		 */
hgs
parents:
diff changeset
   351
		CCDVirtualIAPNextLayerRecord*           iVirtualIapNextLayerRecord;
hgs
parents:
diff changeset
   352
    };
hgs
parents:
diff changeset
   353
    
hgs
parents:
diff changeset
   354
#endif //CMPLUGINVPN_H