--- a/omaprovisioning/provisioning/accesspointadapter/Src/CWPAPPhysicalProxy.cpp Thu Aug 19 10:44:50 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,349 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Defines a class, which holds physical proxy information.
-*
-*/
-
-
-
-
-
-// INCLUDE FILES
-
-#include "CWPAPPhysicalProxy.h" // Own header
-#include <CWPCharacteristic.h>
-#include <CWPParameter.h>
-#include <WPAdapterUtil.h>
-#include <featmgr.h>
-#include "CWPAPLogicalProxy.h"
-#include "CWPAPPort.h"
-#include "CWPAPNapdef.h"
-#include "WPAPAdapter.pan"
-#include "CWPLog.h"
-#include "WPAPDefs.h"
-#include <cmconnectionmethodext.h>
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CWPAPPhysicalProxy::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CWPAPPhysicalProxy* CWPAPPhysicalProxy::NewLC(
- const TDesC& aDefaultName,
- CWPCharacteristic& aCharacteristic,
- CWPCharacteristic& aLogicalCharacteristic,
- CWPAPPort*& aPort )
- {
- CWPAPPhysicalProxy* self = new(ELeave) CWPAPPhysicalProxy(
- aDefaultName,
- aLogicalCharacteristic,
- aPort );
- CleanupStack::PushL( self );
- self->ConstructL();
- aCharacteristic.AcceptL( *self );
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// Destructor
-// -----------------------------------------------------------------------------
-//
-CWPAPPhysicalProxy::~CWPAPPhysicalProxy()
- {
- delete iPort;
-
- iNapdefs.ResetAndDestroy();
- iNapdefs.Close();
- }
-
-// -----------------------------------------------------------------------------
-// CWPAPPhysicalProxy::ValidateL
-// -----------------------------------------------------------------------------
-//
-TBool CWPAPPhysicalProxy::ValidateL()
- {
- TBool isValid( EFalse );
-
- // We must have proxy address otherwise this proxy isn't valid.
- if ( iProxyAddr )
- {
- switch ( iPxAddrType )
- {
- case EPxAddrTypeIPv4:
- {
- isValid = WPAdapterUtil::CheckIPv4( iProxyAddr->Value() );
- break;
- }
- case EPxAddrTypeIPv6:
- {
- isValid = FeatureManager::FeatureSupported( KFeatureIdIPv6 )
- && WPAdapterUtil::CheckIPv6( iProxyAddr->Value() );
- break;
- }
- case EPxAddrTypeUnsupported:
- {
- isValid = EFalse;
- break;
- }
- default: // default value is assumed to be EPxAddrTypeIPv4
- {
- isValid = WPAdapterUtil::CheckIPv4( iProxyAddr->Value() );
- }
- }
- }
- return isValid;
- }
-
-// -----------------------------------------------------------------------------
-// CWPAPPhysicalProxy::AddDataL
-// -----------------------------------------------------------------------------
-//
-void CWPAPPhysicalProxy::AddDataL( RCmConnectionMethodExt& aCmItem )
- {
- LOG("--CWPAP CWPAPPhysicalProxy::AddDataL begin--");
- TInt err(KErrNone);
-
- // CMManager
- aCmItem.SetStringAttributeL( CMManager::ECmWapIPGatewayAddress, iProxyAddr->Value());
- LOG2("CWPAP EApWapStartPage, value: %S, err: %d",
- &iProxyAddr->Value(), err);
-
- //CMManager
- aCmItem.SetStringAttributeL( CMManager::ECmIPGateway, iProxyAddr->Value());
- LOG2("CWPAP EApIspIPGateway, value: %S, err: %d",
- &iProxyAddr->Value(), err);
-
- //CMManager
- aCmItem.SetStringAttributeL( CMManager::ECmProxyServerName, iProxyAddr->Value() );
- LOG2("CWPAP EApProxyServerAddress, value: %S, err: %d",
- &iProxyAddr->Value(), err);
-
-
- // Store port data
- if ( iPort )
- {
- iPort->AddDataL( aCmItem );
- }
-
- if ( iLogicalPort)
- {
- iLogicalPort->AddDataL( aCmItem );
- }
- if ( err ) err = 0; // prevent compiler warning
-
- LOG("--CWPAP CWPAPPhysicalProxy::AddDataL end--");
- }
-
-// -----------------------------------------------------------------------------
-// CWPAPPhysicalProxy::AddItemsL
-// -----------------------------------------------------------------------------
-//
-TInt CWPAPPhysicalProxy::AddItemsL( RPointerArray<CWPAPAccesspointItem>& aItems,
- CWPAPItemBase* iLogicalProxy,
- CWPAPItemBase* /*iPhysicalProxy*/ )
- {
- TInt count( 0 );
- for( TInt i( 0 ); i < iNapdefs.Count(); i++ )
- {
- CWPAPNapdef* pp = iNapdefs[ i ];
- if( pp->ValidateL() )
- {
- count += pp->AddItemsL( aItems, iLogicalProxy, this );
- }
- }
-
- return count;
- }
-
-// -----------------------------------------------------------------------------
-// CWPAPPhysicalProxy::Name
-// -----------------------------------------------------------------------------
-//
-const TDesC& CWPAPPhysicalProxy::Name()
- {
- if( iName )
- {
- return iName->Value();
- }
- else
- {
- return KNullDesC;
- }
- }
-
-// -----------------------------------------------------------------------------
-// CWPAPPhysicalProxy::VisitL
-// -----------------------------------------------------------------------------
-//
-void CWPAPPhysicalProxy::VisitL( CWPCharacteristic& aCharacteristic )
- {
- TInt type = aCharacteristic.Type();
-
- // Accept only KWPPort characteristics
- // One valid port is enough for us
- if ( type == KWPPort && !iPort )
- {
- CWPAPPort* port = CWPAPPort::NewLC( aCharacteristic );
-
- if ( port->ValidateL() )
- {
- iPort = port;
- CleanupStack::Pop( port );
- }
- else // Data not valid.
- {
- CleanupStack::PopAndDestroy( port );
- }
- }
- }
-
-// -----------------------------------------------------------------------------
-// CWPAPPhysicalProxy::VisitL
-// -----------------------------------------------------------------------------
-//
-void CWPAPPhysicalProxy::VisitL( CWPParameter& aParameter)
- {
- TInt id = aParameter.ID();
- const TDesC& value = aParameter.Value();
-
- if ( value.Length() == 0 )
- {
- // No use to store zero length value.
- return;
- }
-
- switch ( id )
- {
- case EWPParameterPxAddrFQDN: // iGatewayIPAddress
- {
- // Implementation comments:
- // The value of this field is a domain name but we can't
- // at the moment resolve this to IP address
- // (at least from this adapter).
- // Therefore this field can't be used.
- // EWPParameterPxAddr is supported
- // and should be used.
-
- /// Validate the domain name
- /// Resolve to IP address
-
- /* // Uncomment if domain name can be validated and IP address resolved
- // Add only if we haven't already received this field
- if ( !IsReceived( EWPParameterPxAddrFQDN_id ))
- {
- iGatewayIPAddress = &aParameter;
- MarkReceived( EWPParameterPxAddrFQDN_id );
- }
- */
- break;
- }
- case EWPParameterPxAddr: // iGatewayIPAddress
- {
- // Accept only first occurrence of either PxAddr or PxAddrFQDN
- if ( IsReceived( EWPParameterPxAddrFQDN_id ) ||
- IsReceived( EWPParameterPxAddr_id ) )
- {
- return;
- }
- else
- {
- // The max allowed lenght for proxy address is 45 bytes.
- // Nothing is stored if max lenght is exceeded
- if ( aParameter.Value().Length() < 46 )
- {
- iProxyAddr = &aParameter;
- MarkReceived( EWPParameterPxAddr_id );
- }
- }
- break;
- }
- case EWPParameterPxAddrType:
- {
- if ( !IsReceived( EWPParameterPxAddrType_id ) )
- {
- // Only IPv4 addresses are supported.
- if ( value == KIPV4 )
- {
- iPxAddrType = EPxAddrTypeIPv4;
- }
- else if( value == KIPV6 )
- {
- iPxAddrType = EPxAddrTypeIPv6;
- }
- else
- {
- iPxAddrType = EPxAddrTypeUnsupported;
- }
- MarkReceived( EWPParameterPxAddrType_id );
- }
- break;
- }
- case EWPParameterName:
- {
- if( !iName )
- {
- iName = &aParameter;
- }
- break;
- }
- default:
- {
- // Just let through
- }
- }
- }
-
-// -----------------------------------------------------------------------------
-// CWPAPPhysicalProxy::VisitL
-// -----------------------------------------------------------------------------
-//
-void CWPAPPhysicalProxy::VisitLinkL( CWPCharacteristic& aLink )
- {
- CWPAPNapdef* item = CWPAPNapdef::NewLC( ETrue,
- iDefaultName,
- iLogicalCharacteristic,
- aLink );
- User::LeaveIfError( iNapdefs.Append( item ) );
- CleanupStack::Pop( item ); // item
- }
-
-// -----------------------------------------------------------------------------
-// CWPAPPhysicalProxy::CWPAPPhysicalProxy
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CWPAPPhysicalProxy::CWPAPPhysicalProxy(
- const TDesC& aDefaultName,
- CWPCharacteristic& aLogicalCharacteristic,
- CWPAPPort*& aPort )
- : CWPAPItemBase( aDefaultName ),
- iLogicalPort( aPort ),
- iNapdefs( KInitialArraySize ),
- iLogicalCharacteristic( aLogicalCharacteristic )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CWPAPPhysicalProxy::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CWPAPPhysicalProxy::ConstructL()
- {
- }
-
-// End of File