iaupdate/IAD/engine/controller/src/iaupdatedependencyxmlsubparser.cpp
author Simon Howkins <simonh@symbian.org>
Mon, 22 Nov 2010 12:04:39 +0000
branchRCL_3
changeset 84 e6c5e34cd9b9
parent 0 ba25891c3a9e
permissions -rw-r--r--
Adjusted to avoid exports, etc, from a top-level bld.inf

/*
* 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:   ?Description
*
*/



#include "iaupdatedependencyxmlsubparser.h"
#include "iaupdatenodedependencyxmlparser.h"
#include "iaupdateplatformdependencyxmlparser.h"
#include "iaupdateprotocolconsts.h"


CIAUpdateDependencyXmlSubParser* CIAUpdateDependencyXmlSubParser::NewL( 
                     RPointerArray< CIAUpdateNodeDependency>& aNodeDependencies,
                     CIAUpdatePlatformDependency& aPlatformDependency )
    {
    CIAUpdateDependencyXmlSubParser* self =
        CIAUpdateDependencyXmlSubParser::NewLC( aNodeDependencies, aPlatformDependency );
    CleanupStack::Pop( self );
    return self;
    }


CIAUpdateDependencyXmlSubParser* CIAUpdateDependencyXmlSubParser::NewLC( 
                     RPointerArray< CIAUpdateNodeDependency>& aNodeDependencies,
                     CIAUpdatePlatformDependency& aPlatformDependency )
    {
    CIAUpdateDependencyXmlSubParser* self =
        new( ELeave ) CIAUpdateDependencyXmlSubParser();
    CleanupStack::PushL( self );
    self->ConstructL( aNodeDependencies, aPlatformDependency );
    return self;    
    }


CIAUpdateDependencyXmlSubParser::CIAUpdateDependencyXmlSubParser()
: CIAUpdateXmlSubParser()
    {
    
    }
    
    
void CIAUpdateDependencyXmlSubParser::ConstructL( 
                      RPointerArray< CIAUpdateNodeDependency>& aNodeDependencies,
                      CIAUpdatePlatformDependency& aPlatformDependency )
    {
    CIAUpdateXmlSubParser::ConstructL( IAUpdateProtocolConsts::KDependencies() );
    
    // Add sub parsers to the list
    CIAUpdateNodeDependencyXmlParser* nodeDependencyParser(
        CIAUpdateNodeDependencyXmlParser::NewLC( aNodeDependencies ) );
    SubParsers().AppendL( nodeDependencyParser );
    CleanupStack::Pop( nodeDependencyParser );
    
    CIAUpdatePlatformDependencyXmlParser* platformDependencyParser(
        CIAUpdatePlatformDependencyXmlParser::NewLC( aPlatformDependency ) );
    SubParsers().AppendL( platformDependencyParser );
    CleanupStack::Pop( platformDependencyParser );    
    }


CIAUpdateDependencyXmlSubParser::~CIAUpdateDependencyXmlSubParser()
    {
    }