diff -r b183ec05bd8c -r 19bba8228ff0 remotemgmt_plat/syncml_ds_customization_api/tsrc/exampledevinfextdataplugin/src/exampledevinfextdatacontainerplugin.cpp --- a/remotemgmt_plat/syncml_ds_customization_api/tsrc/exampledevinfextdataplugin/src/exampledevinfextdatacontainerplugin.cpp Tue Aug 31 16:04:06 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,241 +0,0 @@ -/* -* Copyright (c) 2010 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: Example Device Info Extension Data Container Plugin source file. -* -*/ - -// EXTERNAL INCLUDES -#include - -// CLASS HEADER -#include "exampledevinfextdatacontainerplugin.h" - -// ----------------------------------------------------------------------------- -// CExampleDevInfExtDataContainerPlugin::CExampleDevInfExtDataContainerPlugin() -// ----------------------------------------------------------------------------- -CExampleDevInfExtDataContainerPlugin::CExampleDevInfExtDataContainerPlugin() - { - } - -// ----------------------------------------------------------------------------- -// void CExampleDevInfExtDataContainerPlugin::ConstructL() -// ----------------------------------------------------------------------------- -void CExampleDevInfExtDataContainerPlugin::ConstructL() - { - } - -// ----------------------------------------------------------------------------- -// CExampleDevInfExtDataContainerPlugin* CExampleDevInfExtDataContainerPlugin::NewL() -// ----------------------------------------------------------------------------- -CExampleDevInfExtDataContainerPlugin* CExampleDevInfExtDataContainerPlugin::NewL() - { - CExampleDevInfExtDataContainerPlugin* self = - new (ELeave) CExampleDevInfExtDataContainerPlugin(); - CleanupStack::PushL( self ); - self->ConstructL(); - CleanupStack::Pop( self ); - return self; - } - -// ----------------------------------------------------------------------------- -// CExampleDevInfExtDataContainerPlugin::~CExampleDevInfExtDataContainerPlugin() -// ----------------------------------------------------------------------------- -CExampleDevInfExtDataContainerPlugin::~CExampleDevInfExtDataContainerPlugin() - { - for( TInt i = 0; i < iExtensionArray.Count(); i++ ) - { - iExtensionArray[ i ].iXValArray.Close(); - } - iExtensionArray.Close(); - } - -// ----------------------------------------------------------------------------- -// TInt CExampleDevInfExtDataContainerPlugin::GetExtensionCountL() -// ----------------------------------------------------------------------------- -TInt CExampleDevInfExtDataContainerPlugin::GetExtensionCountL() - { - return iExtensionArray.Count(); - } - -// ----------------------------------------------------------------------------- -// const TDesC8& CExampleDevInfExtDataContainerPlugin::GetExtNameL() -// ----------------------------------------------------------------------------- -const TDesC8& CExampleDevInfExtDataContainerPlugin::GetExtNameL( TInt aExtIndex ) - { - if( aExtIndex < 0 || aExtIndex >= iExtensionArray.Count() ) - { - // Illegal index - User::Leave( KErrArgument ); - } - - return iExtensionArray[ aExtIndex ].iXNam; - } - -// ----------------------------------------------------------------------------- -// TInt CExampleDevInfExtDataContainerPlugin::GetExtValueCountL() -// ----------------------------------------------------------------------------- -TInt CExampleDevInfExtDataContainerPlugin::GetExtValueCountL( TInt aExtIndex ) - { - if( aExtIndex < 0 || aExtIndex >= iExtensionArray.Count() ) - { - // Illegal index - User::Leave( KErrArgument ); - } - - return iExtensionArray[ aExtIndex ].iXValArray.Count(); - } - -// ----------------------------------------------------------------------------- -// const TDesC8& CExampleDevInfExtDataContainerPlugin::GetExtValueL() -// ----------------------------------------------------------------------------- -const TDesC8& CExampleDevInfExtDataContainerPlugin::GetExtValueL( TInt aExtIndex, - TInt aValueIndex ) - { - - // Check for illegal indices - if( aExtIndex < 0 || aExtIndex >= iExtensionArray.Count() ) - { - User::Leave( KErrArgument ); - } - if( aValueIndex < 0 || - aValueIndex >= iExtensionArray[ aExtIndex ].iXValArray.Count() ) - { - User::Leave( KErrArgument ); - } - - return iExtensionArray[ aExtIndex ].iXValArray[ aValueIndex ]; - } - -// ----------------------------------------------------------------------------- -// void CExampleDevInfExtDataContainerPlugin::ClearExtensions() -// ----------------------------------------------------------------------------- -void CExampleDevInfExtDataContainerPlugin::ClearExtensions() - { - for( TInt i = 0; i < iExtensionArray.Count(); i++ ) - { - iExtensionArray[ i ].iXValArray.Reset(); - } - iExtensionArray.Reset(); - } - -// ----------------------------------------------------------------------------- -// void CExampleDevInfExtDataContainerPlugin::InsertExtension() -// ----------------------------------------------------------------------------- -void CExampleDevInfExtDataContainerPlugin::InsertExtension( - const TDesC8& aXNam, const TDesC8& aXVal ) - { - TInt index = FindExtensionIndex( aXNam ); - if( index != KErrNotFound ) - { - AddXValToItem( index, aXVal ); - } - else - { - AddNewXValItem( aXNam, aXVal ); - } - } - -// ----------------------------------------------------------------------------- -// void CExampleDevInfExtDataContainerPlugin::RemoveExtension() -// ----------------------------------------------------------------------------- -void CExampleDevInfExtDataContainerPlugin::RemoveExtension( const TDesC8& aXNam ) - { - TInt index = FindExtensionIndex( aXNam ); - if( index != KErrNotFound ) - { - iExtensionArray.Remove( index ); - } - } - -// ----------------------------------------------------------------------------- -// void CExampleDevInfExtDataContainerPlugin::FindExtensionIndex() -// ----------------------------------------------------------------------------- -TInt CExampleDevInfExtDataContainerPlugin::FindExtensionIndex( - const TDesC8& aXNam ) - { - TInt index = KErrNotFound; - - for( TInt i = 0; i < iExtensionArray.Count(); i++ ) - { - TExampleDevInfExtExtensionItem item = iExtensionArray[ i ]; - if( aXNam.Compare( item.iXNam ) == 0 ) - { - index = i; - break; - } - } - return index; - } - -// ----------------------------------------------------------------------------- -// void CExampleDevInfExtDataContainerPlugin::AddXValToItem() -// ----------------------------------------------------------------------------- -void CExampleDevInfExtDataContainerPlugin::AddXValToItem( - const TInt aIndex, const TDesC8& aXVal ) - { - ASSERT( aIndex >= 0 ); - ASSERT( aIndex < iExtensionArray.Count() ); - - if( aXVal.Length() == 0 ) - { - // No XVal set, do not insert anything to XVal array - return; - } - else if( aXVal.Length() <= KExtensionElementMaxLength ) - { - iExtensionArray[ aIndex ].iXValArray.Append( aXVal ); - } - else - { - iExtensionArray[ aIndex ].iXValArray.Append( - aXVal.Left( KExtensionElementMaxLength ) ); - } - } - -// ----------------------------------------------------------------------------- -// void CExampleDevInfExtDataContainerPlugin::AddNewXValItem() -// ----------------------------------------------------------------------------- -void CExampleDevInfExtDataContainerPlugin::AddNewXValItem( - const TDesC8& aXNam, const TDesC8& aXVal ) - { - TExampleDevInfExtExtensionItem item; - - // Insert XNam - if( aXNam.Length() <= KExtensionElementMaxLength ) - { - item.iXNam = aXNam; - } - else - { - item.iXNam = aXNam.Left( KExtensionElementMaxLength ); - } - - // Insert XVal - if( aXVal.Length() > 0 ) - { - if( aXVal.Length() <= KExtensionElementMaxLength ) - { - item.iXValArray.Append( aXVal ); - } - else - { - item.iXValArray.Append( aXVal.Left( KExtensionElementMaxLength ) ); - } - } - - // Add to extension array as a new entry - iExtensionArray.Append( item ); - } - -// End of file