--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/connectivitymodules/SeCon/wbxml/conmlhandler/src/sconconmlgenerator.cpp Wed Sep 01 12:20:56 2010 +0100
@@ -0,0 +1,1285 @@
+/*
+* Copyright (c) 2005-2007 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: ConML parser/generator
+*
+*/
+
+// -----------------------------------------------------------------------------
+// Includes
+// -----------------------------------------------------------------------------
+#include "sconconmlgenerator.h"
+#include "sconconmlhandlererror.h"
+#include "sconconmldtd.h"
+#include "sconxmlelement.h"
+#include "debug.h"
+
+// -----------------------------------------------------------------------------
+// CSConConMLGenerator
+// -----------------------------------------------------------------------------
+CSConConMLGenerator::CSConConMLGenerator()
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// ~CSConConMLGenerator
+// -----------------------------------------------------------------------------
+CSConConMLGenerator::~CSConConMLGenerator()
+ {
+ if (iCmdStack)
+ {
+ iCmdStack->Reset();
+ delete iCmdStack;
+ iCmdStack = NULL;
+ }
+
+ if ( iWBXMLWorkspace )
+ {
+ delete iWBXMLWorkspace;
+ iWBXMLWorkspace = NULL;
+ }
+
+ if ( iXMLWorkspace )
+ {
+ delete iXMLWorkspace;
+ iXMLWorkspace = NULL;
+ }
+
+ if (iCleanupStack)
+ {
+ iCleanupStack->ResetAndDestroy();
+ delete iCleanupStack;
+ iCleanupStack = NULL;
+ }
+
+ iElemStack.Close();
+ }
+
+// -----------------------------------------------------------------------------
+// NewL
+// -----------------------------------------------------------------------------
+CSConConMLGenerator* CSConConMLGenerator::NewL ()
+ {
+ LOGGER_ENTERFN( "CSConConMLGenerator::NewL()" );
+ CSConConMLGenerator* self = new ( ELeave ) CSConConMLGenerator();
+ CleanupStack::PushL(self);
+ self->ConstructL();
+ CleanupStack::Pop(); // self
+ LOGGER_LEAVEFN( "CSConConMLGenerator::NewL()" );
+ return self;
+ }
+
+// -----------------------------------------------------------------------------
+// ConstructL
+// -----------------------------------------------------------------------------
+void CSConConMLGenerator::ConstructL()
+ {
+ LOGGER_ENTERFN( "CSConConMLGenerator::ConstructL()" );
+ iCmdStack = CXMLStack<CXMLElement>::NewL();
+ iCleanupStack = CXMLStack<CXMLElement>::NewL();
+ iWBXMLWorkspace = CXMLWorkspace::NewL();
+ iXMLWorkspace = CXMLWorkspace::NewL();
+ LOGGER_LEAVEFN( "CSConConMLGenerator::ConstructL()" );
+ }
+
+// -----------------------------------------------------------------------------
+// SetCallbacks
+// -----------------------------------------------------------------------------
+void CSConConMLGenerator::SetCallback ( MWBXMLConMLCallback* aCallback )
+ {
+ LOGGER_ENTERFN( "CSConConMLGenerator::SetCallbacks()" );
+ iCallback = aCallback;
+ LOGGER_LEAVEFN( "CSConConMLGenerator::SetCallbacks()" );
+ }
+
+// -----------------------------------------------------------------------------
+// StartDocument
+// -----------------------------------------------------------------------------
+void CSConConMLGenerator::StartDocument(
+ TUint8 /*aVersion*/, TInt32 /*aPublicId*/, TUint32 /*aCharset*/ )
+ {
+ LOGGER_ENTERFN( "CSConConMLGenerator::StartDocumentL()" );
+ iCmdStack->Reset();
+ LOGGER_LEAVEFN( "CSConConMLGenerator::StartDocumentL()" );
+ }
+
+// -----------------------------------------------------------------------------
+// StartDocument
+// -----------------------------------------------------------------------------
+void CSConConMLGenerator::StartDocument(
+ TUint8 /*aVersion*/, const TDesC8& /*aPublicIdStr*/, TUint32 /*aCharset*/ )
+ {
+ LOGGER_ENTERFN( "CSConConMLGenerator::StartDocumentL()" );
+ iCmdStack->Reset();
+ LOGGER_LEAVEFN( "CSConConMLGenerator::StartDocumentL()" );
+ }
+
+// -----------------------------------------------------------------------------
+// StartElementL
+// -----------------------------------------------------------------------------
+void CSConConMLGenerator::StartElementL( TWBXMLTag aTag )
+ {
+ LOGGER_ENTERFN( "CSConConMLGenerator::StartElementL()" );
+ if( iCmdStack->Top() != 0 )
+ {
+ AddElement(iCmdStack->Top()->BeginElementL(
+ aTag, TXMLElementParams(iCallback, iCmdStack, iCleanupStack ) ) );
+ }
+ else
+ {
+ if( aTag == EConML )
+ {
+ AddElement(new (ELeave) ConML_ConML_t());
+ }
+ else
+ {
+ LOGGER_WRITE( "CSConConMLGenerator::StartElementL() : Leave KWBXMLParserErrorInvalidTag" );
+ User::Leave(KWBXMLParserErrorInvalidTag);
+ }
+ }
+ LOGGER_LEAVEFN( "CSConConMLGenerator::StartElementL()" );
+ }
+
+// -----------------------------------------------------------------------------
+// AddElement
+// -----------------------------------------------------------------------------
+void CSConConMLGenerator::AddElement( CXMLElement* aElement )
+ {
+ LOGGER_ENTERFN( "CSConConMLGenerator::AddElement()" );
+ if( aElement )
+ {
+ iCmdStack->Push(aElement);
+ if( aElement->NeedsCleanup() )
+ {
+ iCleanupStack->Push(aElement);
+ }
+ }
+ LOGGER_LEAVEFN( "CSConConMLGenerator::AddElement()" );
+ }
+
+// -----------------------------------------------------------------------------
+// CharactersL
+// -----------------------------------------------------------------------------
+void CSConConMLGenerator::CharactersL( const TDesC8& aBuffer )
+ {
+ LOGGER_ENTERFN( "CSConConMLGenerator::CharactersL()" );
+ if( iCmdStack->Top() != 0 )
+ {
+ iCmdStack->Top()->SetDataL(aBuffer);
+ }
+ else
+ {
+ LOGGER_WRITE( "CSConConMLGenerator::CharactersL() : Leave KWBXMLParserErrorInvalidTag" );
+ User::Leave(KWBXMLParserErrorInvalidTag);
+ }
+ LOGGER_LEAVEFN( "CSConConMLGenerator::CharactersL()" );
+ }
+
+// -----------------------------------------------------------------------------
+// EndElementL
+// -----------------------------------------------------------------------------
+void CSConConMLGenerator::EndElementL( TWBXMLTag aTag )
+ {
+ LOGGER_ENTERFN( "CSConConMLGenerator::EndElementL()" );
+ if( iCmdStack->Top() != 0 )
+ {
+ CXMLElement::TAction action = iCmdStack->Top()->EndElementL(
+ iCallback, aTag );
+ if( action != CXMLElement::ENone )
+ {
+ CXMLElement* elem = iCmdStack->Pop();
+ if( iCleanupStack->Top() == elem )
+ {
+ iCleanupStack->Pop();
+ }
+ if( action == CXMLElement::EPopAndDestroy )
+ {
+ delete elem;
+ }
+ }
+ }
+ LOGGER_LEAVEFN( "CSConConMLGenerator::EndElementL()" );
+ }
+
+// -----------------------------------------------------------------------------
+// WriteMUint32L
+// -----------------------------------------------------------------------------
+void CSConConMLGenerator::WriteMUint32L( TUint32 aValue )
+ {
+ LOGGER_ENTERFN( "CSConConMLGenerator::WriteMUint32L()" );
+ TUint8 temp[5];
+ TInt i(4);
+
+ temp[i--] = TUint8(aValue & 0x7F);
+ aValue >>= 7;
+ while( aValue > 0 )
+ {
+ temp[i--] = TUint8((aValue & 0x7F) | 0x80);
+ aValue >>= 7;
+ }
+
+ while( i < 4 )
+ {
+ iWBXMLWorkspace->WriteL(temp[++i]);
+ }
+ LOGGER_LEAVEFN( "CSConConMLGenerator::WriteMUint32L()" );
+ }
+
+// -----------------------------------------------------------------------------
+// WriteOpaqueDataL
+// -----------------------------------------------------------------------------
+void CSConConMLGenerator::WriteOpaqueDataL( const TDesC8& aData )
+ {
+ LOGGER_ENTERFN( "CSConConMLGenerator::WriteOpaqueDataL()" );
+ iWBXMLWorkspace->WriteL( OPAQUE );
+ WriteMUint32L( aData.Size() );
+ iWBXMLWorkspace->WriteL( aData );
+ iXMLWorkspace->WriteL( aData );
+ LOGGER_LEAVEFN( "CSConConMLGenerator::WriteOpaqueDataL()" );
+ }
+
+// -----------------------------------------------------------------------------
+// WriteInlineStringL
+// -----------------------------------------------------------------------------
+void CSConConMLGenerator::WriteInlineStringL( const TDesC8& aData )
+ {
+ LOGGER_ENTERFN( "CSConConMLGenerator::WriteInlineStringL()" );
+ iWBXMLWorkspace->WriteL( STR_I );
+ iWBXMLWorkspace->WriteL( aData );
+ iWBXMLWorkspace->WriteL( 0 );
+ iXMLWorkspace->WriteL( aData );
+ LOGGER_LEAVEFN( "CSConConMLGenerator::WriteInlineStringL()" );
+ }
+
+// -----------------------------------------------------------------------------
+// IndentL
+// -----------------------------------------------------------------------------
+void CSConConMLGenerator::IndentL()
+ {
+ LOGGER_ENTERFN( "CSConConMLGenerator::IndentL()" );
+ for( TInt i = 0; i < iElemStack.Count() + iInitialIndentLevel; i++ )
+ {
+ iXMLWorkspace->WriteL(KXMLIndent());
+ }
+ LOGGER_LEAVEFN( "CSConConMLGenerator::IndentL()" );
+ }
+
+// -----------------------------------------------------------------------------
+// TranslateElement
+// -----------------------------------------------------------------------------
+TPtrC8 CSConConMLGenerator::TranslateElement( TUint8 aElement )
+ {
+ LOGGER_ENTERFN( "CSConConMLGenerator::TranslateElement()" );
+ TPtrC8 buf( KConMLElements );
+ while( aElement-- )
+ {
+ TInt pos = buf.Find(KXMLElemenentSeparator());
+ if( pos == KErrNotFound )
+ {
+ return TPtrC8();
+ }
+ buf.Set(buf.Right(buf.Length() - pos - 1));
+ }
+
+ TInt pos = buf.Find(KXMLElemenentSeparator());
+
+ if( pos != KErrNotFound )
+ {
+ buf.Set(buf.Left(pos));
+ }
+ LOGGER_LEAVEFN( "CSConConMLGenerator::TranslateElement()" );
+ return buf;
+ }
+
+// -----------------------------------------------------------------------------
+// EndDocument
+// -----------------------------------------------------------------------------
+void CSConConMLGenerator::EndDocument()
+ {
+ LOGGER_ENTERFN( "CSConConMLGenerator::EndDocument()" );
+ LOGGER_LEAVEFN( "CSConConMLGenerator::EndDocument()" );
+ }
+
+
+// -----------------------------------------------------------------------------
+// GenerateConMLDocument
+// -----------------------------------------------------------------------------
+TInt CSConConMLGenerator::GenerateConMLDocument ( ConML_ConMLPtr_t aContent )
+ {
+ LOGGER_ENTERFN( "CSConConMLGenerator::GenerateConMLDocument()" );
+ iWBXMLWorkspace->Reset();
+ iWBXMLWorkspace->BeginTransaction();
+ iXMLWorkspace->Reset();
+ iXMLWorkspace->BeginTransaction();
+ TRAPD(result, AppendConMLL(aContent));
+ LOGGER_WRITE_1( "CSConConMLGenerator::GenerateConMLDocument()\
+ : returned %d", result );
+ return HandleResult(result);
+ }
+
+// -----------------------------------------------------------------------------
+// AppendConMLL
+// -----------------------------------------------------------------------------
+void CSConConMLGenerator::AppendConMLL( ConML_ConMLPtr_t aContent )
+ {
+ LOGGER_ENTERFN( "CSConConMLGenerator::AppendConMLL()" );
+ BeginDocumentL(KSConConMLVersion, KSConConMLPublicId, KSConConMLUTF8);
+ BeginElementL(EConML, ETrue);
+ AppendExecuteL( aContent->execute );
+ AppendGetStatusL( aContent->getStatus );
+ AppendCancelL( aContent->cancel );
+ AppendStatusL( aContent->status );
+ EndElementL(); // EConML
+ LOGGER_LEAVEFN( "CSConConMLGenerator::AppendConMLL()" );
+ }
+
+// -----------------------------------------------------------------------------
+// AppendExecuteL
+// -----------------------------------------------------------------------------
+void CSConConMLGenerator::AppendExecuteL( ConML_ExecutePtr_t aContent )
+ {
+ LOGGER_ENTERFN( "CSConConMLGenerator::AppendExecuteL()" );
+ if ( aContent )
+ {
+ BeginElementL( EConMLExecute, ETrue );
+ AppendPCDataL( EConMLID, aContent->id );
+ AppendInstallL( aContent->install );
+ AppendUnInstallL( aContent->unInstall );
+ AppendListInstalledAppsL( aContent->listInstalledApps );
+ AppendListDataOwnersL( aContent->listDataOwners );
+ AppendSetBURModeL( aContent->setBurMode );
+ AppendGetDataSizeL( aContent->getDataSize );
+ AppendRequestDataL( aContent->requestData );
+ AppendUpdateDeviceInfoL( aContent->updateDeviceInfo );
+ AppendListPublicFilesL( aContent->listPublicFiles );
+ AppendSupplyDataL( aContent->supplyData );
+ AppendGetDataOwnerStatusL( aContent->getDataOwnerStatus );
+ AppendGetMetadataL( aContent->getMetadata );
+
+ if ( aContent->reboot )
+ {
+ BeginElementL( EConMLReboot );
+ }
+ EndElementL(); // EConMLExecute
+ }
+ LOGGER_LEAVEFN( "CSConConMLGenerator::AppendExecuteL()" );
+ }
+
+// -----------------------------------------------------------------------------
+// AppendSupplyDataL
+// -----------------------------------------------------------------------------
+void CSConConMLGenerator::AppendSupplyDataL( ConML_SupplyDataPtr_t aContent )
+ {
+ LOGGER_ENTERFN( "CSConConMLGenerator::AppendSupplyDataL()" );
+ if ( aContent )
+ {
+ BeginElementL( EConMLSupplyData, ETrue );
+ AppendSIDListL( aContent->sid );
+ AppendResultsL( aContent->results );
+ EndElementL(); // EConMLSupplyData
+ }
+ LOGGER_LEAVEFN( "CSConConMLGenerator::AppendSupplyDataL()" );
+ }
+// -----------------------------------------------------------------------------
+// AppendInstallL
+// -----------------------------------------------------------------------------
+void CSConConMLGenerator::AppendInstallL( ConML_InstallPtr_t aContent )
+ {
+ LOGGER_ENTERFN( "CSConConMLGenerator::AppendInstallL()" );
+ if ( aContent)
+ {
+ BeginElementL( EConMLInstall, ETrue );
+ AppendPCDataL( EConMLName, aContent->name );
+ if ( aContent->instParams)
+ {
+ if ( aContent->instParams->param )
+ {
+ AppendInstParamsL( aContent->instParams );
+ }
+ else
+ {
+ BeginElementL( EConMLInstParams );
+ }
+ }
+ AppendResultsL( aContent->results );
+ EndElementL(); // EConMLInstall
+ }
+ LOGGER_LEAVEFN( "CSConConMLGenerator::AppendInstallL()" );
+ }
+
+// -----------------------------------------------------------------------------
+// AppendCancelL
+// -----------------------------------------------------------------------------
+void CSConConMLGenerator::AppendCancelL ( ConML_CancelPtr_t aContent )
+ {
+ LOGGER_ENTERFN( "CSConConMLGenerator::AppendCancelL()" );
+ if ( aContent )
+ {
+ BeginElementL( EConMLCancel, ETrue );
+ AppendPCDataL ( EConMLID, aContent->id );
+ AppendPCDataL( EConMLAll, aContent->all);
+ EndElementL(); // EConMLCancel
+ }
+ LOGGER_LEAVEFN( "CSConConMLGenerator::AppendCancelL()" );
+ }
+
+// -----------------------------------------------------------------------------
+// AppendStatusL
+// -----------------------------------------------------------------------------
+void CSConConMLGenerator::AppendStatusL ( ConML_StatusPtr_t aContent )
+ {
+ LOGGER_ENTERFN( "CSConConMLGenerator::AppendStatusL()" );
+ if ( aContent )
+ {
+ if ( aContent->task )
+ {
+ BeginElementL( EConMLStatus, ETrue );
+ AppendTaskListL( aContent->task );
+ EndElementL(); // EConMLStatus
+ }
+ else
+ {
+ BeginElementL( EConMLStatus );
+ }
+ }
+ LOGGER_LEAVEFN( "CSConConMLGenerator::AppendStatusL()" );
+ }
+
+// -----------------------------------------------------------------------------
+// AppendGetStatusL
+// -----------------------------------------------------------------------------
+void CSConConMLGenerator::AppendGetStatusL( ConML_GetStatusPtr_t aContent )
+ {
+ LOGGER_ENTERFN( "CSConConMLGenerator::AppendGetStatusL()" );
+ if ( aContent )
+ {
+ BeginElementL( EConMLGetStatus, ETrue );
+ AppendPCDataL( EConMLID, aContent->id);
+ if ( aContent->all )
+ {
+ BeginElementL( EConMLAll );
+ }
+ EndElementL(); // EConMLGetStatus
+ }
+ LOGGER_ENTERFN( "CSConConMLGenerator::AppendGetStatusL()" );
+ }
+
+// -----------------------------------------------------------------------------
+// AppendRebootL
+// -----------------------------------------------------------------------------
+void CSConConMLGenerator::AppendRebootL( ConML_RebootPtr_t aContent )
+ {
+ if ( aContent )
+ {
+ BeginElementL( EConMLReboot, ETrue );
+ AppendResultsL( aContent->results );
+ EndElementL(); // EConMLReboot
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// AppendTaskL
+// -----------------------------------------------------------------------------
+void CSConConMLGenerator::AppendTaskL( ConML_TaskPtr_t aContent )
+ {
+ LOGGER_ENTERFN( "CSConConMLGenerator::AppendTaskL()" );
+ if ( aContent )
+ {
+ BeginElementL( EConMLTask, ETrue );
+ AppendPCDataL( EConMLID, aContent->id );
+ AppendInstallL(aContent->install );
+ AppendUnInstallL( aContent->unInstall );
+ AppendListInstalledAppsL ( aContent->listInstalledApps );
+ AppendListDataOwnersL ( aContent->listDataOwners );
+ AppendSetBURModeL ( aContent->setBurMode );
+ AppendGetDataSizeL ( aContent->getDataSize );
+ AppendRequestDataL ( aContent->requestData );
+ AppendUpdateDeviceInfoL ( aContent->updateDeviceInfo);
+ AppendListPublicFilesL ( aContent->listPublicFiles );
+ AppendGetDataOwnerStatusL( aContent->getDataOwnerStatus );
+ AppendSupplyDataL( aContent->supplyData );
+ AppendRebootL( aContent->reboot );
+ AppendGetMetadataL( aContent->getMetadata );
+ EndElementL();
+ }
+ LOGGER_LEAVEFN( "CSConConMLGenerator::AppendTaskL()" );
+ }
+
+// -----------------------------------------------------------------------------
+// AppendTaskListL
+// -----------------------------------------------------------------------------
+void CSConConMLGenerator::AppendTaskListL( ConML_TaskListPtr_t aContent )
+ {
+ LOGGER_ENTERFN( "CSConConMLGenerator::AppendTaskListL()" );
+ for ( ConML_TaskListPtr_t p = aContent; p && p->data; p=p->next )
+ {
+ AppendTaskL( p->data );
+ }
+ LOGGER_LEAVEFN( "CSConConMLGenerator::AppendTaskListL()" );
+ }
+
+// -----------------------------------------------------------------------------
+// AppendListInstalledAppsL
+// -----------------------------------------------------------------------------
+void CSConConMLGenerator::AppendListInstalledAppsL (
+ ConML_ListInstalledAppsPtr_t aContent )
+ {
+ LOGGER_ENTERFN( "CSConConMLGenerator::AppendListInstalledAppsL()" );
+ if ( aContent )
+ {
+ BeginElementL( EConMLListInstalledApps, ETrue );
+ AppendDrivesL( aContent->drives );
+ if ( aContent ->all )
+ {
+ BeginElementL( EConMLAll );
+ }
+ AppendResultsL( aContent->results );
+ EndElementL(); // EConMLListInstalledApps
+ }
+ LOGGER_LEAVEFN( "CSConConMLGenerator::AppendListInstalledAppsL()" );
+ }
+
+// -----------------------------------------------------------------------------
+// AppendListDataOwnersL
+// -----------------------------------------------------------------------------
+void CSConConMLGenerator::AppendListDataOwnersL (
+ ConML_ListDataOwnersPtr_t aContent )
+ {
+ LOGGER_ENTERFN( "CSConConMLGenerator::AppendListDataOwnersL()" );
+ if ( aContent )
+ {
+ if ( aContent->results )
+ {
+ BeginElementL( EConMLListDataOwners, ETrue );
+ AppendResultsL( aContent->results );
+ EndElementL(); // EConMLListDataOwners
+ }
+ else
+ {
+ BeginElementL( EConMLListDataOwners );
+ }
+ }
+ LOGGER_LEAVEFN( "CSConConMLGenerator::AppendListDataOwnersL()" );
+ }
+
+// -----------------------------------------------------------------------------
+// CSConConMLGanerator::AppendBUROptionsL
+// -----------------------------------------------------------------------------
+void CSConConMLGenerator::AppendBUROptionsL( ConML_BUROptionsPtr_t aContent )
+ {
+ LOGGER_ENTERFN( "CSConConMLGenerator::AppendBUROptionsL()" );
+ if ( aContent )
+ {
+ BeginElementL( EConMLBUROptions, ETrue );
+ if ( aContent->requiresReboot )
+ {
+ BeginElementL( EConMLRequiresReboot );
+ }
+ if ( aContent->hasFiles )
+ {
+ AppendPCDataL( EConMLHasFiles, aContent->hasFiles );
+ }
+ if ( aContent->supportsInc )
+ {
+ BeginElementL( EConMLSupportsInc );
+ }
+ if ( aContent->delayToPrepareData )
+ {
+ BeginElementL( EConMLDelayToPrepareData );
+ }
+ EndElementL(); // EConMLBUROptions
+ }
+ LOGGER_LEAVEFN( "CSConConMLGenerator::AppendBUROptionsL()" );
+ }
+
+// -----------------------------------------------------------------------------
+// AppendSetBURModeL
+// -----------------------------------------------------------------------------
+void CSConConMLGenerator::AppendSetBURModeL( ConML_SetBURModePtr_t aContent )
+ {
+ LOGGER_ENTERFN( "CSConConMLGenerator::AppendSetBURModeL()" );
+ if ( aContent )
+ {
+ BeginElementL( EConMLSetBURMode, ETrue );
+ AppendDrivesL( aContent->drives );
+ AppendPCDataL( EConMLPartialType, aContent->partialType );
+ AppendPCDataL( EConMLIncType, aContent->incType );
+ AppendResultsL( aContent->results );
+ EndElementL(); //EConMLSetBURMode
+ }
+ LOGGER_LEAVEFN( "CSConConMLGenerator::AppendSetBURModeL()" );
+ }
+
+// -----------------------------------------------------------------------------
+// AppendUnInstallL
+// -----------------------------------------------------------------------------
+void CSConConMLGenerator::AppendUnInstallL( ConML_UnInstallPtr_t aContent )
+ {
+ LOGGER_ENTERFN( "CSConConMLGenerator::AppendUnInstallL()" );
+ if ( aContent )
+ {
+ BeginElementL( EConMLUnInstall, ETrue );
+ AppendApplicationsL( aContent->applications );
+ AppendInstParamsL( aContent->instParams );
+ AppendResultsL( aContent->results );
+ EndElementL(); // EConMLUnInstall
+ }
+ LOGGER_LEAVEFN( "CSConConMLGenerator::AppendUnInstallL()" );
+ }
+
+// -----------------------------------------------------------------------------
+// AppendGetDataSizeL
+// -----------------------------------------------------------------------------
+void CSConConMLGenerator::AppendGetDataSizeL( ConML_GetDataSizePtr_t aContent )
+ {
+ LOGGER_ENTERFN( "CSConConMLGenerator::AppendGetDataSizeL()" );
+ if ( aContent )
+ {
+ BeginElementL( EConMLGetDataSize, ETrue );
+ AppendDataOwnersL( aContent->dataOwners );
+ AppendResultsL( aContent->results );
+ EndElementL(); //EConMLGetDataSize
+ }
+ LOGGER_LEAVEFN( "CSConConMLGenerator::AppendGetDataSizeL()" );
+ }
+
+// -----------------------------------------------------------------------------
+// AppendRequestDataL
+// -----------------------------------------------------------------------------
+void CSConConMLGenerator::AppendRequestDataL( ConML_RequestDataPtr_t aContent )
+ {
+ LOGGER_ENTERFN( "CSConConMLGenerator::AppendRequestDataL()" );
+ if ( aContent )
+ {
+ BeginElementL( EConMLRequestData, ETrue );
+ AppendSIDListL( aContent->sid );
+ AppendResultsL( aContent->results );
+ EndElementL();//EConMLRequestData
+ }
+ LOGGER_LEAVEFN( "CSConConMLGenerator::AppendRequestDataL()" );
+ }
+
+// -----------------------------------------------------------------------------
+// AppendUpdateDeviceInfoL
+// -----------------------------------------------------------------------------
+void CSConConMLGenerator::AppendUpdateDeviceInfoL(
+ ConML_UpdateDeviceInfoPtr_t aContent )
+ {
+ LOGGER_ENTERFN( "CSConConMLGenerator::AppendUpdateDeviceInfoL()" );
+ if ( aContent )
+ {
+ BeginElementL(EConMLUpdateDeviceInfo, ETrue);
+ AppendDeviceInfoL( aContent-> deviceInfo );
+ AppendResultsL( aContent->results );
+ EndElementL();// EConMLUpdateDeviceInfo
+ }
+ LOGGER_LEAVEFN( "CSConConMLGenerator::AppendUpdateDeviceInfoL()" );
+ }
+
+// -----------------------------------------------------------------------------
+// AppendListPublicFilesL
+// -----------------------------------------------------------------------------
+void CSConConMLGenerator::AppendListPublicFilesL(
+ ConML_ListPublicFilesPtr_t aContent )
+ {
+ LOGGER_ENTERFN( "CSConConMLGenerator::AppendListPublicFilesL()" );
+ if ( aContent )
+ {
+ BeginElementL( EConMLListPublicFiles, ETrue );
+ AppendSIDListL ( aContent->sid );
+ AppendResultsL( aContent->results );
+ EndElementL(); // EConMLListPublicFiles
+ }
+ LOGGER_LEAVEFN( "CSConConMLGenerator::AppendListPublicFilesL()" );
+ }
+
+// -----------------------------------------------------------------------------
+// AppendApplicationL
+// -----------------------------------------------------------------------------
+void CSConConMLGenerator::AppendApplicationL( ConML_ApplicationPtr_t aContent )
+ {
+ LOGGER_ENTERFN( "CSConConMLGenerator::AppendApplicationL()" );
+ if ( aContent )
+ {
+ BeginElementL(EConMLApplication, ETrue );
+ AppendPCDataL( EConMLName, aContent->name );
+ AppendPCDataL( EConMLUID, aContent->uid );
+ EndElementL(); //EConMLApplication
+ }
+ LOGGER_LEAVEFN( "CSConConMLGenerator::AppendApplicationL()" );
+ }
+
+// -----------------------------------------------------------------------------
+// AppendApplicationListL
+// -----------------------------------------------------------------------------
+void CSConConMLGenerator::AppendApplicationListL(
+ ConML_ApplicationListPtr_t aContent )
+ {
+ LOGGER_ENTERFN( "CSConConMLGenerator::AppendApplicationListL()" );
+ for ( ConML_ApplicationListPtr_t p = aContent; p && p->data; p = p->next )
+ {
+ AppendApplicationL( p->data );
+ }
+ LOGGER_LEAVEFN( "CSConConMLGenerator::AppendApplicationListL()" );
+ }
+
+// -----------------------------------------------------------------------------
+// AppendApplicationsL
+// -----------------------------------------------------------------------------
+void CSConConMLGenerator::AppendApplicationsL(
+ ConML_ApplicationsPtr_t aContent )
+ {
+ LOGGER_ENTERFN( "CSConConMLGenerator::AppendApplicationsL()" );
+ if ( aContent )
+ {
+ BeginElementL( EConMLApplications, ETrue );
+ AppendApplicationListL( aContent->application );
+ EndElementL(); // EConMLApplications
+ }
+ LOGGER_LEAVEFN( "CSConConMLGenerator::AppendApplicationsL()" );
+ }
+
+// -----------------------------------------------------------------------------
+// AppendParamL
+// -----------------------------------------------------------------------------
+void CSConConMLGenerator::AppendParamL( ConML_ParamPtr_t aContent )
+ {
+ LOGGER_ENTERFN( "CSConConMLGenerator::AppendParamL()" );
+ if ( aContent )
+ {
+ BeginElementL( EConMLParam, ETrue );
+ AppendPCDataL( EConMLName, aContent->name );
+ AppendPCDataL( EConMLValue, aContent->value );
+ EndElementL(); // EConMLParam
+ }
+ LOGGER_LEAVEFN( "CSConConMLGenerator::AppendParamL()" );
+ }
+
+// -----------------------------------------------------------------------------
+// AppendParamListL
+// -----------------------------------------------------------------------------
+void CSConConMLGenerator::AppendParamListL( ConML_ParamListPtr_t aContent )
+ {
+ LOGGER_ENTERFN( "CSConConMLGenerator::AppendParamListL()" );
+ for ( ConML_ParamListPtr_t p = aContent; p && p->data; p = p->next )
+ {
+ AppendParamL( p-> data );
+ }
+ LOGGER_LEAVEFN( "CSConConMLGenerator::AppendParamListL()" );
+ }
+
+// -----------------------------------------------------------------------------
+// AppendInstParamsL
+// -----------------------------------------------------------------------------
+void CSConConMLGenerator::AppendInstParamsL( ConML_InstParamsPtr_t aContent )
+ {
+ LOGGER_ENTERFN( "CSConConMLGenerator::AppendInstParamsLionsL()" );
+ if ( aContent )
+ {
+ BeginElementL( EConMLInstParams, ETrue );
+ AppendParamListL( aContent->param );
+ EndElementL(); //EConMLInstParams
+ }
+ LOGGER_LEAVEFN( "CSConConMLGenerator::AppendInstParamsL()" );
+ }
+
+// -----------------------------------------------------------------------------
+// AppendProgressL
+// -----------------------------------------------------------------------------
+void CSConConMLGenerator::AppendProgressL( ConML_ProgressPtr_t aContent )
+ {
+ LOGGER_ENTERFN( "CSConConMLGenerator::AppendProgressL()" );
+ if ( aContent )
+ {
+ BeginElementL( EConMLProgress, ETrue );
+ AppendPCDataL( EConMLValue, aContent->value );
+ EndElementL(); // EconMLProgress
+ }
+ LOGGER_LEAVEFN( "CSConConMLGenerator::AppendProgressL()" );
+ }
+
+// -----------------------------------------------------------------------------
+// AppendResultsL
+// -----------------------------------------------------------------------------
+void CSConConMLGenerator::AppendResultsL( ConML_ResultsPtr_t aContent )
+ {
+ LOGGER_ENTERFN( "CSConConMLGenerator::AppendResultsL()" );
+ if ( aContent )
+ {
+ BeginElementL( EConMLResults, ETrue );
+ if ( aContent->complete )
+ {
+ BeginElementL( EConMLComplete );
+ }
+ AppendProgressL( aContent->progress );
+ AppendApplicationsL( aContent->applications );
+ AppendDataOwnersL( aContent->dataOwners );
+ if ( aContent->filename )
+ {
+ AppendPCDataL( EConMLFilename, aContent->filename );
+ }
+ AppendPCDataL( EConMLData, aContent->data );
+ if ( aContent->moreData )
+ {
+ BeginElementL( EConMLMoreData );
+ }
+ AppendDeviceInfoL( aContent->deviceInfo );
+ AppendFilesL( aContent->files );
+ EndElementL(); //EConMLResults
+ }
+ LOGGER_LEAVEFN( "CSConConMLGenerator::AppendResultsL()" );
+ }
+
+// -----------------------------------------------------------------------------
+// AppendDriveL
+// -----------------------------------------------------------------------------
+void CSConConMLGenerator::AppendDriveL( ConML_DrivePtr_t aContent )
+ {
+ LOGGER_ENTERFN( "CSConConMLGenerator::AppendDriveL()" );
+ if ( aContent )
+ {
+ BeginElementL( EConMLDrive, ETrue );
+ AppendPCDataL( EConMLName, aContent->name );
+ EndElementL(); //EConMLDrive
+ }
+ LOGGER_LEAVEFN( "CSConConMLGenerator::AppendDriveL()" );
+ }
+
+// -----------------------------------------------------------------------------
+// AppendDriveListL
+// -----------------------------------------------------------------------------
+void CSConConMLGenerator::AppendDriveListL( ConML_DriveListPtr_t aContent )
+ {
+ LOGGER_ENTERFN( "CSConConMLGenerator::AppendDriveListL()" );
+ for ( ConML_DriveListPtr_t p = aContent; p && p->data; p=p->next )
+ {
+ AppendDriveL( p->data );
+ }
+ LOGGER_LEAVEFN( "CSConConMLGenerator::AppendDriveListL()" );
+ }
+
+// -----------------------------------------------------------------------------
+// AppendDrivesL
+// -----------------------------------------------------------------------------
+void CSConConMLGenerator::AppendDrivesL( ConML_DrivesPtr_t aContent )
+ {
+ LOGGER_ENTERFN( "CSConConMLGenerator::AppendDrivesL()" );
+ if ( aContent )
+ {
+ BeginElementL( EConMLDrives, ETrue );
+ AppendDriveListL( aContent->drive );
+ EndElementL(); // EConMLDrives
+ }
+ LOGGER_LEAVEFN( "CSConConMLGenerator::AppendDrivesL()" );
+ }
+
+// -----------------------------------------------------------------------------
+// AppendDataOwnersL
+// -----------------------------------------------------------------------------
+void CSConConMLGenerator::AppendDataOwnersL( ConML_DataOwnersPtr_t aContent )
+ {
+ LOGGER_ENTERFN( "CSConConMLGenerator::AppendDataOwnersL()" );
+ if ( aContent )
+ {
+ BeginElementL( EConMLDataOwners, ETrue );
+ AppendSIDListL( aContent->sid );
+ EndElementL(); //EConMLDataOwners
+ }
+ LOGGER_LEAVEFN( "CSConConMLGenerator::AppendDataOwnersL()" );
+ }
+
+// -----------------------------------------------------------------------------
+// AppendGetDataOwnerStatusL
+// -----------------------------------------------------------------------------
+void CSConConMLGenerator::AppendGetDataOwnerStatusL
+ ( ConML_GetDataOwnerStatusPtr_t aContent )
+ {
+ LOGGER_ENTERFN( "CSConConMLGenerator::AppendDataOwnerStatusL()" );
+ if ( aContent)
+ {
+ BeginElementL( EConMLGetDataOwnerStatus, ETrue );
+ AppendDataOwnersL( aContent->dataOwners );
+ AppendResultsL( aContent->results );
+ EndElementL(); // EconMLGetDataOwnerStatus
+ }
+ LOGGER_ENTERFN( "CSConConMLGenerator::AppendDataOwnerStatusL()" );
+ }
+
+// -----------------------------------------------------------------------------
+// AppendGetMetadataL
+// -----------------------------------------------------------------------------
+void CSConConMLGenerator::AppendGetMetadataL
+ ( ConML_GetMetadataPtr_t aContent )
+ {
+ LOGGER_ENTERFN( "CSConConMLGenerator::AppendGetMetadataL()" );
+ if ( aContent)
+ {
+ BeginElementL( EConMLGetMetadata, ETrue );
+ AppendPCDataL( EConMLFilename, aContent->filename );
+ AppendResultsL( aContent->results );
+ EndElementL(); // EConMLGetMetadata
+ }
+ LOGGER_ENTERFN( "CSConConMLGenerator::AppendGetMetadataL()" );
+ }
+
+// -----------------------------------------------------------------------------
+// AppendPackageInfoL
+// -----------------------------------------------------------------------------
+void CSConConMLGenerator::AppendPackageInfoL ( ConML_PackageInfoPtr_t aContent )
+ {
+ if ( aContent )
+ {
+ BeginElementL( EConMLPackageInfo, ETrue );
+ AppendPCDataL( EConMLName, aContent->name );
+ EndElementL(); // EConMLPackageInfo
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// AppendSIDL
+// -----------------------------------------------------------------------------
+void CSConConMLGenerator::AppendSIDL( ConML_SIDPtr_t aContent )
+ {
+ LOGGER_ENTERFN( "CSConConMLGenerator::AppendSIDL()" );
+ if ( aContent )
+ {
+ BeginElementL( EConMLSID, ETrue );
+ AppendPCDataL( EConMLType, aContent->type );
+ AppendPCDataL( EConMLUID, aContent->uid );
+ AppendPCDataL( EConMLDataOwnerStatus, aContent->dataOwnerStatus );
+ AppendDrivesL( aContent->drives );
+ if ( aContent->size )
+ {
+ AppendPCDataL( EConMLSize, aContent->size );
+ }
+ AppendPackageInfoL( aContent->packageInfo );
+ AppendBUROptionsL( aContent->burOptions );
+ AppendPCDataL( EConMLTransferDataType, aContent->transferDataType );
+ AppendPCDataL( EConMLData, aContent->data );
+ if ( aContent->moreData)
+ {
+ BeginElementL(EConMLMoreData );
+ }
+ EndElementL(); // EconMLSID
+ }
+ LOGGER_LEAVEFN( "CSConConMLGenerator::AppendSIDL()" );
+ }
+
+// -----------------------------------------------------------------------------
+// AppendSIDListL
+// -----------------------------------------------------------------------------
+void CSConConMLGenerator::AppendSIDListL( ConML_SIDListPtr_t aContent )
+ {
+ LOGGER_LEAVEFN( "CSConConMLGenerator::AppendSIDListL()" );
+ for ( ConML_SIDListPtr_t p = aContent; p && p->data; p=p->next )
+ {
+ AppendSIDL( p->data );
+ }
+ LOGGER_LEAVEFN( "CSConConMLGenerator::AppendSIDListL()" );
+ }
+
+// -----------------------------------------------------------------------------
+// AppendDeviceInfoL
+// -----------------------------------------------------------------------------
+void CSConConMLGenerator::AppendDeviceInfoL( ConML_DeviceInfoPtr_t aContent )
+ {
+ LOGGER_ENTERFN( "CSConConMLGenerator::AppendDeviceInfoL()" );
+ if ( aContent )
+ {
+ BeginElementL( EConMLDeviceInfo, ETrue );
+ AppendPCDataL( EConMLVersion, aContent->version );
+ AppendSupportedMethodsL ( aContent->supportedMethods );
+ AppendPCDataL(EConMLMaxObjectSize, aContent->maxObjectSize );
+ EndElementL(); // EConMLDeviceInfo
+ }
+ LOGGER_LEAVEFN( "CSConConMLGenerator::AppendDeviceInfoL()" );
+ }
+
+// -----------------------------------------------------------------------------
+// AppendFilesL
+// -----------------------------------------------------------------------------
+void CSConConMLGenerator::AppendFilesL( ConML_FilesPtr_t aContent )
+ {
+ LOGGER_ENTERFN( "CSConConMLGenerator::AppendFilesL()" );
+ if ( aContent )
+ {
+ BeginElementL( EConMLFiles, ETrue );
+ AppendFileListL( aContent->file );
+ EndElementL(); // EConMLFiles
+ }
+ LOGGER_LEAVEFN( "CSConConMLGenerator::AppendFilesL()" );
+ }
+
+// -----------------------------------------------------------------------------
+// AppendSupportedMethodsL
+// -----------------------------------------------------------------------------
+void CSConConMLGenerator::AppendSupportedMethodsL
+ ( ConML_SupportedMethodsPtr_t aContent )
+ {
+ LOGGER_ENTERFN( "CSConConMLGenerator::AppendSupportedMethodsL()" );
+ if ( aContent )
+ {
+ BeginElementL( EConMLSupportedMethods, ETrue );
+ if ( aContent->install )
+ {
+ BeginElementL( EConMLInstall );
+ }
+ if ( aContent->unInstall )
+ {
+ BeginElementL( EConMLUnInstall );
+ }
+ if ( aContent->listInstalledApps )
+ {
+ BeginElementL( EConMLListInstalledApps );
+ }
+ if ( aContent->listDataOwners )
+ {
+ BeginElementL( EConMLListDataOwners );
+ }
+ if ( aContent->setBurMode )
+ {
+ BeginElementL( EConMLSetBURMode );
+ }
+ if ( aContent->getDataSize )
+ {
+ BeginElementL( EConMLGetDataSize );
+ }
+ if ( aContent->requestData )
+ {
+ BeginElementL( EConMLRequestData );
+ }
+ if ( aContent->supplyData )
+ {
+ BeginElementL( EConMLSupplyData );
+ }
+ if ( aContent->reboot )
+ {
+ BeginElementL( EConMLReboot );
+ }
+ EndElementL(); // EConMLSupportedMethods
+ }
+ LOGGER_LEAVEFN( "CSConConMLGenerator::AppendSupportedMethodsL()" );
+ }
+
+// -----------------------------------------------------------------------------
+// AppendFileListL
+// -----------------------------------------------------------------------------
+void CSConConMLGenerator::AppendFileListL( ConML_FileListPtr_t aContent )
+ {
+ LOGGER_ENTERFN( "CSConConMLGenerator::AppendFileListL()" );
+ if ( aContent )
+ {
+ for ( ConML_FileListPtr_t p = aContent; p && p->data; p = p->next )
+ {
+ AppendFileL(p->data );
+ }
+ }
+ LOGGER_LEAVEFN( "CSConConMLGenerator::AppendFileListL()" );
+ }
+
+// -----------------------------------------------------------------------------
+// AppendFileL
+// -----------------------------------------------------------------------------
+void CSConConMLGenerator::AppendFileL( ConML_FilePtr_t aContent )
+ {
+ LOGGER_ENTERFN( "CSConConMLGenerator::AppendFileL()" );
+ if ( aContent )
+ {
+ BeginElementL( EConMLFile, ETrue );
+ AppendPCDataL( EConMLName, aContent->name );
+ AppendPCDataL( EConMLModified, aContent->modified );
+ AppendPCDataL( EConMLSize, aContent->size );
+ AppendPCDataL( EConMLUserPerm, aContent->userPerm );
+ EndElementL(); // EConMLFile
+ }
+ LOGGER_LEAVEFN( "CSConConMLGenerator::AppendFileL()" );
+ }
+
+// -----------------------------------------------------------------------------
+// HandleResult
+// -----------------------------------------------------------------------------
+TInt CSConConMLGenerator::HandleResult( TInt aResult, TInt aTreshold )
+ {
+ LOGGER_ENTERFN( "CSConConMLGenerator::HandleResult()" );
+ switch( aResult )
+ {
+ case KErrNone:
+ if( iWBXMLWorkspace->FreeSize() < aTreshold )
+ {
+ iWBXMLWorkspace->Rollback();
+ return KWBXMLGeneratorBufferFull;
+ }
+ iWBXMLWorkspace->Commit();
+ return KWBXMLGeneratorOk;
+
+ case KErrTooBig:
+ iWBXMLWorkspace->Rollback();
+ return KWBXMLGeneratorBufferFull;
+ }
+ LOGGER_WRITE_1( "CSConConMLGenerator::HandleResult()\
+ : returned %d", aResult);
+ return aResult;
+ }
+
+// -----------------------------------------------------------------------------
+// BeginDocumentL
+// -----------------------------------------------------------------------------
+void CSConConMLGenerator::BeginDocumentL(
+ TUint8 aVersion,
+ TInt32 aPublicId,
+ TUint32 aCharset,
+ const TDesC8& aStringTbl )
+ {
+ LOGGER_ENTERFN( "CSConConMLGenerator::BeginDocumentL()" );
+ iWBXMLWorkspace->WriteL(aVersion);
+
+ if( aPublicId <= 0 )
+ {
+ iWBXMLWorkspace->WriteL(0);
+ WriteMUint32L(-aPublicId);
+ }
+ else
+ {
+ WriteMUint32L(aPublicId);
+ }
+ WriteMUint32L(aCharset);
+ WriteMUint32L(aStringTbl.Size());
+ iWBXMLWorkspace->WriteL(aStringTbl);
+ LOGGER_LEAVEFN( "CSConConMLGenerator::BeginDocumentL()" );
+ }
+
+// -----------------------------------------------------------------------------
+// BeginElementL
+// -----------------------------------------------------------------------------
+void CSConConMLGenerator::BeginElementL(
+ TUint8 aElement, TBool aHasContent, TBool aHasAttributes )
+ {
+ LOGGER_ENTERFN( "CSConConMLGenerator::BeginElementL()" );
+ IndentL();
+ iXMLWorkspace->WriteL(KXMLTagStart());
+ iXMLWorkspace->WriteL(TranslateElement(aElement));
+
+ if( aHasAttributes )
+ {
+ aElement |= KWBXMLHasAttributes;
+ }
+
+ if( aHasContent )
+ {
+ iXMLWorkspace->WriteL(KXMLTagEnd());
+ iElemStack.Insert(aElement, 0);
+ aElement |= KWBXMLHasContent;
+ }
+ else
+ {
+ iXMLWorkspace->WriteL(KXMLTagEndNoContent());
+ }
+
+ if( !iDontNewLine )
+ {
+ iXMLWorkspace->WriteL(KXMLNewLine());
+ }
+ iDontNewLine = EFalse;
+
+ WriteMUint32L(aElement);
+ LOGGER_LEAVEFN( "CSConConMLGenerator::BeginElementL()" );
+ }
+
+// -----------------------------------------------------------------------------
+// EndElementL
+// -----------------------------------------------------------------------------
+void CSConConMLGenerator::EndElementL()
+ {
+ LOGGER_ENTERFN( "CSConConMLGenerator::EndElementL()" );
+ TUint8 elem = iElemStack[0];
+ iElemStack.Remove(0);
+ if( !iDontIndent )
+ {
+ IndentL();
+ }
+ iDontIndent = EFalse;
+ iXMLWorkspace->WriteL(KXMLTagStartEndTag());
+ iXMLWorkspace->WriteL(TranslateElement(elem));
+ iXMLWorkspace->WriteL(KXMLTagEnd());
+ iXMLWorkspace->WriteL(KXMLNewLine());
+
+ iWBXMLWorkspace->WriteL(END);
+
+ LOGGER_LEAVEFN( "CSConConMLGenerator::EndElementL()" );
+ }
+
+// -----------------------------------------------------------------------------
+// AddElementL
+// -----------------------------------------------------------------------------
+void CSConConMLGenerator::AddElementL(
+ TUint8 aElement, const TDesC8& aContent, const TWBXMLContentFormat aFormat )
+ {
+ LOGGER_ENTERFN( "CSConConMLGenerator::AddElementL()" );
+ iDontNewLine = ETrue;
+ BeginElementL(aElement, ETrue);
+ if( aFormat == EWBXMLContentFormatOpaque )
+ {
+ WriteOpaqueDataL(aContent);
+ }
+ else
+ {
+ WriteInlineStringL(aContent);
+ }
+ iDontIndent = ETrue;
+ EndElementL();
+ LOGGER_LEAVEFN( "CSConConMLGenerator::AddElementL()" );
+ }
+
+// -----------------------------------------------------------------------------
+// AppendPCDataL
+// -----------------------------------------------------------------------------
+void CSConConMLGenerator::AppendPCDataL( TUint8 aElement, pcdataPtr_t aContent )
+ {
+ LOGGER_ENTERFN( "CSConConMLGenerator::AppendPCDataL()" );
+ if( !aContent )
+ {
+ return;
+ }
+
+ if( aContent->contentType == SML_PCDATA_OPAQUE )
+ {
+ AddElementL(aElement,
+ TPtrC8((TUint8*)aContent->content,
+ aContent->length));
+ }
+ else
+ {
+ LOGGER_WRITE( "CSConConMLGenerator::AppendPCDataL() : Data type not Opaque - ignoring " );
+ }
+ LOGGER_LEAVEFN( "CSConConMLGenerator::AppendPCDataL()" );
+ }
+
+// -----------------------------------------------------------------------------
+// WBXMLDocument
+// -----------------------------------------------------------------------------
+TPtrC8 CSConConMLGenerator::WBXMLDocument()
+ {
+ LOGGER_ENTERFN( "CSConConMLGenerator::WBXMLDocument()" );
+ LOGGER_LEAVEFN( "CSConConMLGenerator::WBXMLDocument()" );
+ return iWBXMLWorkspace->Buffer();
+ }
+
+// -----------------------------------------------------------------------------
+// XMLDocument
+// -----------------------------------------------------------------------------
+TPtrC8 CSConConMLGenerator::XMLDocument()
+ {
+ LOGGER_ENTERFN( "CSConConMLGenerator::XMLDocument()" );
+ LOGGER_LEAVEFN( "CSConConMLGenerator::XMLDocument()" );
+ return iXMLWorkspace->Buffer();
+ }