XDMEngine/XdmProvisioning/src/xdmprovitem.cpp
branchGCC_SURGE
changeset 28 d9861ae9169c
parent 23 77cb48a03620
parent 26 04ca1926b01c
--- a/XDMEngine/XdmProvisioning/src/xdmprovitem.cpp	Thu Jul 01 14:09:06 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,500 +0,0 @@
-/*
-* Copyright (c) 2006 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:    Provisioning item.
-*
-*/
-
-
-
-
-// INCLUDE FILES
-#include <CWPParameter.h>
-#include <CWPCharacteristic.h>
-#include <commdb.h>
-#include <XdmSettingsCollection.h>
-#include <XdmSettingsApi.h>
-
-#include "xdmprovitem.h"
-
-#ifdef _DEBUG
-    #include "xdmprovadapter.h"
-#endif
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CXdmProvItem::CXdmProvItem
-// 
-// -----------------------------------------------------------------------------
-//
-CXdmProvItem::CXdmProvItem():
-    iXdmSettingsId( KErrNotFound ),
-    iAppId( KNullDesC ),
-    iAppName( KNullDesC ),
-    iProviderId( KNullDesC ),
-    iSipReference( NULL ),
-    iToNapId( KNullDesC ),
-    iNapId( NULL ),
-    iNapName( KNullDesC ),
-    iAppRef( KNullDesC ),
-    iXcapRootUri( KNullDesC ),
-    iUserName( KNullDesC ),
-    iPassword( KNullDesC ),
-    iAuthType( KNullDesC ),
-    iSettingsSaved( EFalse )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CXdmProvItem::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CXdmProvItem* CXdmProvItem::NewL()
-    {
-    CXdmProvItem* self = new (ELeave) CXdmProvItem();
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CXdmProvItem::~CXdmProvItem
-// -----------------------------------------------------------------------------
-//
-CXdmProvItem::~CXdmProvItem()
-    {
-    iToAppReferences.Close();
-    delete iSipReference;
-    delete iNapId;
-    }    
-
-// -----------------------------------------------------------------------------
-// CXdmProvItem::Validate
-// -----------------------------------------------------------------------------
-//
-TBool CXdmProvItem::Validate() const
-    {
-    if ( !iAppId.Length() )
-        {
-#ifdef _DEBUG 
-    CXdmProvAdapter::WriteToLog( _L8( "CXdmProvItem::Validate  iAppId missing" ) );
-#endif
-        return EFalse;
-        }
-    else if ( iAppId.Compare( KXdmProvAppId ) )
-        {
-#ifdef _DEBUG 
-    CXdmProvAdapter::WriteToLog( _L8( "CXdmProvItem::Validate wrong iAppId" ) );
-#endif
-        return EFalse;
-        }
-    else if ( !iAppName.Length() )
-        {
-#ifdef _DEBUG 
-    CXdmProvAdapter::WriteToLog( _L8( "CXdmProvItem::Validate iAppName missing" ) );
-#endif
-        return EFalse;
-        }
-     else if ( !iToNapId.Length() )
-        {
-#ifdef _DEBUG 
-    CXdmProvAdapter::WriteToLog( _L8( "CXdmProvItem::Validate iNapId missing" ) );
-#endif
-        return EFalse;
-        }
-     else if ( !iXcapRootUri.Length() )
-        {
-#ifdef _DEBUG 
-    CXdmProvAdapter::WriteToLog( _L8( "CXdmProvItem::Validate iXcapRootUri missing" ) );
-#endif
-        return EFalse;
-        }
-    else
-        {
-#ifdef _DEBUG 
-    CXdmProvAdapter::WriteToLog( _L8( "CXdmProvItem::Validate returns true" ) );
-#endif
-        return ETrue;   
-        }
-    }
-        
-// -----------------------------------------------------------------------------
-// CXdmProvItem::Name
-// -----------------------------------------------------------------------------
-//  
-const TDesC& CXdmProvItem::Name() const
-    {
-    return iAppName; 
-    }
-
-// -----------------------------------------------------------------------------
-// CXdmProvItem::ApplicationId
-// -----------------------------------------------------------------------------
-//  
-const TDesC& CXdmProvItem::ApplicationId() const
-    {
-    return iAppId;
-    }
-    
-// -----------------------------------------------------------------------------
-// CXdmProvItem::XdmSettingsId
-// -----------------------------------------------------------------------------
-//  
-TInt CXdmProvItem::XdmSettingsId() const
-    {
-    return iXdmSettingsId;
-    }
-    
-// -----------------------------------------------------------------------------
-// CXdmProvItem::AppReference
-// -----------------------------------------------------------------------------
-//  
-const TDesC& CXdmProvItem::AppReference() const
-    {
-    return iAppRef;
-    }
-    
-// -----------------------------------------------------------------------------
-// CXdmProvItem::SaveL
-// -----------------------------------------------------------------------------
-//  
-TInt CXdmProvItem::SaveL()
-    {
-#ifdef _DEBUG 
-    CXdmProvAdapter::WriteToLog( _L8( "CXdmProvItem::SaveL" ) );
-#endif
- 
-    if( !iSettingsSaved )
-        {
-        CXdmSettingsCollection* settings = new (ELeave) CXdmSettingsCollection();
-        CleanupStack::PushL( settings );            // << settings
-        settings->AppendL( iAppId, EXdmPropAppId );
-        CheckExistingNamesL();
-        settings->AppendL( iAppName, EXdmPropName );
-        settings->AppendL( iProviderId, EXdmPropProvId );
-        FindAccessPointIdL();              
-        settings->AppendL( *iNapId, EXdmPropToNapId );
-        if( iSipReference )
-            {
-            settings->AppendL( *iSipReference, EXdmPropToAppRef ); 
-            }
-        settings->AppendL( iXcapRootUri, EXdmPropUri );
-        settings->AppendL( iUserName, EXdmPropAuthName );
-        settings->AppendL( iPassword, EXdmPropAuthSecret );
-        settings->AppendL( iAuthType, EXdmPropAuthType );
-        iXdmSettingsId = TXdmSettingsApi::CreateCollectionL( *settings );
-        CleanupStack::PopAndDestroy( settings );    // >>> settings
-        iSettingsSaved = ETrue;
-#ifdef _DEBUG 
-    CXdmProvAdapter::WriteToLog( _L8( "CXdmProvItem::SaveL settings saved" ) );
-#endif
-        }
-    
-    return KErrNone;
-    }
-
-// -----------------------------------------------------------------------------
-// CXdmProvItem::ToAppReferences
-// -----------------------------------------------------------------------------
-//
-const RArray<TPtrC>& CXdmProvItem::ToAppReferences() const
-    {
-    return iToAppReferences;
-    }
-
-// -----------------------------------------------------------------------------
-// CXdmProvItem::VisitL
-// -----------------------------------------------------------------------------
-//
-void CXdmProvItem::VisitL( CWPCharacteristic& aCharacteristic )
-    {
-    if ( KWPResource == aCharacteristic.Type( ) )
-        {
-         aCharacteristic.AcceptL( *this );
-#ifdef _DEBUG 
-    CXdmProvAdapter::WriteToLog( _L8( "CXdmProvItem::VisitL CWPCharacteristic" ) );
-#endif
-        }
-     }
-        
-// -----------------------------------------------------------------------------
-// CXdmProvItem::VisitL
-// -----------------------------------------------------------------------------
-//
-void CXdmProvItem::VisitL( CWPParameter& aParameter )
-    {
-#ifdef _DEBUG 
-    HBufC8* value = HBufC8::NewLC( aParameter.Value().Length() );   // << value
-    TPtr8 bufferPtr = value->Des();
-    bufferPtr.Copy( aParameter.Value() );
-    CXdmProvAdapter::WriteToLog( _L8( "CXdmProvItem::VisitL CWPParameter aParameter.Value() =%S" ), &bufferPtr );
-    CleanupStack::PopAndDestroy( value );                           // >>> value
-#endif
-    switch( aParameter.ID() )
-        {
-        case EWPParameterAppID:
-            {
-            iAppId.Set( aParameter.Value() );
-#ifdef _DEBUG 
-    CXdmProvAdapter::WriteToLog( _L8( "CXdmProvItem::EWPParameterAppID" ) );
-#endif
-            }
-            break;
-    
-        case EWPParameterProviderID:
-            {
-            iProviderId.Set( aParameter.Value() );
-#ifdef _DEBUG 
-    CXdmProvAdapter::WriteToLog( _L8( "CXdmProvItem::EWPParameterProviderID" ) );
-#endif
-            }
-            break;
-
-        case EWPParameterName:
-            {
-            iAppName.Set( aParameter.Value() );
-#ifdef _DEBUG 
-    CXdmProvAdapter::WriteToLog( _L8( "CXdmProvItem::EWPParameterName" ) );
-#endif
-            }
-            break;  
-            
-        case EWPParameterToAppRef:
-            {
-            iToAppReferences.Append( aParameter.Value() );  
-#ifdef _DEBUG 
-    CXdmProvAdapter::WriteToLog( _L8( "CXdmProvItem::EWPParameterToAppRef" ) );
-#endif
-            }
-            break;
-    
-        case EWPParameterToNapID:
-            {
-            iToNapId.Set( aParameter.Value() );
-#ifdef _DEBUG 
-    CXdmProvAdapter::WriteToLog( _L8( "CXdmProvItem::EWPParameterToNapID" ) );
-#endif
-            }
-            break; 
-            
-        case EWPParameterURI:
-            {
-            iXcapRootUri.Set( aParameter.Value() );
-#ifdef _DEBUG 
-    CXdmProvAdapter::WriteToLog( _L8( "CXdmProvItem::EWPParameterURI" ) );
-#endif
-            }
-            break;
-
-        case EWPParameterAAuthName:
-            {
-            iUserName.Set( aParameter.Value() );
-#ifdef _DEBUG 
-    CXdmProvAdapter::WriteToLog( _L8( "CXdmProvItem::EWPParameterAAuthName" ) );
-#endif
-            }
-            break;  
-            
-        case EWPParameterAAuthSecret:
-            {
-            iPassword.Set( aParameter.Value() );
-#ifdef _DEBUG 
-    CXdmProvAdapter::WriteToLog( _L8( "CXdmProvItem::EWPParameterAAuthSecret" ) );
-#endif
-            }
-            break;
-      
-        case EWPParameterAAuthType:
-            {
-            iAuthType.Set( aParameter.Value() );
-#ifdef _DEBUG 
-    CXdmProvAdapter::WriteToLog( _L8( "CXdmProvItem::EWPParameterAAuthType" ) );
-#endif
-            }
-            break; 
-            
-        case EWPParameterAppRef:
-            {
-            iAppRef.Set( aParameter.Value() );
-#ifdef _DEBUG 
-    CXdmProvAdapter::WriteToLog( _L8( "CXdmProvItem::EWPParameterAppRef" ) );
-#endif
-            }
-            break;   
-        default:
-            {
-            DetermineNamedParameter( aParameter.Name(), aParameter.Value() );
-            }
-            break;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXdmProvItem::DetermineNamedParameter
-// -----------------------------------------------------------------------------
-//
-void CXdmProvItem::DetermineNamedParameter( const TDesC& aName, const TDesC& aValue )
-    {
-    if ( !aName.Compare( KXdmProvAppRef ) )
-        {
-        iAppRef.Set( aValue );
-        }
-    else if ( !aName.Compare( KXdmProvToAppRef ) )
-        {
-        iToAppReferences.Append( aValue ); 
-        }
-    }
-// -----------------------------------------------------------------------------
-// CXdmProvItem::VisitLinkL
-// -----------------------------------------------------------------------------
-//
-void CXdmProvItem::VisitLinkL( CWPCharacteristic& aLink )
-    {
-#ifdef _DEBUG 
-    CXdmProvAdapter::WriteToLog( _L8( "CXdmProvItem::VisitLinkL" ) );
-#endif
-    if( KWPNapDef == aLink.Type() )
-        {        
-        // check that this is the correct one 
-        CArrayFix<TPtrC>* napId = new (ELeave) CArrayFixFlat<TPtrC>(1);
-        CleanupStack::PushL( napId );           // << napId
-        aLink.ParameterL( EWPParameterNapID, napId );
-        if ( 0 < napId->Count() )
-            {
-            if ( !napId->At(0).Compare( iToNapId ) )
-                {
-                SetNapDefL( aLink );
-                }
-            }      
-        CleanupStack::PopAndDestroy( napId );   // >>> napId
-        }
-    }
-    
-// -----------------------------------------------------------------------------
-// CXdmProvItem::SetNapDefL
-// -----------------------------------------------------------------------------
-//  
-void CXdmProvItem::SetNapDefL ( CWPCharacteristic& aLink )
-    {
-#ifdef _DEBUG 
-    CXdmProvAdapter::WriteToLog( _L8( "CXdmProvItem::SetNapDefL" ) );
-#endif  
-    // find the name of the access point 
-    CArrayFix<TPtrC>* name = new (ELeave) CArrayFixFlat<TPtrC>(1);
-    CleanupStack::PushL( name );        // << name
-    aLink.ParameterL( EWPParameterName, name );
-    if ( name->Count() > 0 )
-        {
-        iNapName.Set( name->At(0) );
-        }
-    CleanupStack::PopAndDestroy( name ); // >>> name
-        
-#ifdef _DEBUG 
-    CXdmProvAdapter::WriteToLog( _L8( "CXdmProvItem::SetNapDefL done" ) );
-#endif  
-    }
-// -----------------------------------------------------------------------------
-// CXdmProvItem::SetSipSettingsIdL
-// -----------------------------------------------------------------------------
-//  
-void CXdmProvItem::SetSipSettingsIdL( const TDesC8& aStorageIdValue )
-    {
-    delete iSipReference;
-    iSipReference = NULL;
-    iSipReference = HBufC::NewL( aStorageIdValue.Length() ); 
-    iSipReference->Des().Copy( aStorageIdValue );
-    }   
-
-// -----------------------------------------------------------------------------
-// CXdmProvItem::FindAccessPointIdL
-// -----------------------------------------------------------------------------
-// 
-void CXdmProvItem::FindAccessPointIdL ()
-    {       
-            
-    TInt result( KErrNone );
-    TUint32 idNum;
-    TBuf<KXdmProvNameLength> name;   
-    // Get IAP names and ids from the database
-    CCommsDatabase* commsDb = CCommsDatabase::NewL( EDatabaseTypeIAP ); 
-    CleanupStack::PushL( commsDb );             // << commsDb
-    commsDb->ShowHiddenRecords();    
-    CCommsDbTableView* view = commsDb->OpenTableLC( TPtrC( IAP ) ); // << view    
-    result = view->GotoFirstRecord();
-    
-    while( KErrNone == result )
-        {
-        view->ReadTextL( TPtrC( COMMDB_NAME ), name );
-        if ( KErrNotFound != name.Find( iNapName ) )
-            {
-            view->ReadUintL( TPtrC( COMMDB_ID ), idNum );
-#ifdef _DEBUG 
-    CXdmProvAdapter::WriteToLog( _L8( "CXdmProvItem::FindAccessPointIdL IAP found id=%d" ), idNum );
-#endif
-            }
-        result = view->GotoNextRecord();
-        }
-#ifdef _DEBUG 
-    CXdmProvAdapter::WriteToLog( _L8( "CXdmProvItem::FindAccessPointIdL IAP using id=%d" ), idNum );
-#endif
-    CleanupStack::PopAndDestroy( 2, commsDb );  // >>> view, commsDb
-    TBuf<KXdmProvIdLength> id;
-    id.AppendNum( idNum, EDecimal );
-    delete iNapId;
-    iNapId = NULL;
-    iNapId = id.AllocL();
-    }
-
-// -----------------------------------------------------------------------------
-// CXdmProvItem::CheckExistingNamesL()
-// -----------------------------------------------------------------------------
-// 
-void CXdmProvItem::CheckExistingNamesL( )
-    {    
-    TBool ready( EFalse );  
-    RArray<TInt> settingIds;
-    CleanupClosePushL( settingIds );                // << settingIds
-    CDesCArray* settingNames = TXdmSettingsApi::CollectionNamesLC( settingIds ); // << settingNames
-    TInt index( 0 );
-    while ( !ready )
-        {
-        TBool found ( EFalse );
-        TInt count = settingNames->MdcaCount();
-        TBuf<KXdmProvBufLength> tempName;
-        tempName.Copy( iAppName );
-        if ( index > 0 )
-            {
-            tempName.Append( KXdmProvStartBracket );
-            tempName.AppendNumFixedWidth( index, EDecimal, 2 );
-            tempName.Append( KXdmProvCloseBracket );
-            }
-        for ( TInt i(0); i < count && !found; i++ )
-            {
-            if ( !settingNames->MdcaPoint(i).CompareF( tempName ) )
-                {
-                found = ETrue;
-                index++;
-                }
-            }
-        if ( !found )
-            {
-            ready = ETrue;
-            iAppName.Set( tempName );
-            }
-        }
-    // only number used in next function, type of RArray
-    CleanupStack::PopAndDestroy( 2 );  // >>> settingNames, settingIds
-    }
-
-
-//  End of File  
-