xdmprotocols/XcapProtocol/XcapAppUsage/XcapTestAppUsage/src/XcapTestAppUsage.cpp
author Pat Downey <patd@symbian.org>
Wed, 01 Sep 2010 12:23:14 +0100
branchRCL_3
changeset 35 fbd2e7cec7ef
parent 0 c8caa15ef882
permissions -rw-r--r--
Revert incorrect RCL_3 drop: Revision: 201027 Kit: 201035

/*
* Copyright (c) 2005 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:   CXcapTestAppUsage
*
*/




#include "XcapTestAppUsage.h"

// ----------------------------------------------------
// CXcapTestAppUsage::CXcapTestAppUsage
// 
// ----------------------------------------------------
//
CXcapTestAppUsage::CXcapTestAppUsage( const CXdmEngine& aXdmEngine ) :
                                      CXcapAppUsage( aXdmEngine )
    {
    }

// ----------------------------------------------------
// CXcapTestAppUsage::NewL
// 
// ----------------------------------------------------
//
CXcapTestAppUsage* CXcapTestAppUsage::NewL( const TXcapAppUsageParams& aParameters )
    {
    CXcapTestAppUsage* self = new ( ELeave ) CXcapTestAppUsage( aParameters.iXdmEngine );
    CleanupStack::PushL( self );    // << self
    self->ConstructL();
    CleanupStack::Pop( self );      // >> self
    return self;
    }

// ----------------------------------------------------
// CXcapTestAppUsage::~CXcapTestAppUsage
// 
// ----------------------------------------------------
//
CXcapTestAppUsage::~CXcapTestAppUsage()
    {
    }
        
// ----------------------------------------------------
// CXcapTestAppUsage::ConstructL
// 
// ----------------------------------------------------
//
void CXcapTestAppUsage::ConstructL()
    {
    }
            
// ----------------------------------------------------
// CXcapTestAppUsage::AUID
// 
// ----------------------------------------------------
//
TPtrC8 CXcapTestAppUsage::AUID() const
    {
    return TPtrC8( KXdmTestAppUsageAUID );
    }

// ----------------------------------------------------
// CXcapTestAppUsage::ContentType
// 
// ----------------------------------------------------
//
TPtrC8 CXcapTestAppUsage::ContentType() const
    {
    return TPtrC8( KXdmTestAppUsageContType );
    }

// ----------------------------------------------------
// CXcapTestAppUsage::DefaultNamespace
// 
// ----------------------------------------------------
//
TPtrC8 CXcapTestAppUsage::DefaultNamespace() const
    {
    return TPtrC8( KXdmTestAppUsageDefaultNamespace );
    }   
    
// ----------------------------------------------------
// CXcapTestAppUsage::ValidateNodeL
// 
// ----------------------------------------------------
//
TBool CXcapTestAppUsage::ValidateNodeL( CXdmDocumentNode& /*aXdmNode*/ )
    {
    // This method is called by base class for each element
    // in document, here we have to declare every element, check element 
    // datatype, restrictions for values and also do all checking that concerns  
    // the structure of the element. If the datatype is some of
    // the common datatypes defined in xcapappusage.h, the node
    // can pe passed to the base class for value validation.
    // If the node belongs to this namespace, the return value
    // should be true, false otherwise.


    // TBool found ( EFalse );   
    // TDataType dataType ( EDataTypeUndefined );
    // TPtrC element = aXdmNode.NodeName();
     
    // <example-element>
    // if ( Match( element, KExampleElement ) )
        // {
        // supported data types are defined in AppUsageDef
        // dataType = EDataTypeBoolean;
        // found = ETrue;
        // }
    // <example-element2>
    // else if ( Match( element, KExampleElement2 ) )
        // {
           // required attribute attribute
           // if ( !aXdmNode.HasAttribute( KAttribute ) )
           // {
           // LeaveWithErrorL( KXcapErrorMissingRequiredAttribute );
           // }
        // found = ETrue;
        // }   
    // <example-element3>     
    // else if ( Match( element, KExampleElement3 ) )
        // {
        // TInt count( aXdmNode.NodeCount() );
        // for ( TInt i(0); i < count; i++ )
           // {
            // there should not be any other elements than <example>
           // if ( !Match( aXdmNode.ChileNode(i)->NodeName(), KExample ) )
               // {
               // LeaveWithErrorL( KXcapErrorSchemaViolation );
               // }
            // }
        // found = ETrue; 
        //  }
        
   // if ( dataType != EDataTypeUndefined )
        // {
        // pass to the base class for data validation
        // ValidateDataL( dataType, aXdmNode );
        // }
    // return found;
     
    return EFalse;
    }

// ----------------------------------------------------
// CXcapTestAppUsage::ValidateAttributeL
// 
// ----------------------------------------------------
//
void CXcapTestAppUsage::ValidateAttributeL( const CXdmNodeAttribute& /*aXdmNodeAttr*/ )
    {
    // This method is called by base class for each attribute
    // in document, here we have to define data types
    // for attributes, and pass them to the base class
    // for the actual data checking.   
    
    // TDataType dataType ( EDataTypeUndefined );
    // TPtrC attribute = aXdmNodeAttr.NodeName();
        
    // exampleAttr1 
    // if ( Match( attribute, KExampleAttr1 ) )
        // {
        // dataType = EDataTypeString;
        // }
    // exampleAttr2 
    // else if ( Match( attribute, KExampleAttr2 ) )
        // {
        // dataType = EDataTypeString;
        // }
        
    // if ( dataType != EDataTypeUndefined )
        // {
        // pass to base class for data validation
        // ValidateDataL( dataType, aXdmNodeAttr );
        // }   
    }
    
// ----------------------------------------------------
// CXcapTestAppUsage::AddNamespaceInformationL
// 
// ----------------------------------------------------
//
void CXcapTestAppUsage::AddNamespaceInformationL( CXdmDocument& aXdmDocument )
    {
    // default namespace prefix should be empty
    aXdmDocument.AppendNamespaceL( KXdmTestAppUsageDefaultNamespace, KNullDesC8 );
    }

// End of File