xdmprotocols/XcapProtocol/XcapAppUsage/XcapPocGroupUsage/src/XcapPocGroupUsage.cpp
branchRCL_3
changeset 17 2669f8761a99
parent 16 2580314736af
child 18 fbd2e7cec7ef
--- a/xdmprotocols/XcapProtocol/XcapAppUsage/XcapPocGroupUsage/src/XcapPocGroupUsage.cpp	Thu Aug 19 10:19:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,330 +0,0 @@
-/*
-* 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:  CXcapPocGroupUsage
-*
-*/
-
-
-
-
-#include <XdmErrors.h>
-#include <XdmDocumentNode.h>
-#include <XdmNodeAttribute.h>
-#include "XcapPocGroupUsage.h"
-
-
-
-// Used specification
-// OMA-TS-PoC_XDM-V1_0-20060609-A, 09 June 2006
-// ----------------------------------------------------
-// CXcapPocGroupUsage::CXcapPocGroupUsage
-// 
-// ----------------------------------------------------
-//
-CXcapPocGroupUsage::CXcapPocGroupUsage( const CXdmEngine& aXdmEngine ) :
-CXcapAppUsage( aXdmEngine ),
-iIetfCommonPolicies( NULL ),
-iOmaCommonPolicies( NULL ),
-iResourceLists( NULL )
-    {
-    }
-
-// ----------------------------------------------------
-// CXcapPocGroupUsage::NewL
-// 
-// ----------------------------------------------------
-//
-CXcapPocGroupUsage* CXcapPocGroupUsage::NewL( const TXcapAppUsageParams& aParameters )
-    {
-    CXcapPocGroupUsage* self = new ( ELeave ) CXcapPocGroupUsage( aParameters.iXdmEngine );
-    CleanupStack::PushL( self );    // << self
-    self->ConstructL();
-    CleanupStack::Pop( self );      // >> self
-    return self;
-    }
-
-// ----------------------------------------------------
-// CXcapPocGroupUsage::~CXcapPocGroupUsage
-// 
-// ----------------------------------------------------
-//
-CXcapPocGroupUsage::~CXcapPocGroupUsage()
-    {
-    delete iIetfCommonPolicies;
-    delete iOmaCommonPolicies;
-    delete iResourceLists;
-    }
-        
-// ----------------------------------------------------
-// CXcapPocGroupUsage::ConstructL
-// 
-// ----------------------------------------------------
-//
-void CXcapPocGroupUsage::ConstructL()
-    {
-    iIetfCommonPolicies = CXcapAppUsage::NewL( iXdmEngine, EXdmIetfCommonPolicy );
-    iOmaCommonPolicies = CXcapAppUsage::NewL( iXdmEngine, EXdmOmaCommonPolicy );
-    iResourceLists = CXcapAppUsage::NewL( iXdmEngine, EXdmResourceLists );
-    }
-
-// ----------------------------------------------------
-// CXcapPocGroupUsage::AUID
-// 
-// ----------------------------------------------------
-//
-TPtrC8 CXcapPocGroupUsage::AUID() const
-    {
-    return TPtrC8( KXdmPocGroupUsageAUID );
-    }
-
-// ----------------------------------------------------
-// CXcapPocGroupUsage::ContentType
-// 
-// ----------------------------------------------------
-//
-TPtrC8 CXcapPocGroupUsage::ContentType() const
-    {
-    return TPtrC8( KXdmPocGroupUsageContType );
-    }
-
-// ----------------------------------------------------
-// CXcapPocGroupUsage::DefaultNamespace
-// 
-// ----------------------------------------------------
-//
-TPtrC8 CXcapPocGroupUsage::DefaultNamespace() const
-    {
-    return TPtrC8( KXdmPocGroupNamespace );
-    }   
-    
-// ----------------------------------------------------
-// CXcapPocGroupUsage::ValidateNodeL
-// 
-// ----------------------------------------------------
-//
-TBool CXcapPocGroupUsage::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();
-            
-    // <group> 
-    if ( Match( element, KXdmGroup ) )
-        {
-        // no other elements than <list-service>
-        TInt count( aXdmNode.NodeCount() );
-        for ( TInt i(0); i < count; i++ )
-            {
-            if ( !Match( aXdmNode.ChileNode(i)->NodeName(), KXdmListService ) )
-                {
-                LeaveWithErrorL( KXcapErrorSchemaViolation );   
-                }
-            }
-        found = ETrue;
-        }           
-    // <list-service>
-    else if ( Match( element, KXdmListService ) )
-        {
-        // required attribute uri
-        if ( !aXdmNode.HasAttribute( KXdmUri ) )
-            {
-            LeaveWithErrorL( KXcapErrorMissingRequiredAttribute );
-            }
-        found = ETrue;
-        }
-    // <display-name>   
-    else if ( Match( element, KXdmDisplayName ) )
-        {
-        CXdmDocumentNode* parent = aXdmNode.Parent();
-        if ( parent && !parent->NodeName().CompareF( KXdmEntry ) )
-            {
-            found = iResourceLists->ValidateNodeL( aXdmNode );	
-            if ( found )
-            	{
-            	SetPrefixL( aXdmNode, KXdmResourceListsNsPrefix );  
-            	}
-            }
-        else
-            {
-        dataType = EDataTypeString;
-        found = ETrue;
-        }
-        }
-    // <invite-members>     
-    else if ( Match( element, KXdmInviteMembers ) )
-        {
-        dataType = EDataTypeBoolean;
-        found = ETrue;
-        }
-    // <max-participant-count>
-    else if ( Match( element, KXdmMaxParticipantCount ) )
-        {
-        dataType = EDataTypeNonNegativeInteger;
-        found = ETrue;
-        }
-    // <is-list-member>
-    else if ( Match( element, KXdmIsListMember ) )
-        {
-        // dataType = EDataTypeBoolean; // OMA-TS-PoC_XDM-V1_0-20050317-C, 17 March 2005
-        // changed 4-Nov-2005 PoC XDM
-        dataType = EDataTypeEmpty;
-        found = ETrue;
-        }   
-    // <allow-conference-state> 
-    else if ( Match( element, KXdmAllowConfState ) )
-        {
-        dataType = EDataTypeBoolean;
-        found = ETrue;
-        }
-    // <allow-invite-users-dynamically>
-    else if ( Match( element, KXdmAllowInvUsersDyn ) )
-        {
-        dataType = EDataTypeBoolean;
-        found = ETrue;
-        }
-    // <join-handling> 
-    else if ( Match( element, KXdmJoinHandling ) )
-        {
-        // OMA-TS-PoC_XDM-V1_0-20050317-C, 17 March 2005
-        // the value must be "allow" or "block"
-        // 0 (block) and 1 (allow)
-        /* TPtrC8 data = aXdmNode.LeafNodeContent();
-        if ( data.CompareF( KXdmAllow )
-             && data.CompareF( KXdmBlock ) )
-            {
-            LeaveWithErrorL( KXcapErrorEnumerationRule );
-            }
-        */
-        // changed OMA-TS-PoC_XDM-V1_0-20060127-C, 27 January 2006
-        dataType = EDataTypeBoolean;
-        found = ETrue;
-        }
-    // <allow-initiate-conference>
-    else if ( Match( element, KXdmAllowInitiateConf ) )
-        {
-        dataType = EDataTypeBoolean;
-        found = ETrue;
-        }
-    // <allow-anonymity>
-    else if ( Match( element, KXdmAllowAnonymity ) )
-        {
-        dataType = EDataTypeBoolean;
-        found = ETrue;
-        }
-    // <is-key-participant>
-    else if ( Match( element, KXdmIsKeyParticipant ) )
-        {
-        dataType = EDataTypeBoolean;
-        found = ETrue;
-        }
-    // <external> 
-    // type = rl:externalType from urn:ietf:params:xml:ns:resource-lists 
-    // pass to the appropriate usage for validation
-    // but use default namespace
-    else if ( Match( element, KXdmExternal ) )
-        {
-        found = iResourceLists->ValidateNodeL( aXdmNode );
-        }
-    // <entry> 
-    // type = rl:entryType from urn:ietf:params:xml:ns:resource-lists 
-    // pass to the appropriate usage for validation
-    // but use default namespace
-    else if ( Match( element, KXdmEntry ) )    
-        {
-        found = iResourceLists->ValidateNodeL( aXdmNode );
-        }
-
-    // urn:ietf:params:xml:ns:common-policy
-    if ( !found )
-        {
-        found = iIetfCommonPolicies->ValidateNodeL( aXdmNode );
-        if ( found )
-            {
-            SetPrefixL( aXdmNode, KXdmIetfCommonPolicyNsPrefix );  
-            }
-        }
-    // urn:oma:params:xml:ns:common-policy
-    if ( !found )
-        {
-        found = iOmaCommonPolicies->ValidateNodeL( aXdmNode );
-        if ( found )
-            {
-            SetPrefixL( aXdmNode, KXdmOmaCommonPolicyNsPrefix );   
-            }
-        }
-        
-    // if the node is some of the basic types,
-    // pass it to the base class for data validation
-    if ( dataType != EDataTypeUndefined )
-        {
-        ValidateDataL( dataType, aXdmNode );
-        }
-    return found;   
-    }
-
-// ----------------------------------------------------
-// CXcapPocGroupUsage::ValidateAttributeL
-// 
-// ----------------------------------------------------
-//
-void CXcapPocGroupUsage::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.
-
-    TPtrC attribute = aXdmNodeAttr.NodeName();
-    
-    // uri
-    if ( Match( attribute, KXdmUri ) ) 
-        {
-        // pass to base class for data validation
-        // check if this should be SIP uri
-        ValidateDataL( EDataTypeAnyURI, aXdmNodeAttr ); 
-        }
-    else
-        {
-        // add parent element namespace checking when available,
-        // now we don't know the attribute's namespace
-        iIetfCommonPolicies->ValidateAttributeL( aXdmNodeAttr );
-        iOmaCommonPolicies->ValidateAttributeL( aXdmNodeAttr ); 
-        }
-    }
-                            
-// ----------------------------------------------------
-// CXcapPocGroupUsage::AddNamespaceInformationL
-// 
-// ----------------------------------------------------
-//
-void CXcapPocGroupUsage::AddNamespaceInformationL( CXdmDocument& aXdmDocument )
-    {
-    aXdmDocument.AppendNamespaceL( KXdmPocGroupNamespace, KNullDesC8 );
-    aXdmDocument.AppendNamespaceL( KXdmResourceListsNamespace, KXdmResourceListsNsPrefix );
-    aXdmDocument.AppendNamespaceL( KXdmIetfCommonPolicyNamespace, KXdmIetfCommonPolicyNsPrefix );
-    aXdmDocument.AppendNamespaceL( KXdmOmaCommonPolicyNamespace, KXdmOmaCommonPolicyNsPrefix );
-    }
-
-
-// End of File
-