omacpadapters/accesspointadapter/Src/CWPAPAccesspointItem.cpp
author hgs
Fri, 17 Sep 2010 19:58:05 +0530
changeset 62 03849bd79877
parent 47 d316aecb87fd
permissions -rw-r--r--
201037
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
47
d316aecb87fd 201025_02
hgs
parents:
diff changeset
     1
/*
d316aecb87fd 201025_02
hgs
parents:
diff changeset
     2
* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
d316aecb87fd 201025_02
hgs
parents:
diff changeset
     3
* All rights reserved.
d316aecb87fd 201025_02
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
d316aecb87fd 201025_02
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
d316aecb87fd 201025_02
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
d316aecb87fd 201025_02
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
d316aecb87fd 201025_02
hgs
parents:
diff changeset
     8
*
d316aecb87fd 201025_02
hgs
parents:
diff changeset
     9
* Initial Contributors:
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    11
*
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    12
* Contributors:
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    13
*
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    14
* Description:   Class stores data for one accesspoint
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    15
*
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    16
*/
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    17
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    18
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    19
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    20
// INCLUDE FILES
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    21
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    22
#include "CWPAPAccesspointItem.h"		// Own header
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    23
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    24
#include <CWPCharacteristic.h>
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    25
#include <CWPParameter.h>
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    26
#include <CWPAdapter.h>
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    27
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    28
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    29
#include <bldvariant.hrh>
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    30
#include <featmgr.h>					// Feature manager
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    31
#include <CWPAdapter.h>					// Leave code for protected	
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    32
#include "CWPAPItemBase.h"
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    33
#include "CWPAPNapdef.h"
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    34
#include "WPAPAdapter.pan"
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    35
#include "ProvisioningDebug.h"
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    36
#include <cmconnectionmethodext.h>
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    37
#include <cmmanagerext.h>
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    38
#include <cmpluginpacketdatadef.h> 
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    39
#include <cmpluginwlandef.h>
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    40
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    41
// ============================ MEMBER FUNCTIONS ===============================
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    42
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    43
// -----------------------------------------------------------------------------
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    44
// CWPAPAccesspointItem::NewLC
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    45
// -----------------------------------------------------------------------------
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    46
CWPAPAccesspointItem* CWPAPAccesspointItem::NewLC(
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    47
                                            const TDesC& aDefaultName,
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    48
                                            CWPAPItemBase* aLogicalProxy,
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    49
                                            CWPAPItemBase* aPhysicalProxy,
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    50
                                            CWPAPItemBase* aNapdef,
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    51
                                            CWPCharacteristic& aCharacteristic )
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    52
	{
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    53
	CWPAPAccesspointItem* self = 
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    54
                        new(ELeave) CWPAPAccesspointItem( aDefaultName, 
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    55
                                                          aLogicalProxy,
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    56
                                                          aPhysicalProxy,
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    57
                                                          aNapdef,
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    58
                                                          aCharacteristic ); 
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    59
	CleanupStack::PushL( self );
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    60
	self->ConstructL();
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    61
	return self;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    62
	}
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    63
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    64
// -----------------------------------------------------------------------------
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    65
// Destructor
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    66
// -----------------------------------------------------------------------------
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    67
CWPAPAccesspointItem::~CWPAPAccesspointItem()
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    68
	{
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    69
	}
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    70
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    71
// -----------------------------------------------------------------------------
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    72
// CWPAPAccesspointItem::Name
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    73
// -----------------------------------------------------------------------------
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    74
//
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    75
const TDesC& CWPAPAccesspointItem::Name() const
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    76
	{
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    77
	if ( iLogicalProxy && iLogicalProxy->Name() != KNullDesC )
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    78
        {
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    79
        return iLogicalProxy->Name();
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    80
		}
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    81
    else if( iPhysicalProxy && iPhysicalProxy->Name() != KNullDesC )
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    82
        {
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    83
        return iPhysicalProxy->Name();
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    84
        }
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    85
    else if( iNapdef && iNapdef->Name() != KNullDesC )
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    86
        {
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    87
        return iNapdef->Name();
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    88
        }
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    89
	else
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    90
		{
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    91
		return iDefaultName;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    92
		}
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    93
	}
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    94
// -----------------------------------------------------------------------------
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    95
// CWPAPAccesspointItem::NapDef
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    96
// -----------------------------------------------------------------------------
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    97
//
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    98
CWPAPItemBase* CWPAPAccesspointItem::NapDef()
d316aecb87fd 201025_02
hgs
parents:
diff changeset
    99
	{
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   100
	return iNapdef;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   101
	}
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   102
	
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   103
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   104
// -----------------------------------------------------------------------------
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   105
// CWPAPAccesspointItem::SetCMManager
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   106
// -----------------------------------------------------------------------------
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   107
//
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   108
void CWPAPAccesspointItem::SetCMManager( RCmManagerExt* aCm )
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   109
	{
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   110
	iCmManager = aCm;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   111
	}
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   112
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   113
// -----------------------------------------------------------------------------
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   114
// CWPAPAccesspointItem::Characteristic
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   115
// -----------------------------------------------------------------------------
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   116
//
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   117
TInt CWPAPAccesspointItem::Characteristic()
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   118
	{
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   119
	return iCharacteristic.Type();
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   120
	}
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   121
	
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   122
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   123
// -----------------------------------------------------------------------------
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   124
// CWPAPAccesspointItem::SaveL
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   125
// -----------------------------------------------------------------------------
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   126
//
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   127
TUint32 CWPAPAccesspointItem::SaveL( CCommsDatabase& aCommsDb )
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   128
	{
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   129
	FLOG( _L( "[AccessPointAdapter] CWPAPAccesspointItem::SaveL:" ) );
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   130
	
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   131
	if ( FeatureManager::FeatureSupported( KFeatureIdSettingsProtection ) )
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   132
		{
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   133
		// This protection check is no longer needed since CMManager 
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   134
		// initiates the transactions to the database
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   135
		/*if( CApProtHandler::IsTableProtectedL( &aCommsDb ) )
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   136
			{
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   137
			// Table protected -> leave with specific code.
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   138
			User::Leave( EWPAccessPointsProtected );
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   139
			}*/	
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   140
		}
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   141
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   142
	  TUint32 iap = 0;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   143
    TRAPD( err,iap = StoreL( aCommsDb ) );
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   144
    if( err == KErrLocked )
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   145
        {
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   146
        err = EWPCommsDBLocked;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   147
        }
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   148
    User::LeaveIfError( err );
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   149
    return iap;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   150
	}
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   151
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   152
// -----------------------------------------------------------------------------
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   153
// CWPAPAccesspointItem::StoreL
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   154
// -----------------------------------------------------------------------------
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   155
//
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   156
TUint32 CWPAPAccesspointItem::StoreL( CCommsDatabase& aCommsDb )
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   157
	{
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   158
	FLOG( _L( "[AccessPointAdapter] CWPAPAccesspointItem::StoreL:" ) );
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   159
    
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   160
    // CMManager
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   161
    // Create the cmIten, give the bearer as parameter if it is available
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   162
    RCmConnectionMethodExt cmItem;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   163
    TBool created = EFalse;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   164
    TUint bearer;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   165
    TInt err(KErrNone);
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   166
    
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   167
    // If the NapDef object exists and the bearer is defined, then we can
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   168
    // create the connection method using the bearer
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   169
    if ( iNapdef != NULL )
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   170
    	{
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   171
    	bearer = static_cast<CWPAPNapdef*>(iNapdef)->Bearer();
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   172
    	if ( bearer != 0 )
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   173
    		{
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   174
    		cmItem = iCmManager->CreateConnectionMethodL(bearer);
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   175
    		created = ETrue;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   176
    		}
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   177
    	}
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   178
    	
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   179
    // If the bearer id is not known we will use packet data
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   180
    if ( !created)
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   181
    	{
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   182
    	cmItem = iCmManager->CreateConnectionMethodL(KUidPacketDataBearerType);
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   183
    	}
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   184
    // Create the connection method into the DB
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   185
    TRAP( err,cmItem.UpdateL() );
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   186
    // Leave if the creation fails for some reason
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   187
    if(err!=KErrNone)
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   188
		{
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   189
       	User::Leave(err);
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   190
       	}
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   191
       
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   192
    if( iNapdef )
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   193
        {
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   194
        FLOG( _L( "[AccessPointAdapter] CWPAPAccesspointItem::StoreL: napdef" ) );
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   195
        
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   196
        // CMManager 
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   197
        TRAP (err, iNapdef->AddDataL( cmItem ));
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   198
       	TRAP ( err,cmItem.UpdateL() );
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   199
       	// Leave if the update of the parameters fails
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   200
    	if(err!=KErrNone)
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   201
			{
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   202
       		User::Leave(err);
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   203
       		}
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   204
        }
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   205
        
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   206
    if( iLogicalProxy )
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   207
        {
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   208
        FLOG( _L( "[AccessPointAdapter] CWPAPAccesspointItem::StoreL: logicalproxy" ) );
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   209
        // CMManager 
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   210
        iLogicalProxy->AddDataL( cmItem );
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   211
        TRAP( err,cmItem.UpdateL() );
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   212
        // Leave if the update of the parameters fails
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   213
    	if(err!=KErrNone)
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   214
			{
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   215
       		User::Leave(err);
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   216
       		}
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   217
        }
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   218
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   219
    if( iPhysicalProxy )
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   220
        {
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   221
        FLOG( _L( "[AccessPointAdapter] CWPAPAccesspointItem::StoreL: physicalproxy" ) );
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   222
        // CMManager 
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   223
        iPhysicalProxy->AddDataL( cmItem );
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   224
        TRAP( err,cmItem.UpdateL() );
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   225
        // Leave if the update of the parameters fails
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   226
    	if(err!=KErrNone)
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   227
			{
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   228
       		User::Leave(err);
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   229
       		}
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   230
        }
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   231
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   232
    FLOG( _L( "[AccessPointAdapter] CWPAPAccesspointItem::StoreL: cmItem.UpdateL" ) );
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   233
    
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   234
    // CMManager
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   235
    iUid = cmItem.GetIntAttributeL( CMManager::ECmWapId );
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   236
    
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   237
    TInt test( KErrNone );
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   238
    // Update parameter data to CM
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   239
    TRAP( test,cmItem.UpdateL() );
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   240
    FTRACE(RDebug::Print(_L("[AccessPointAdapter] CWPAPAccesspointItem::StoreL: UpdateL err: %d"), test ));
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   241
    
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   242
    TUint32 cmId = cmItem.GetIntAttributeL( CMManager::ECmId ); 
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   243
    cmItem.Close();
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   244
    
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   245
	if( iNapdef )
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   246
    	{
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   247
		iNapdef->UpdateLingerL(iUid());
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   248
    	}
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   249
       
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   250
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   251
    FLOG( _L( "[AccessPointAdapter] CWPAPAccesspointItem::StoreL: SaveWlanDataL" ) );
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   252
    if( iNapdef )
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   253
        { 
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   254
        // Give CMManager pointer and save WLAN data
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   255
		static_cast<CWPAPNapdef*>(iNapdef)->SetCMManager( iCmManager );
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   256
        iNapdef->SaveWlanDataL( cmId, aCommsDb );
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   257
        }
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   258
    
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   259
    
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   260
    TInt i( 0 );
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   261
    TPtrC8 data( iCharacteristic.Data(i) );
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   262
    while( data != KNullDesC8 )
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   263
        {
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   264
        i++;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   265
        data.Set( iCharacteristic.Data(i) );
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   266
        }
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   267
        
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   268
    iCharacteristic.SetDataL( iUid, i );
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   269
    
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   270
    FLOG( _L( "[AccessPointAdapter] CWPAPAccesspointItem::StoreL: done" ) );
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   271
    return iUid();
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   272
    }
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   273
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   274
// -----------------------------------------------------------------------------
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   275
// CWPAPAccesspointItem::Uid
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   276
// -----------------------------------------------------------------------------
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   277
//
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   278
const TDesC8& CWPAPAccesspointItem::Uid() const
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   279
	{
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   280
    return iUid;
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   281
    }
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   282
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   283
// -----------------------------------------------------------------------------
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   284
// CWPAPAccesspointItem::DeleteUidData
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   285
// -----------------------------------------------------------------------------
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   286
//
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   287
void CWPAPAccesspointItem::DeleteUidData() const
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   288
	{
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   289
    iCharacteristic.DeleteAllData();
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   290
    }
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   291
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   292
// -----------------------------------------------------------------------------
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   293
// CWPAPAccesspointItem::CWPAPAccesspointItem
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   294
// C++ default constructor can NOT contain any code, that
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   295
// might leave.
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   296
// -----------------------------------------------------------------------------
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   297
//
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   298
CWPAPAccesspointItem::CWPAPAccesspointItem( const TDesC& aDefaultName,
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   299
                                            CWPAPItemBase* aLogicalProxy,
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   300
                                            CWPAPItemBase* aPhysicalProxy,
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   301
                                            CWPAPItemBase* aNapdef,
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   302
                                            CWPCharacteristic& aCharacteristic )
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   303
                                        : iDefaultName( aDefaultName ),
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   304
                                          iNapdef( aNapdef ),
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   305
                                          iPhysicalProxy( aPhysicalProxy ),
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   306
                                          iLogicalProxy( aLogicalProxy ),
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   307
                                          iCharacteristic( aCharacteristic )
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   308
	{
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   309
	}
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   310
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   311
// -----------------------------------------------------------------------------
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   312
// CWPAPAccesspointItem::ConstructL
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   313
// Symbian 2nd phase constructor can leave.
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   314
// -----------------------------------------------------------------------------
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   315
//
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   316
void CWPAPAccesspointItem::ConstructL()
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   317
	{
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   318
	}
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   319
d316aecb87fd 201025_02
hgs
parents:
diff changeset
   320
//  End of File