htiui/HtiServicePlugins/HtiMessagesServicePlugin/src/HtiIAPHandler.cpp
changeset 38 aca9d8bb5fbc
parent 31 e7a04a6385be
child 39 a5449825eaf3
--- a/htiui/HtiServicePlugins/HtiMessagesServicePlugin/src/HtiIAPHandler.cpp	Thu Jun 24 14:55:55 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1446 +0,0 @@
-/*
-* Copyright (c) 2009 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:  Implementation of internet access point handling.
-*
-*/
-
-
-// INCLUDE FILES
-#include "HtiMessagesServicePlugin.h"
-#include "HtiIAPHandler.h"
-
-#include <HtiDispatcherInterface.h>
-#include <HtiLogging.h>
-#include <cmconnectionmethodext.h>
-#include <cmconnectionmethoddef.h>
-#include <cmdestinationext.h>
-#include <cmmanagerext.h>
-#include <cmplugincsddef.h>
-#include <cmpluginhscsddef.h>
-#include <cmpluginpacketdatadef.h>
-#include <cmpluginwlandef.h>
-#include <rconnmon.h>
-
-using namespace CMManager;
-
-// EXTERNAL DATA STRUCTURES
-
-// EXTERNAL FUNCTION PROTOTYPES
-
-// CONSTANTS
-const TInt KMinCreateMsgLength = 5;
-const TInt KMinDeleteMsgLength = 3;
-const TInt KMinCreateDestMsgLength = 3;
-const TInt KMinDeleteDestMsgLength = 3;
-const TInt KMinModifyDestMsgLength = 5;
-const TInt KMinSetDefConMsgLength = 3;
-
-// MACROS
-
-// LOCAL CONSTANTS AND MACROS
-_LIT8( KErrorInvalidParameters, "Invalid command parameters" );
-_LIT8( KErrorCreateFailed, "Access Point creation failed" );
-_LIT8( KErrorDeleteFailed, "Access Point deletion failed" );
-_LIT8( KErrorDestCreateFailed, "Destination creation failed" );
-_LIT8( KErrorDestDeleteFailed, "Destination deletion failed" );
-_LIT8( KErrorApAlreadyExists, "Access Point with same name already exists" );
-_LIT8( KErrorApNotFound, "Access Point with given name not found" );
-_LIT8( KErrorConnCloseFailed,
-           "Failed to close a connection using the Access Point" );
-_LIT8( KErrorAddToDestFailed, "Adding to destination failed" );
-_LIT8( KErrorRemoveFromDestFailed, "Removing from destination failed" );
-_LIT8( KErrorDestNotFound, "Destination with given name not found" );
-_LIT8( KErrorSetDefConFailed, "Setting default connection failed" );
-
-// MODULE DATA STRUCTURES
-
-// LOCAL FUNCTION PROTOTYPES
-
-// FORWARD DECLARATIONS
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CHtiIAPHandler::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-CHtiIAPHandler* CHtiIAPHandler::NewL()
-    {
-    HTI_LOG_FUNC_IN( "CHtiIAPHandler::NewL" );
-    CHtiIAPHandler* self = new (ELeave) CHtiIAPHandler();
-    CleanupStack::PushL ( self );
-    self->ConstructL();
-    CleanupStack::Pop();
-    HTI_LOG_FUNC_OUT( "CHtiIAPHandler::NewL" );
-    return self;
-    }
-
-
-// ----------------------------------------------------------------------------
-// CHtiIAPHandler::CHtiIAPHandler
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// ----------------------------------------------------------------------------
-CHtiIAPHandler::CHtiIAPHandler()
-    {
-    HTI_LOG_FUNC_IN( "CHtiIAPHandler::CHtiIAPHandler" );
-
-    HTI_LOG_FUNC_OUT( "CHtiIAPHandler::CHtiIAPHandler" );
-    }
-
-
-// -----------------------------------------------------------------------------
-// CHtiIAPHandler::~CHtiIAPHandler
-// Destructor.
-// -----------------------------------------------------------------------------
-CHtiIAPHandler::~CHtiIAPHandler()
-    {
-    HTI_LOG_FUNC_IN( "CHtiIAPHandler::~CHtiIAPHandler" );
-
-    for ( TInt i = 0; i < iFields.Count(); i++ )
-        {
-        delete iFields[i].iData;
-        }
-    iFields.Reset();
-    iFields.Close();
-
-    HTI_LOG_FUNC_OUT( "CHtiIAPHandler::~CHtiIAPHandler" );
-    }
-
-
-// -----------------------------------------------------------------------------
-// CHtiIAPHandler::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-void CHtiIAPHandler::ConstructL()
-    {
-    HTI_LOG_FUNC_IN( "CHtiIAPHandler::ConstructL" );
-
-    HTI_LOG_FUNC_OUT( "CHtiIAPHandler::ConstructL" );
-    }
-
-
-// -----------------------------------------------------------------------------
-// CHtiIAPHandler::SetDispatcher
-// Sets the dispatcher pointer.
-// -----------------------------------------------------------------------------
-
-void CHtiIAPHandler::SetDispatcher( MHtiDispatcher* aDispatcher )
-    {
-    HTI_LOG_FUNC_IN( "CHtiIAPHandler::SetDispatcher" );
-    iDispatcher = aDispatcher;
-    HTI_LOG_FUNC_OUT( "CHtiIAPHandler::SetDispatcher" );
-    }
-
-
-// -----------------------------------------------------------------------------
-// CHtiIAPHandler::ProcessMessageL
-// Parses the received message and calls handler functions.
-// -----------------------------------------------------------------------------
-void CHtiIAPHandler::ProcessMessageL( const TDesC8& aMessage,
-    THtiMessagePriority /*aPriority*/ )
-    {
-    HTI_LOG_FUNC_IN( "CHtiIAPHandler::ProcessMessageL" );
-
-    for ( TInt i = 0; i < iFields.Count(); i++ )
-        delete iFields[i].iData;
-    iFields.Reset();
-    iFields.Close();
-    iConnName.Zero();
-    iBearerType = 0;
-
-    // Zero length message and command code validity already checked
-    // in HtiMessagesServicePlugin.
-
-    if ( aMessage[0] == CHtiMessagesServicePlugin::ECreateIAP )
-        {
-        if ( aMessage.Length() < KMinCreateMsgLength )
-            {
-            SendErrorMessageL( KErrArgument, KErrorInvalidParameters );
-            }
-        else
-            {
-            TRAPD( err, HandleCreateIapL( aMessage.Mid( 1 ) ) );
-            if ( err != KErrNone )
-                {
-                SendErrorMessageL( err, KErrorCreateFailed );
-                }
-            }
-        }
-
-    else if ( aMessage[0] == CHtiMessagesServicePlugin::EDeleteIAP )
-        {
-        if ( aMessage.Length() < KMinDeleteMsgLength )
-            {
-            SendErrorMessageL( KErrArgument, KErrorInvalidParameters );
-            }
-        else
-            {
-            TRAPD( err, HandleDeleteIapL( aMessage.Mid( 1 ) ) );
-            if ( err != KErrNone )
-                {
-                SendErrorMessageL( err, KErrorDeleteFailed );
-                }
-            }
-        }
-
-    else if ( aMessage[0] == CHtiMessagesServicePlugin::ECreateDestination )
-        {
-        if ( aMessage.Length() < KMinCreateDestMsgLength )
-            {
-            SendErrorMessageL( KErrArgument, KErrorInvalidParameters );
-            }
-        else
-            {
-            TRAPD( err, HandleCreateDestinationL( aMessage.Mid( 1 ) ) );
-            if ( err != KErrNone )
-                {
-                SendErrorMessageL( err, KErrorDestCreateFailed );
-                }
-            }
-        }
-
-    else if ( aMessage[0] == CHtiMessagesServicePlugin::EDeleteDestination )
-        {
-        if ( aMessage.Length() < KMinDeleteDestMsgLength )
-            {
-            SendErrorMessageL( KErrArgument, KErrorInvalidParameters );
-            }
-        else
-            {
-            TRAPD( err, HandleDeleteDestinationL( aMessage.Mid( 1 ) ) );
-            if ( err != KErrNone )
-                {
-                SendErrorMessageL( err, KErrorDestDeleteFailed );
-                }
-            }
-        }
-
-    else if ( aMessage[0] == CHtiMessagesServicePlugin::EAddToDestination ||
-            aMessage[0] == CHtiMessagesServicePlugin::ERemoveFromDestination )
-        {
-        if ( aMessage.Length() < KMinModifyDestMsgLength )
-            {
-            SendErrorMessageL( KErrArgument, KErrorInvalidParameters );
-            }
-        else
-            {
-            TRAPD( err, ModifyDestinationL( aMessage[0], aMessage.Mid( 1 ) ) );
-            if ( err != KErrNone )
-                {
-                if ( aMessage[0] == CHtiMessagesServicePlugin::EAddToDestination )
-                    {
-                    SendErrorMessageL( err, KErrorAddToDestFailed );
-                    }
-                else
-                    {
-                    SendErrorMessageL( err, KErrorRemoveFromDestFailed );
-                    }
-                }
-            }
-        }
-    else if ( aMessage[0] == CHtiMessagesServicePlugin::ESetDefaultConnection )
-        {
-        if ( aMessage.Length() < KMinSetDefConMsgLength )
-            {
-            SendErrorMessageL( KErrArgument, KErrorInvalidParameters );
-            }
-        else
-            {
-            TRAPD( err, SetDefaultConnectionL( aMessage.Mid( 1 ) ) );
-            if ( err != KErrNone )
-                {
-                SendErrorMessageL( err, KErrorSetDefConFailed );
-                }
-            }
-        }
-
-    HTI_LOG_FUNC_OUT( "CHtiIAPHandler::ProcessMessageL" );
-    }
-
-
-// ----------------------------------------------------------------------------
-// CHtiIAPHandler::HandleCreateIapL
-// Creates new Internet Access Point.
-// ----------------------------------------------------------------------------
-void CHtiIAPHandler::HandleCreateIapL( const TDesC8& aData )
-    {
-    HTI_LOG_FUNC_IN( "CHtiIAPHandler::HandleCreateIapL" );
-
-    TRAPD( err, ParseCreateMessageL( aData ) );
-    if ( err != KErrNone )
-        {
-        SendErrorMessageL( err, KErrorInvalidParameters );
-        return;
-        }
-
-    if ( GetAccessPointUIDL() != KErrNotFound )
-        {
-        SendErrorMessageL( KErrAlreadyExists, KErrorApAlreadyExists );
-        return;
-        }
-
-    MapLegacyFieldIDs();
-    ResolveFieldDataTypes();
-
-    RCmManagerExt cmManager;
-    cmManager.OpenL();
-    CleanupClosePushL( cmManager );
-
-    RCmConnectionMethodExt cm = cmManager.CreateConnectionMethodL( iBearerType );
-    CleanupClosePushL( cm );
-    HTI_LOG_TEXT( "Connection method created" );
-
-    cm.SetStringAttributeL( ECmName, iConnName );
-    HTI_LOG_TEXT( "Name set" );
-
-    TUint32 requestedSeamlessness = 1; // default
-
-    // Set attributes
-    HTI_LOG_FORMAT( "Fields to write: %d", iFields.Count() );
-    for ( TInt i = 0; i < iFields.Count(); i++ )
-        {
-        if ( err != KErrNone ) break;
-
-        HTI_LOG_FORMAT( "Writing field %d", ( i + 1 ) );
-        TApField field = iFields[i];
-        HTI_LOG_FORMAT( "Field ID = %d", field.iId );
-
-        switch ( field.iDataType )
-            {
-            case EDataTypeText:
-                {
-                TRAP( err, cm.SetStringAttributeL( field.iId, *field.iData ) );
-                break;
-                }
-            case EDataTypeBool:
-                {
-                TLex lex( *field.iData );
-                TInt result = 0;
-                lex.Val( result );
-                TRAP( err, cm.SetBoolAttributeL( field.iId, ( TBool ) result ) );
-                break;
-                }
-            case EDataTypeUint:
-                {
-                TLex lex( *field.iData );
-                TUint32 result;
-                err = lex.Val( result, EDecimal );
-                if ( err == KErrNone )
-                    TRAP( err, cm.SetIntAttributeL( field.iId, result ) );
-                if ( field.iId == ECmSeamlessnessLevel )
-                    requestedSeamlessness = result;
-                break;
-                }
-            case EDataTypeText8:
-                {
-                HBufC8* buf8 = HBufC8::NewL( field.iData->Length() );
-                buf8->Des().Copy( *field.iData );
-                TRAP( err, cm.SetString8AttributeL( field.iId, *buf8 ) );
-                delete buf8;
-                buf8 = NULL;
-                break;
-                }
-            default:
-                {
-                HTI_LOG_FORMAT( "Unsupported field type %d", field.iDataType );
-                err = KErrNotSupported;
-                break;
-                }
-            }
-        }
-
-    if ( err != KErrNone )
-        {
-        HTI_LOG_FORMAT( "Error occurred %d", err );
-        User::Leave( err );
-        }
-
-    cm.UpdateL();
-    TUint32 uid = cm.GetIntAttributeL( ECmId );
-    CleanupStack::PopAndDestroy(); // cm
-
-    // The seamlessness value is not always set correctly when the connection
-    // method is created. Have to update seamlessness value separately after
-    // creation.
-    cm = cmManager.ConnectionMethodL( uid );
-    CleanupClosePushL( cm );
-    TUint32 currentSeamlessness = cm.GetIntAttributeL( ECmSeamlessnessLevel );
-    HTI_LOG_FORMAT( "Requested seamlessness = %d", requestedSeamlessness );
-    HTI_LOG_FORMAT( "Current seamlessness = %d", currentSeamlessness );
-    if ( currentSeamlessness != requestedSeamlessness )
-        {
-        cm.SetIntAttributeL( ECmSeamlessnessLevel, requestedSeamlessness );
-        cm.UpdateL();
-        HTI_LOG_TEXT( "Seamlessness value updated" );
-        }
-    CleanupStack::PopAndDestroy(); // cm
-    CleanupStack::PopAndDestroy(); // cmManager
-
-    HTI_LOG_FORMAT( "AP created with uid %d", uid );
-
-    TBuf8<4> idBuf;
-    idBuf.Append( ( TUint8* ) &uid, 4 );
-    SendOkMsgL( idBuf );
-
-    HTI_LOG_FUNC_OUT( "CHtiIAPHandler::HandleCreateIapL" );
-    }
-
-
-// ----------------------------------------------------------------------------
-// CHtiIAPHandler::HandleDeleteIapL
-// Deletes the named Internet Access Point
-// ----------------------------------------------------------------------------
-void CHtiIAPHandler::HandleDeleteIapL( const TDesC8& aData )
-    {
-    HTI_LOG_FUNC_IN( "CHtiIAPHandler::HandleDeleteIapL" );
-    if ( aData.Length() < KMinDeleteMsgLength )
-        {
-        SendErrorMessageL( KErrArgument, KErrorInvalidParameters );
-        return;
-        }
-
-    TInt nameLength = aData[0];
-    if ( nameLength > KMaxConnNameLength ||
-         aData.Length() != ( nameLength + 1 ) )
-        {
-        SendErrorMessageL( KErrArgument, KErrorInvalidParameters );
-        return;
-        }
-
-    iConnName.Copy( aData.Mid( 1, nameLength ) );
-    HTI_LOG_FORMAT( "Searching connection with name: %S", &iConnName );
-    TInt uid = GetAccessPointUIDL();
-
-    if ( uid == KErrNotFound )
-        {
-        SendErrorMessageL( KErrNotFound, KErrorApNotFound );
-        return;
-        }
-
-    RCmManagerExt cmManagerExt;
-    cmManagerExt.OpenL();
-    CleanupClosePushL( cmManagerExt );
-    RCmConnectionMethodExt connMethod = cmManagerExt.ConnectionMethodL( uid );
-    CleanupClosePushL( connMethod );
-    if ( connMethod.GetBoolAttributeL( ECmConnected ) )
-        {
-        HTI_LOG_TEXT( "AP in use - trying to close connections" );
-        TRAPD( err, CloseActiveConnectionsL() );
-        if ( err != KErrNone )
-            {
-            SendErrorMessageL( err, KErrorConnCloseFailed );
-            CleanupStack::PopAndDestroy( 2 ); // connMethod, cmManagerExt
-            return;
-            }
-        }
-
-    HTI_LOG_TEXT( "AP not in use - unlinking from all destinations" );
-    cmManagerExt.RemoveAllReferencesL( connMethod );
-    HTI_LOG_TEXT( "Deleting the AP" );
-    TBool deleted = connMethod.DeleteL(); // returns ETrue if really deleted
-    if ( !deleted )
-        {
-        HTI_LOG_TEXT( "Delete failed" );
-        User::Leave( KErrGeneral );
-        }
-    HTI_LOG_FORMAT( "AP deleted with uid %d", uid );
-    CleanupStack::PopAndDestroy(); // connMethod
-    CleanupStack::PopAndDestroy(); // cmManagerExt
-
-    SendOkMsgL( KNullDesC8 );
-    HTI_LOG_FUNC_OUT( "CHtiIAPHandler::HandleDeleteIapL" );
-    }
-
-
-// ----------------------------------------------------------------------------
-// CHtiIAPHandler::HandleCreateDestinationL
-// Creates a new Destination.
-// ----------------------------------------------------------------------------
-void CHtiIAPHandler::HandleCreateDestinationL( const TDesC8& aData )
-    {
-    HTI_LOG_FUNC_IN( "CHtiIAPHandler::HandleCreateDestinationL" );
-
-    TInt nameLength = aData[0];
-    if ( aData.Length() - 1 != nameLength || nameLength > KMaxConnNameLength )
-        {
-        SendErrorMessageL( KErrArgument, KErrorInvalidParameters );
-        return;
-        }
-
-    RCmManagerExt cmManager;
-    cmManager.OpenL();
-    CleanupClosePushL( cmManager );
-
-    iDestName.Copy( aData.Mid( 1 ) );
-
-    RCmDestinationExt dest = cmManager.CreateDestinationL( iDestName );
-    CleanupClosePushL( dest );
-    dest.UpdateL();
-
-    CleanupStack::PopAndDestroy( 2 ); // dest, cmManager
-    SendOkMsgL( KNullDesC8 );
-
-    HTI_LOG_FUNC_OUT( "CHtiIAPHandler::HandleCreateDestinationL" );
-    }
-
-
-// ----------------------------------------------------------------------------
-// CHtiIAPHandler::HandleDeleteDestinationL
-// Deletes a named Destination.
-// ----------------------------------------------------------------------------
-void CHtiIAPHandler::HandleDeleteDestinationL( const TDesC8& aData )
-    {
-    HTI_LOG_FUNC_IN( "CHtiIAPHandler::HandleDeleteDestinationL" );
-
-    TInt nameLength = aData[0];
-    if ( aData.Length() - 1 != nameLength || nameLength > KMaxConnNameLength )
-        {
-        SendErrorMessageL( KErrArgument, KErrorInvalidParameters );
-        return;
-        }
-
-    iDestName.Copy( aData.Mid( 1 ) );
-    TInt id = GetDestinationIDL( iDestName );
-
-    RCmManagerExt cmManager;
-    cmManager.OpenL();
-    CleanupClosePushL( cmManager );
-
-    RCmDestinationExt dest = cmManager.DestinationL ( id );
-    dest.DeleteLD();
-
-    CleanupStack::PopAndDestroy(); // cmManager
-    SendOkMsgL( KNullDesC8 );
-
-    HTI_LOG_FUNC_OUT( "CHtiIAPHandler::HandleDeleteDestinationL" );
-    }
-
-
-// ----------------------------------------------------------------------------
-// CHtiIAPHandler::ModifyDestinationL
-// Adds or removes IAP to/from a Destination.
-// ----------------------------------------------------------------------------
-void CHtiIAPHandler::ModifyDestinationL( const TInt aCommand, const TDesC8& aData )
-    {
-    HTI_LOG_FUNC_IN( "CHtiIAPHandler::ModifyDestinationL" );
-
-    TInt dataLength = aData.Length();
-    TInt offset = 0;
-    TInt cmNameLength = aData[offset];
-    offset++;
-    if ( dataLength < cmNameLength + 3 || cmNameLength > KMaxConnNameLength )
-        {
-        SendErrorMessageL( KErrArgument, KErrorInvalidParameters );
-        return;
-        }
-    iConnName.Copy( aData.Mid( offset, cmNameLength ) );
-    offset += cmNameLength;
-    TInt destNameLength = aData[offset];
-    offset++;
-    if ( dataLength != cmNameLength + destNameLength + 2 ||
-            destNameLength > KMaxConnNameLength )
-        {
-        SendErrorMessageL( KErrArgument, KErrorInvalidParameters );
-        return;
-        }
-
-    iDestName.Copy( aData.Mid( offset, destNameLength ) );
-
-    TInt cmId = GetAccessPointUIDL();
-    if ( cmId == KErrNotFound )
-        {
-        SendErrorMessageL( KErrNotFound, KErrorApNotFound );
-        return;
-        }
-    TInt destId = GetDestinationIDL( iDestName );
-    if ( destId == KErrNotFound )
-        {
-        SendErrorMessageL( KErrNotFound, KErrorDestNotFound );
-        return;
-        }
-
-    RCmManagerExt cmManager;
-    cmManager.OpenL();
-    CleanupClosePushL( cmManager );
-
-    RCmConnectionMethodExt cm = cmManager.ConnectionMethodL( cmId );
-    CleanupClosePushL( cm );
-    HTI_LOG_TEXT( "Got Connection Method" );
-
-    RCmDestinationExt dest = cmManager.DestinationL( destId );
-    CleanupClosePushL( dest );
-    HTI_LOG_TEXT( "Got Destination" );
-
-    if ( aCommand == CHtiMessagesServicePlugin::EAddToDestination )
-        {
-        dest.AddConnectionMethodL( cm );
-        }
-    else if ( aCommand == CHtiMessagesServicePlugin::ERemoveFromDestination)
-        {
-        dest.RemoveConnectionMethodL( cm );
-        }
-    else
-        {
-        // Programming error
-        User::Panic( _L( "CHtiIAPHandler"), 1 );
-        }
-    dest.UpdateL();
-    HTI_LOG_TEXT( "Destination updated" );
-
-    CleanupStack::PopAndDestroy( 3 ); // dest, cm, cmManager
-    SendOkMsgL( KNullDesC8 );
-
-    HTI_LOG_FUNC_OUT( "CHtiIAPHandler::ModifyDestinationL" );
-    }
-
-
-// ----------------------------------------------------------------------------
-// CHtiIAPHandler::SetDefaultConnectionL
-// Sets the default connection setting.
-// ----------------------------------------------------------------------------
-void CHtiIAPHandler::SetDefaultConnectionL( const TDesC8& aData )
-    {
-    HTI_LOG_FUNC_IN( "CHtiIAPHandler::SetDefaultConnectionL" );
-
-    if ( aData[0] > 3 || aData.Length() != aData[1] + 2 )
-        {
-        User::Leave( KErrArgument );
-        }
-
-    TCmDefConnValue defConnValue;
-    defConnValue.iType = ( TCmDefConnType ) aData[0]; // cmdefconnvalues.h
-    HTI_LOG_FORMAT( "Requested type: %d", defConnValue.iType );
-
-    TInt id = 0;
-    if ( defConnValue.iType == ECmDefConnDestination )
-        {
-        if ( aData[1] == 0 || aData[1] > KMaxConnNameLength )
-            {
-            User::Leave( KErrArgument );
-            }
-        iDestName.Copy( aData.Mid( 2 ) );
-        HTI_LOG_FORMAT( "Destination name: %S", &iDestName );
-        id = GetDestinationIDL( iDestName );
-        if ( id == KErrNotFound )
-            {
-            SendErrorMessageL( KErrNotFound, KErrorDestNotFound );
-            return;
-            }
-        }
-
-    else if ( defConnValue.iType == ECmDefConnConnectionMethod )
-        {
-        if ( aData[1] == 0 || aData[1] > KMaxConnNameLength )
-            {
-            User::Leave( KErrArgument );
-            }
-        iConnName.Copy( aData.Mid( 2 ) );
-        HTI_LOG_FORMAT( "Connection method name: %S", &iConnName );
-        id = GetAccessPointUIDL();
-        if ( id == KErrNotFound )
-            {
-            SendErrorMessageL( KErrNotFound, KErrorApNotFound );
-            return;
-            }
-        }
-
-    defConnValue.iId = id;
-
-    RCmManagerExt cmManager;
-    cmManager.OpenL();
-    CleanupClosePushL( cmManager );
-    cmManager.WriteDefConnL( defConnValue );
-    CleanupStack::PopAndDestroy();
-    SendOkMsgL( KNullDesC8 );
-
-    HTI_LOG_FUNC_OUT( "CHtiIAPHandler::SetDefaultConnectionL" );
-    }
-
-
-// ----------------------------------------------------------------------------
-// CHtiIAPHandler::ParseCreateMessageL
-// Parses the parameters from the create IAP message. Leaves on error.
-// ----------------------------------------------------------------------------
-void CHtiIAPHandler::ParseCreateMessageL( const TDesC8& aData )
-    {
-    HTI_LOG_FUNC_IN( "CHtiIAPHandler::ParseCreateMessageL" );
-
-    TInt dataLength = aData.Length();
-    TInt offset = 0;
-
-    iBearerType = GetBearerUID( aData[offset] );
-    offset++;
-    HTI_LOG_FORMAT( "Bearer type %d", iBearerType );
-    if ( iBearerType == 0 )
-        {
-        User::Leave( KErrArgument );
-        }
-
-    TInt nameLength = aData[offset];
-    offset++;
-    if ( dataLength < ( nameLength + offset + 1 ) ||
-         nameLength > KMaxConnNameLength )
-        {
-        User::Leave( KErrArgument );
-        }
-    iConnName.Copy( aData.Mid( offset, nameLength ) );
-    offset += nameLength;
-    HTI_LOG_FORMAT( "Connection name: %S", &iConnName );
-
-    TInt fieldCount = aData[offset];
-    offset++;
-    HTI_LOG_FORMAT( "Field count %d", fieldCount );
-
-    for ( TInt i = 0; i < fieldCount; i++ )
-        {
-        if ( dataLength < ( offset + 3 ) )
-            {
-            User::Leave( KErrArgument );
-            }
-        HTI_LOG_FORMAT( "Parsing field %d", i + 1 );
-        TApField field;
-        field.iId = aData[offset];
-        offset++;
-        TInt fieldLength = aData[offset];
-        offset++;
-        HTI_LOG_FORMAT( "Field data length %d", fieldLength );
-        if ( fieldLength < 1 || dataLength < ( fieldLength + offset ) )
-            {
-            User::Leave( KErrArgument );
-            }
-        field.iData = HBufC::NewL( fieldLength );
-        field.iData->Des().Copy( aData.Mid( offset, fieldLength ) );
-        offset += fieldLength;
-        HTI_LOG_FORMAT( "Field data: %S", field.iData );
-        field.iDataType = EDataTypeUnknown; // set later
-        User::LeaveIfError( iFields.Append( field ) );
-        }
-
-    if ( offset != dataLength )  // too much data
-        {
-        User::Leave( KErrArgument );
-        }
-
-    HTI_LOG_FUNC_OUT( "CHtiIAPHandler::ParseCreateMessageL" );
-    }
-
-// ----------------------------------------------------------------------------
-// CHtiIAPHandler::GetAccessPointUIDL
-// Gets the UID of Access Point named by iConnName.
-// Returns KErrNotFound if AP not found.
-// ----------------------------------------------------------------------------
-TInt CHtiIAPHandler::GetAccessPointUIDL()
-    {
-    HTI_LOG_FUNC_IN( "CHtiIAPHandler::GetAccessPointUIDL" );
-    TInt uid = KErrNotFound;
-
-    RCmManagerExt cmManager;
-    cmManager.OpenL();
-    CleanupClosePushL( cmManager );
-
-    // Search from uncategorised first
-    RArray<TUint32> array = RArray<TUint32>();
-    cmManager.ConnectionMethodL( array );
-    CleanupClosePushL( array );
-    TInt i = 0;
-    while ( i < array.Count() && uid == KErrNotFound )
-        {
-        RCmConnectionMethodExt cm = cmManager.ConnectionMethodL( array[i] );
-        CleanupClosePushL( cm );
-        HBufC* name = cm.GetStringAttributeL( ECmName );
-        HTI_LOG_FORMAT( "Found name: %S", name );
-        CleanupStack::PushL( name );
-        if ( iConnName.Compare( *name ) == 0 )
-            {
-            uid = cm.GetIntAttributeL( ECmId );
-            HTI_LOG_FORMAT( "Match: UID = %d", uid );
-            }
-        CleanupStack::PopAndDestroy(); // name
-        CleanupStack::PopAndDestroy(); // cm
-        i++;
-        }
-    CleanupStack::PopAndDestroy(); // array
-
-    // If not found from uncategorised, search from all destinations
-    if ( uid == KErrNotFound )
-        {
-        HTI_LOG_TEXT( "Not found from uncategorised" );
-        RArray<TUint32> destIdArray = RArray<TUint32>();
-        cmManager.AllDestinationsL( destIdArray );
-        CleanupClosePushL( destIdArray );
-        i = 0;
-        while ( i < destIdArray.Count() && uid == KErrNotFound )
-            {
-            RCmDestinationExt dest = cmManager.DestinationL( destIdArray[i] );
-            CleanupClosePushL( dest );
-            TInt j = 0;
-            while ( j < dest.ConnectionMethodCount() && uid == KErrNotFound )
-                {
-                HBufC* name = dest.ConnectionMethodL( j ).GetStringAttributeL(
-                        ECmName );
-                CleanupStack::PushL( name );
-                HTI_LOG_FORMAT( "Found name: %S", name );
-                if ( iConnName.Compare( *name ) == 0 )
-                    {
-                    uid = dest.ConnectionMethodL( j ).GetIntAttributeL(
-                            ECmId );
-                    HTI_LOG_FORMAT( "Match: UID = %d", uid );
-                    }
-                CleanupStack::PopAndDestroy(); // name
-                j++;
-                }
-            CleanupStack::PopAndDestroy(); // dest
-            i++;
-            }
-        CleanupStack::PopAndDestroy(); // destIdArray
-        }
-
-    CleanupStack::PopAndDestroy(); // cmManager
-    HTI_LOG_FUNC_OUT( "CHtiIAPHandler::GetAccessPointUIDL" );
-    return uid;
-    }
-
-// ----------------------------------------------------------------------------
-// CHtiIAPHandler::GetDestinationIDL
-// Gets the ID of Destination named by aName.
-// Returns KErrNotFound if Destination is not found.
-// ----------------------------------------------------------------------------
-TInt CHtiIAPHandler::GetDestinationIDL( const TDesC& aName )
-    {
-    HTI_LOG_FUNC_IN( "CHtiIAPHandler::GetDestinationIDL" );
-    HTI_LOG_FORMAT( "Searching Destination %S", &aName );
-
-    RCmManagerExt cmManager;
-    cmManager.OpenL();
-    CleanupClosePushL( cmManager );
-
-    TInt id = KErrNotFound;
-    RArray<TUint32> destIdArray = RArray<TUint32>( 8 );
-    CleanupClosePushL( destIdArray );
-
-    cmManager.AllDestinationsL( destIdArray );
-    TInt i = 0;
-    while ( i < destIdArray.Count() && id == KErrNotFound )
-        {
-        RCmDestinationExt dest = cmManager.DestinationL( destIdArray[i] );
-        CleanupClosePushL( dest );
-        HBufC* destName = dest.NameLC();
-        HTI_LOG_FORMAT( "Found Destination: %S", destName );
-        if ( destName->Compare( aName ) == 0 )
-            {
-            id = dest.Id();
-            HTI_LOG_FORMAT( "Match: ID = %d", id );
-            }
-        CleanupStack::PopAndDestroy( 2 ); // destName, dest
-        i++;
-        }
-
-    CleanupStack::PopAndDestroy( 2 ); // destIdArray, cmManager
-    HTI_LOG_FUNC_OUT( "CHtiIAPHandler::GetDestinationIDL" );
-    return id;
-    }
-
-
-// ----------------------------------------------------------------------------
-// CHtiIAPHandler::CloseActiveConnectionsL
-// Closes connection(s) that are using the Access Point named by iConnName.
-// Leaves if closing fails.
-// ----------------------------------------------------------------------------
-void CHtiIAPHandler::CloseActiveConnectionsL()
-    {
-    HTI_LOG_FUNC_IN( "CHtiIAPHandler::CloseActiveConnectionsL" );
-
-    RConnectionMonitor monitor;
-    monitor.ConnectL();
-    CleanupClosePushL( monitor );
-    HTI_LOG_TEXT( "RConnectionMonitor connected" );
-
-    TUint connCount = 0;
-    TUint subConnCount = 0;
-    TUint connId = 0;
-    //TUint iapId = 0;
-    TName iapName;
-    TRequestStatus status;
-
-    monitor.GetConnectionCount( connCount, status );
-    User::WaitForRequest( status );
-    User::LeaveIfError( status.Int() );
-    HTI_LOG_FORMAT( "Found %d connections", connCount );
-
-    for ( TUint i = 1; i <= connCount; i++ )
-        {
-        HTI_LOG_FORMAT( "Connection %d", i );
-        User::LeaveIfError(
-            monitor.GetConnectionInfo( i, connId, subConnCount ) );
-        HTI_LOG_FORMAT( " Connection ID = %d", connId );
-        HTI_LOG_FORMAT( " Sub connections = %d", subConnCount );
-        /*
-        monitor.GetUintAttribute( connId, 0, KIAPId, iapId, status );
-        User::WaitForRequest( status );
-        User::LeaveIfError( status.Int() );
-        HTI_LOG_FORMAT( " IAP ID = %d", iapId );
-        */
-        monitor.GetStringAttribute( connId, 0, KIAPName, iapName, status );
-        User::WaitForRequest( status );
-        User::LeaveIfError( status.Int() );
-        HTI_LOG_FORMAT( " IAP name = %S", &iapName );
-        if ( iapName.Compare( iConnName ) == 0 )
-            {
-            HTI_LOG_TEXT( " Match: Trying to close this connection" );
-            User::LeaveIfError(
-                monitor.SetBoolAttribute( connId, 0, KConnectionStop, ETrue ) );
-            }
-        }
-
-    CleanupStack::PopAndDestroy(); // monitor
-    HTI_LOG_FUNC_OUT( "CHtiIAPHandler::CloseActiveConnectionsL" );
-    }
-
-// ----------------------------------------------------------------------------
-// CHtiIAPHandler::GetBearerUID
-// Helper function for mapping old TApBearerType value to new bearer type
-// ECom UID.
-// ----------------------------------------------------------------------------
-TUint CHtiIAPHandler::GetBearerUID( const TInt aBearerType )
-    {
-    HTI_LOG_FUNC_IN( "CHtiIAPHandler::GetBearerUID" );
-    TUint uid = 0;
-    switch ( aBearerType )
-        {
-        case 0x01:  // CSD
-            uid = KUidCSDBearerType;
-            break;
-        case 0x02:  // GPRS
-            uid = KUidPacketDataBearerType;
-            break;
-        case 0x04:  // HSCSD
-            uid = KUidHSCSDBearerType;
-            break;
-        case 0x10:  // CDMA
-            uid = KUidPacketDataBearerType;
-            break;
-        case 0x20:  // WLAN
-            uid = KUidWlanBearerType;
-            break;
-        default:
-            break;
-
-        }
-    HTI_LOG_FUNC_OUT( "CHtiIAPHandler::GetBearerUID" );
-    return uid;
-    }
-
-// ----------------------------------------------------------------------------
-// CHtiIAPHandler::MapLegacyFieldIDs
-// Helper function for mapping the old access point field ID numbers to
-// new ones.
-// ----------------------------------------------------------------------------
-void CHtiIAPHandler::MapLegacyFieldIDs()
-    {
-    HTI_LOG_FUNC_IN( "CHtiIAPHandler::MapLegacyFieldIDs" );
-
-    for ( TInt i = 0; i < iFields.Count(); i++ )
-        {
-        TApField field = iFields[i];
-        switch ( field.iId )
-            {
-            case EApWapStartPage:
-                {
-                field.iId = ECmStartPage;
-                break;
-                }
-            case EApIspDefaultTelNumber:
-                {
-                field.iId = EDialDefaultTelNum;
-                break;
-                }
-            case EApIspUseLoginScript:
-                {
-                field.iId = EDialUseLoginScript;
-                break;
-                }
-            case EApIspLoginScript:
-                {
-                field.iId = EDialLoginScript;
-                break;
-                }
-            case EApIspLoginName:
-                {
-                if ( iBearerType == KUidCSDBearerType || iBearerType == KUidHSCSDBearerType )
-                    field.iId = EDialIFAuthName;
-                else if ( iBearerType == KUidPacketDataBearerType )
-                    field.iId = EPacketDataIFAuthName;
-                else
-                    field.iId = ECmIFAuthName;
-                break;
-                }
-            case EApIspLoginPass:
-                {
-                if ( iBearerType == KUidCSDBearerType || iBearerType == KUidHSCSDBearerType )
-                    field.iId = EDialIFAuthPass;
-                else if ( iBearerType == KUidPacketDataBearerType )
-                    field.iId = EPacketDataIFAuthPass;
-                else
-                    field.iId = ECmIFAuthPass;
-                break;
-                }
-            case EApIspIfPromptForAuth:
-                {
-                if ( iBearerType == KUidCSDBearerType || iBearerType == KUidHSCSDBearerType )
-                    field.iId = EDialIFPromptForAuth;
-                else if ( iBearerType == KUidPacketDataBearerType )
-                    field.iId = EPacketDataIFPromptForAuth;
-                else
-                    field.iId = ECmIFPromptForAuth;
-                break;
-                }
-            case EApIspIfCallbackEnabled:
-                {
-                field.iId = EDialIFCallbackEnabled;
-                break;
-                }
-            case EApIspIfCallbackType:
-                {
-                field.iId = EDialIFCallbackType;
-                break;
-                }
-            case EApIspIfCallbackInfo:
-                {
-                field.iId = EDialIFCallbackInfo;
-                break;
-                }
-            case EApIspIPAddr:
-                {
-                if ( iBearerType == KUidCSDBearerType || iBearerType == KUidHSCSDBearerType )
-                    field.iId = EDialIPAddress;
-                else if ( iBearerType == KUidPacketDataBearerType )
-                    field.iId = EPacketDataIPAddr;
-                else if ( iBearerType == KUidWlanBearerType )
-                    field.iId = EWlanIpAddr;
-                else
-                    field.iId = ECmIPAddress;
-                break;
-                }
-            case EApIspIPNameServer1:
-                {
-                if ( iBearerType == KUidCSDBearerType || iBearerType == KUidHSCSDBearerType )
-                    field.iId = EDialIPNameServer1;
-                else if ( iBearerType == KUidPacketDataBearerType )
-                    field.iId = EPacketDataIPNameServer1;
-                else if ( iBearerType == KUidWlanBearerType )
-                    field.iId = EWlanIpNameServer1;
-                else
-                    field.iId = ECmIPNameServer1;
-                break;
-                }
-            case EApIspIPNameServer2:
-                {
-                if ( iBearerType == KUidCSDBearerType || iBearerType == KUidHSCSDBearerType )
-                    field.iId = EDialIPNameServer2;
-                else if ( iBearerType == KUidPacketDataBearerType )
-                    field.iId = EPacketDataIPNameServer2;
-                else if ( iBearerType == KUidWlanBearerType )
-                    field.iId = EWlanIpNameServer2;
-                else
-                    field.iId = ECmIPNameServer2;
-                break;
-                }
-            case EApIspEnableIpHeaderComp:
-                {
-                if ( iBearerType == KUidCSDBearerType || iBearerType == KUidHSCSDBearerType )
-                    field.iId = EDialEnableIPHeaderComp;
-                else if ( iBearerType == KUidPacketDataBearerType )
-                    field.iId = EPacketDataHeaderCompression;
-                break;
-                }
-            case EApIspDisablePlainTextAuth:
-                {
-                if ( iBearerType == KUidCSDBearerType || iBearerType == KUidHSCSDBearerType )
-                    field.iId = EDialDisablePlainTextAuth;
-                else if ( iBearerType == KUidPacketDataBearerType )
-                    field.iId = EPacketDataDisablePlainTextAuth;
-                else
-                    field.iId = ECmDisablePlainTextAuth;
-                break;
-                }
-            case EApIspBearerSpeed:
-                {
-                field.iId = EDialMaxConnSpeed;
-                break;
-                }
-            case EApIspBearerCallTypeIsdn:
-                {
-                field.iId = EDialCallType;
-                break;
-                }
-            case EApIspInitString:
-                {
-                field.iId = EDialInitString;
-                break;
-                }
-            case EApGprsAccessPointName:
-                {
-                field.iId = EPacketDataAPName;
-                break;
-                }
-            case EApGprsPdpType:
-                {
-                field.iId = EPacketDataPDPType;
-                break;
-                }
-            case EApProxyServerAddress:
-                {
-                field.iId = ECmProxyServerName;
-                break;
-                }
-            case EApProxyPortNumber:
-                {
-                field.iId = ECmProxyPortNumber;
-                break;
-                }
-            case EApIP6NameServer1:
-                {
-                if ( iBearerType == KUidCSDBearerType || iBearerType == KUidHSCSDBearerType )
-                    field.iId = EDialIP6NameServer1;
-                else if ( iBearerType == KUidPacketDataBearerType )
-                    field.iId = EPacketDataIPIP6NameServer1;
-                else if ( iBearerType == KUidWlanBearerType )
-                    field.iId = EWlanIp6NameServer1;
-                else
-                    field.iId = ECmIP6NameServer1;
-                break;
-                }
-            case EApIP6NameServer2:
-                {
-                if ( iBearerType == KUidCSDBearerType || iBearerType == KUidHSCSDBearerType )
-                    field.iId = EDialIP6NameServer2;
-                else if ( iBearerType == KUidPacketDataBearerType )
-                    field.iId = EPacketDataIPIP6NameServer2;
-                else if ( iBearerType == KUidWlanBearerType )
-                    field.iId = EWlanIp6NameServer2;
-                else
-                    field.iId = ECmIP6NameServer2;
-                break;
-                }
-            case EApWlanNetworkName:
-                {
-                field.iId = EWlanSSID;
-                break;
-                }
-            case EApWlanNetworkMode:
-                {
-                field.iId = EWlanConnectionMode;
-                break;
-                }
-            case EApWlanSecurityMode:
-                {
-                field.iId = EWlanSecurityMode;
-                break;
-                }
-            case EApSeamlessnessLevel:
-                {
-                field.iId = ECmSeamlessnessLevel;
-                break;
-                }
-            default:
-                break;
-            }
-        iFields[i] = field;
-        }
-
-    HTI_LOG_FUNC_OUT( "CHtiIAPHandler::MapLegacyFieldIDs" );
-    }
-
-// ----------------------------------------------------------------------------
-// CHtiIAPHandler::ResolveFieldDataTypes
-// Helper function for resolving the data types for different AP settings
-// fields based on field ID and bearer type.
-// ----------------------------------------------------------------------------
-void CHtiIAPHandler::ResolveFieldDataTypes()
-    {
-    HTI_LOG_FUNC_IN( "CHtiIAPHandler::ResolveFieldDataTypes" );
-
-    for ( TInt i = 0; i < iFields.Count(); i++ )
-        {
-        if ( iFields[i].iDataType != EDataTypeUnknown ) continue; // already set
-
-        // Common fields
-        switch ( iFields[i].iId )
-            {
-            // String types
-            case ECmStartPage:
-            case ECmProxyServerName:
-            case ECmProxyProtocolName:
-            case ECmProxyExceptions:
-            case ECmIFName:
-            case ECmIFParams:
-            case ECmIFNetworks:
-            case ECmIFAuthName:
-            case ECmIFAuthPass:
-            case ECmIPGateway:
-            case ECmIPAddress:
-            case ECmIPNameServer1:
-            case ECmIPNameServer2:
-            case ECmIP6NameServer1:
-            case ECmIP6NameServer2:
-                iFields[i].iDataType = EDataTypeText;
-                break;
-
-            // Bool types
-            case ECmProtected:
-            case ECmIFPromptForAuth:
-            case ECmIPAddFromServer:
-            case ECmIPDNSAddrFromServer:
-            case ECmIP6DNSAddrFromServer:
-            case ECmEnableLPCExtension:
-            case ECmDisablePlainTextAuth:
-                iFields[i].iDataType = EDataTypeBool;
-                break;
-
-            // Uint types
-            case ECmSeamlessnessLevel:
-            case ECmProxyPortNumber:
-            case ECmIFAuthRetries:
-                iFields[i].iDataType = EDataTypeUint;
-                break;
-
-            default:
-                break;
-            }
-
-        // If it was found from common fields, we can continue to next field
-        if ( iFields[i].iDataType != EDataTypeUnknown ) continue;
-
-        // Check from bearer specific fields.
-        // Different bearers have to be in separate switch-cases because
-        // there are same values in different bearers.
-
-        // Data call fields
-        if ( iBearerType == KUidCSDBearerType ||
-                iBearerType == KUidHSCSDBearerType )
-            {
-            switch ( iFields[i].iId )
-                {
-                // String types
-                case EDialDescription:
-                case EDialDefaultTelNum:
-                case EDialLoginScript:
-                case EDialLoginName:
-                case EDialLoginPassword:
-                case EDialIFParams:
-                case EDialIFNetworks:
-                case EDialIFAuthName:
-                case EDialIFAuthPass:
-                case EDialIPAddress:
-                case EDialIPNetmask:
-                case EDialIPGateway:
-                case EDialIPNameServer1:
-                case EDialIPNameServer2:
-                case EDialIP6NameServer1:
-                case EDialIP6NameServer2:
-                    iFields[i].iDataType = EDataTypeText;
-                    break;
-
-                // Bool types
-                case EDialOut:
-                case EDialDialResolution:
-                case EDialUseLoginScript:
-                case EDialPromptForLogin:
-                case EDialDisplayPCT:
-                case EDialIFPromptForAuth:
-                case EDialIFCallbackEnabled:
-                case EDialIFServerMode:
-                case EDialIPAddressFromServer:
-                case EDialIPDNSAddressFromServer:
-                case EDialIP6DNSAddressFromServer:
-                case EDialEnableIPHeaderComp:
-                case EDialEnableLCPExtension:
-                case EDialDisablePlainTextAuth:
-                case EDialEnableSWComp:
-                case EDialUseEdge:
-                    iFields[i].iDataType = EDataTypeBool;
-                    break;
-
-                // Uint types
-                case EDialCallType:
-                case EDialMaxConnSpeed:
-                case EDialType:
-                case EDialChargeCard:
-                case EDialIFAuthRetries:
-                case EDialIFCallbackType:
-                case EDialCallbackTimeout:
-                case EDialBearerName:
-                case EDialBearerSpeed:
-                case EDialBearerCE:
-                case EDialBearerService:
-                case EDialBearerProtocol:
-                case EDialRLPVersion:
-                case EDialIWFtoMS:
-                case EDialMStoIWF:
-                case EDialAckTimer:
-                case EDialRetransmissionAttempts:
-                case EDialResequencePeriod:
-                case EDialV42Compression:
-                case EDialV42CodeWords:
-                case EDialV42MaxLength:
-                case EHscsdAsymmetry:
-                case EHscsdUserInitUpgrade:
-                    iFields[i].iDataType = EDataTypeUint;
-                    break;
-
-                // 8-bit string types
-                case EDialIFCallbackInfo:
-                case EDialInitString:
-                    iFields[i].iDataType = EDataTypeText8;
-                    break;
-
-                default:
-                    break;
-                }
-            }
-
-        // Packet data fields
-        else if ( iBearerType == KUidPacketDataBearerType )
-            {
-            switch ( iFields[i].iId )
-                {
-                // String types
-                case EPacketDataAPName:
-                case EPacketDataPDPAddress:
-                case EPacketDataIFParams:
-                case EPacketDataIFNetworks:
-                case EPacketDataIFAuthName:
-                case EPacketDataIFAuthPass:
-                case EPacketDataIPNetmask:
-                case EPacketDataIPGateway:
-                case EPacketDataIPAddr:
-                case EPacketDataIPNameServer1:
-                case EPacketDataIPNameServer2:
-                case EPacketDataIPIP6NameServer1:
-                case EPacketDataIPIP6NameServer2:
-                    iFields[i].iDataType = EDataTypeText;
-                    break;
-
-                // Bool types
-                case EPacketDataDataCompression:
-                case EPacketDataHeaderCompression:
-                case EPacketDataUseEdge:
-                case EPacketDataAnonymousAccess:
-                case EPacketDataIFPromptForAuth:
-                case EPacketDataIPAddrFromServer:
-                case EPacketDataIPDNSAddrFromServer:
-                case EPacketDataIPIP6DNSAddrFromServer:
-                case EPacketDataEnableLcpExtension:
-                case EPacketDataDisablePlainTextAuth:
-                case EPacketDataServiceEnableLLMNR:
-                    iFields[i].iDataType = EDataTypeBool;
-                    break;
-
-                // Uint types
-                case EPacketDataPDPType:
-                case EPacketDataIFAuthRetries:
-                case EPacketDataApType:
-                    iFields[i].iDataType = EDataTypeUint;
-                    break;
-
-                default:
-                    break;
-                }
-            }
-
-        // WLAN fields
-        else if ( iBearerType == KUidWlanBearerType )
-            {
-            switch ( iFields[i].iId )
-            {
-                // String types
-                case EWlanIfNetworks:
-                case EWlanIpNetMask:
-                case EWlanIpGateway:
-                case EWlanIpAddr:
-                case EWlanIpNameServer1:
-                case EWlanIpNameServer2:
-                case EWlanIp6NameServer1:
-                case EWlanIp6NameServer2:
-                case EWlanSSID:
-                case EWlanUsedSSID:
-                    iFields[i].iDataType = EDataTypeText;
-                    break;
-
-                // Bool types
-                case EWlanIpAddrFromServer:
-                case EWlanIpDNSAddrFromServer:
-                case EWlanIp6DNSAddrFromServer:
-                case EWlanScanSSID:
-                case EWlanAllowSSIDRoaming:
-                    iFields[i].iDataType = EDataTypeBool;
-                    break;
-
-                // Uint types
-                case EWlanServiceId:
-                case EWlanConnectionMode:
-                case EWlanSecurityMode:
-                case EWlanAuthenticationMode:
-                case EWlanChannelID:
-                    iFields[i].iDataType = EDataTypeUint;
-                    break;
-
-                default:
-                    break;
-                }
-            }
-
-        else
-            {
-            HTI_LOG_TEXT( "Unknown bearer type" )
-            }
-        }
-    HTI_LOG_FUNC_OUT( "CHtiIAPHandler::ResolveFieldDataTypes" );
-    }
-
-
-// ----------------------------------------------------------------------------
-// CHtiIAPHandler::SendOkMsgL
-// Helper function for sending response messages.
-// ----------------------------------------------------------------------------
-void CHtiIAPHandler::SendOkMsgL( const TDesC8& aData )
-    {
-    HTI_LOG_FUNC_IN( "CHtiIAPHandler::SendOkMsgL" );
-    User::LeaveIfNull( iDispatcher );
-    HBufC8* temp = HBufC8::NewL( aData.Length() + 1 );
-    TPtr8 response = temp->Des();
-    response.Append( ( TChar ) CHtiMessagesServicePlugin::EResultOk );
-    response.Append( aData );
-    User::LeaveIfError( iDispatcher->DispatchOutgoingMessage(
-        temp, KHtiMessagesServiceUid ) );
-    HTI_LOG_FUNC_OUT( "CHtiIAPHandler::SendOkMsgL" );
-    }
-
-
-// ----------------------------------------------------------------------------
-// CHtiIAPHandler::SendErrorMessageL
-// Helper function for sending error response messages.
-// ----------------------------------------------------------------------------
-void CHtiIAPHandler::SendErrorMessageL( TInt aError, const TDesC8& aDescription )
-    {
-    HTI_LOG_FUNC_IN( "CHtiIAPHandler::SendErrorMessageL" );
-    User::LeaveIfNull( iDispatcher );
-    User::LeaveIfError( iDispatcher->DispatchOutgoingErrorMessage(
-        aError, aDescription, KHtiMessagesServiceUid ) );
-    HTI_LOG_FUNC_OUT( "CHtiIAPHandler::SendErrorMessageL" );
-    }
-
-
-// End of file