omaprovisioning/provisioning/cpdestinationnwadapter/src/cwpdestinationnwadapter.cpp
changeset 73 ae69c2e8bc34
parent 71 d2517372cc44
child 77 9f85c58c0592
--- a/omaprovisioning/provisioning/cpdestinationnwadapter/src/cwpdestinationnwadapter.cpp	Tue Sep 28 17:53:08 2010 +0530
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,380 +0,0 @@
-/*
-* Copyright (c) 2007-2008 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:    Receives and stores Destination network settings.
-*
-*/
-
-
-
-
-#include <e32base.h>
-#include <CWPAdapter.h>
-#include <CWPCharacteristic.h>
-#include <CWPParameter.h>
-#include <wpdestinationnwadapter.rsg>
-#include <e32des8.h>
-#include <WPAdapterUtil.h> // Adapter utils
-#include <utf.h> // Unicode conversion
-#include <cmmanagerext.h>
-#include <cmdestinationext.h>
-#include <cmconnectionmethodext.h>
-#include <cmmanagerdef.h>
-
-#include "cwpdestinationnwadapter.h"
-#include "wpdestinationnwdebug.h"
-
-_LIT( KDestinationNwAdapterName, "WPDestinationNwAdapter");
-_LIT( KDestinationNwAppID,       "w904C" ); // OMA CP registration document.
-_LIT8( KDestinationNwAppID8,     "w904C" ); // OMA CP registration document.
-
-
-// ---------------------------------------------------------------------------
-// CWPDestinationNwAdapter::CWPDestinationNwAdapter
-// ---------------------------------------------------------------------------
-//
-CWPDestinationNwAdapter::CWPDestinationNwAdapter() : CWPAdapter()
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CWPDestinationNwAdapter::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CWPDestinationNwAdapter::ConstructL()
-    {
-    DBG_PRINT( "CWPDestinationNwAdapter::ConstructL - begin" );
-    TFileName fileName;
-    Dll::FileName( fileName );
-    // Read settings title from localization file. The title is shown to UI
-    // when OMA CP message is provisioned using WAPPUSH.
-    iDefaultTitle = WPAdapterUtil::ReadHBufCL( 
-        fileName,
-        KDestinationNwAdapterName,
-        R_QTN_SM_HEAD_DESTINATION_NETWORK );
-    // Read default settings name from localization file.
-    iDefaultName = WPAdapterUtil::ReadHBufCL( 
-        fileName,
-        KDestinationNwAdapterName,
-        R_QTN_SM_DEFAULT_NAME_DESTINATION_NETWORK );
-    DBG_PRINT( "CWPDestinationNwAdapter::ConstructL - end" );
-    }
-
-// ---------------------------------------------------------------------------
-// CWPDestinationNwAdapter::NewL
-// ---------------------------------------------------------------------------
-//
-CWPDestinationNwAdapter* CWPDestinationNwAdapter::NewL()
-    {
-    CWPDestinationNwAdapter* self = new (ELeave) 
-        CWPDestinationNwAdapter;
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// CWPDestinationNwAdapter::~CWPDestinationNwAdapter
-// ---------------------------------------------------------------------------
-//
-CWPDestinationNwAdapter::~CWPDestinationNwAdapter()
-    {
-    DBG_PRINT( "CWPDestinationNwAdapter::~CWPDestinationNwAdapter - begin" );
-    delete iDefaultTitle;
-    delete iDefaultName;
-    iItems.ResetAndDestroy();
-    iItems.Close();
-    DBG_PRINT( "CWPDestinationNwAdapter::~CWPDestinationNwAdapter - end" );
-    }
-
-// ---------------------------------------------------------------------------
-// CWPDestinationNwAdapter::Des8ToUint32L()
-// Converts an 8 bit descriptor to TUint32.
-// ---------------------------------------------------------------------------
-//
-TUint32 CWPDestinationNwAdapter::Des8ToUint32L( const TDesC8& aDes )
-    {
-    TLex8 lex( aDes );
-    TUint32 value( 0 );
-    User::LeaveIfError( lex.Val( value, EDecimal ) );
-    return value;
-    }
-
-// ---------------------------------------------------------------------------
-// CWPDestinationNwAdapter::ItemCount
-// From class CWPAdapter.
-// Checks the number of settings items.
-// ---------------------------------------------------------------------------
-//
-TInt CWPDestinationNwAdapter::ItemCount() const
-    {
-    return iItems.Count();
-    }
-
-// ---------------------------------------------------------------------------
-// From class CWPAdapter.
-// CWPDestinationNwAdapter::SummaryTitle
-// Returns the summary title.
-// ---------------------------------------------------------------------------
-//
-const TDesC16& CWPDestinationNwAdapter::SummaryTitle( TInt /*aIndex*/ ) const
-    {
-    return *iDefaultTitle;
-    }
-
-// ---------------------------------------------------------------------------
-// CWPDestinationNwAdapter::SummaryText
-// From class CWPAdapter.
-// Returns the summary text of a destination network.
-// ---------------------------------------------------------------------------
-//
-const TDesC16& CWPDestinationNwAdapter::SummaryText( TInt aIndex ) const
-    {
-    if ( !iItems[aIndex]->SettingsName().Length() )
-        {
-        return *iDefaultName;
-        }
-    return iItems[aIndex]->SettingsName();
-    }
-
-// ---------------------------------------------------------------------------
-// CWPDestinationNwAdapter::SaveL
-// From class CWPAdapter.
-// Calls settings items saving method.
-// ---------------------------------------------------------------------------
-//
-void CWPDestinationNwAdapter::SaveL( TInt aIndex )
-    {
-    __ASSERT_ALWAYS( aIndex >= 0 && aIndex < iItems.Count(),
-        User::Leave( KErrArgument ) );
-
-    iItems[aIndex]->SaveL();
-    }
-
-// ---------------------------------------------------------------------------
-// CWPDestinationNwAdapter::CanSetAsDefault
-// From class CWPAdapter.
-// Not supported; always return EFalse.
-// ---------------------------------------------------------------------------
-//
-TBool CWPDestinationNwAdapter::CanSetAsDefault( TInt /*aIndex*/ ) const
-    {
-    return EFalse;
-    }
-
-// ---------------------------------------------------------------------------
-// CWPDestinationNwAdapter::DetailsL
-// From class CWPAdapter.
-// Not supported.
-// ---------------------------------------------------------------------------
-//
-TInt CWPDestinationNwAdapter::DetailsL( TInt /*aItem*/, 
-    MWPPairVisitor& /*aVisitor */ )
-    {
-    return KErrNotSupported;
-    }
-
-// ---------------------------------------------------------------------------
-// CWPDestinationNwAdapter::VisitL
-// From class CWPAdapter.
-// OMA CP characteristics are handled in this method.
-// ---------------------------------------------------------------------------
-//
-void CWPDestinationNwAdapter::VisitL( 
-    CWPCharacteristic& aCharacteristic )
-    {
-    DBG_PRINT( "CWPDestinationNwAdapter::VisitL( characteristic ) - begin" );
-    switch ( aCharacteristic.Type() )
-        {
-        // This adapter only handles APPLICATION characteristic.
-        case KWPApplication:
-            {
-            iCurrentItem = CWPDestinationNwItem::NewL();
-            // Set default name for destination - replaced later if a name
-            // has been provisioned.
-            iCurrentItem->SetSettingsNameL( iDefaultName->Des() );
-            aCharacteristic.AcceptL( *this );
-
-            // Settings are for Destination network - append current item to
-            // item array to be saved later.
-            if ( 0 == iAppId.Compare( KDestinationNwAppID() ) )
-                {
-                iItems.AppendL( iCurrentItem );
-                }
-            // Settings are not for Destination network.
-            else
-                {
-                delete iCurrentItem;
-                iCurrentItem = NULL;
-                }
-            break;
-            }
-        // All other than APPLICATION are ignored.
-        default:
-            break;
-        }
-    DBG_PRINT( "CWPDestinationNwAdapter::VisitL( characteristic ) - end" );
-    }
-
-// ---------------------------------------------------------------------------
-// CWPDestinationNwAdapter::VisitL
-// From class CWPAdapter.
-// Destination network parameters are handled in this method.
-// ---------------------------------------------------------------------------
-//
-void CWPDestinationNwAdapter::VisitL( CWPParameter& aParameter )
-    {
-    DBG_PRINT( "CWPDestinationNwAdapter::VisitL( parameter ) - begin" );
-    // tmpValue holds the value converted from Unicode to UTF8.
-    HBufC8* tmpValue = HBufC8::NewLC( aParameter.Value().Length() ); // CS:1
-    TPtr8 ptrTmpValue( tmpValue->Des() );
-    CnvUtfConverter::ConvertFromUnicodeToUtf8( ptrTmpValue,
-        aParameter.Value() );
-
-    switch ( aParameter.ID() )
-        {
-        // APPLICATION/APPID
-        case EWPParameterAppID:
-            {
-            iAppId.Set( aParameter.Value() );
-            break;
-            }
-
-        // APPLICATION/NAME
-        case EWPParameterName:
-            {
-            if ( iCurrentItem )
-                {
-                iCurrentItem->SetSettingsNameL( aParameter.Value() );
-                }
-            break;
-            }
-
-        // APPLICATION/APPREF
-        case EWPParameterAppRef:
-            {
-            if ( iCurrentItem )
-                {
-                iCurrentItem->SetAppRefL( tmpValue->Des() );
-                }
-            break;
-            }
-
-        // Other settings are ignored.
-        default:
-            {
-            break;
-            }
-        }
-    CleanupStack::PopAndDestroy( tmpValue ); // CS:0
-    DBG_PRINT( "CWPDestinationNwAdapter::VisitL( parameter ) - end" );
-    }
-
-// ---------------------------------------------------------------------------
-// CWPDestinationNwAdapter::VisitLinkL
-//
-// ---------------------------------------------------------------------------
-//
-void CWPDestinationNwAdapter::VisitLinkL( CWPCharacteristic& aLink )
-    {
-    if ( KWPNapDef == aLink.Type() && iCurrentItem )
-        {
-        iCurrentItem->AddNapDefL( &aLink );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CWPDestinationNwAdapter::GetSavingInfoL
-// APPID is set to [0], APPREF to [1] and saving info (storage ID) to [2].
-// ---------------------------------------------------------------------------
-//
-void CWPDestinationNwAdapter::GetSavingInfoL( TInt aIndex, 
-    RPointerArray<HBufC8>& aSavingInfo )
-    {
-    __ASSERT_ALWAYS( aIndex >= 0 && aIndex < iItems.Count(),
-        User::Leave( KErrArgument ) );
-
-    aSavingInfo.AppendL( KDestinationNwAppID8().AllocL() );
-    aSavingInfo.AppendL( iItems[aIndex]->AppRef().AllocL() );
-    aSavingInfo.AppendL( iItems[aIndex]->SaveData().AllocL() );
-    }
-
-// ---------------------------------------------------------------------------
-// CWPDestinationNwAdapter::ContextExtension
-// From class MWPContextExtension.
-// Returns a pointer to context extension.
-// ---------------------------------------------------------------------------
-//
-TInt CWPDestinationNwAdapter::ContextExtension( 
-    MWPContextExtension*& aExtension )
-    {
-    aExtension = this;
-    return KErrNone;
-    }
-
-// ---------------------------------------------------------------------------
-// CWPDestinationNwAdapter::SaveDataL
-// From class MWPContextExtension.
-// Returns ID of saved data.
-// ---------------------------------------------------------------------------
-//
-const TDesC8& CWPDestinationNwAdapter::SaveDataL( TInt aIndex ) const
-    {
-    __ASSERT_ALWAYS( aIndex >= 0 && aIndex < iItems.Count(),
-        User::Leave( KErrArgument ) );
-
-    return iItems[aIndex]->SaveData();
-    }
-
-// ---------------------------------------------------------------------------
-// CWPDestinationNwAdapter::DeleteL
-// From class MWPContextExtension.
-// Deletes a Destination network.
-// ---------------------------------------------------------------------------
-//
-void CWPDestinationNwAdapter::DeleteL( const TDesC8& aSaveData )
-    {
-    DBG_PRINT( "CWPDestinationNwAdapter::DeleteL - begin" );
-    RCmManagerExt cmManager;
-    cmManager.OpenL();
-    CleanupClosePushL( cmManager ); // CS:1
-    TUint32 destinationId = Des8ToUint32L( aSaveData );
-    RCmDestinationExt destination = cmManager.DestinationL( destinationId );
-    CleanupClosePushL( destination ); // CS:2
-    const TInt cmCount = destination.ConnectionMethodCount();
-    // First remove IAPs from destination network because this adapter must
-    // not delete IAPs.
-    for ( TInt counter = 0; counter < cmCount; counter++ )
-        {
-        destination.RemoveConnectionMethodL( 
-            destination.ConnectionMethodL( 0 ) );
-        destination.UpdateL();
-        }
-    CleanupStack::Pop( &destination ); // CS:1
-    destination.DeleteLD();
-    CleanupStack::PopAndDestroy( &cmManager ); // CS:0
-    DBG_PRINT( "CWPDestinationNwAdapter::DeleteL - end" );
-    }
-
-// ---------------------------------------------------------------------------
-// CWPDestinationNwAdapter::Uid
-// From class MWPContextExtension.
-// Returns the UID of this adapter.
-// ---------------------------------------------------------------------------
-//
-TUint32 CWPDestinationNwAdapter::Uid() const
-    {
-    return iDtor_ID_Key.iUid;
-    }
-// End of file.