diff -r 77cb48a03620 -r d9861ae9169c xdmprotocols/XcapProtocol/XcapAppUsage/XCapPocUserAccessUsage/src/XcapPocUserAccessUsage.cpp --- a/xdmprotocols/XcapProtocol/XcapAppUsage/XCapPocUserAccessUsage/src/XcapPocUserAccessUsage.cpp Thu Jul 01 14:09:06 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,208 +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: CXcapPocUserAccessUsage -* -*/ - - - - -#include -#include -#include -#include "XcapPocUserAccessUsage.h" - -// Used specification -// OMA-TS-PoC_XDM-V1_0-20050317-C, 17 March 2005 -// OMA-TS-PoC_XDM-V1_0-20060127-C, 27 January 2006 - -// ---------------------------------------------------- -// CXcapPocUserAccessUsage::CXcapPocUserAccessUsage -// -// ---------------------------------------------------- -// -CXcapPocUserAccessUsage::CXcapPocUserAccessUsage( const CXdmEngine& aXdmEngine ) : -CXcapAppUsage( aXdmEngine ), -iIetfCommonPolicies( NULL ), -iOmaCommonPolicies( NULL ) - { - } - -// ---------------------------------------------------- -// CXcapPocUserAccessUsage::NewL -// -// ---------------------------------------------------- -// -CXcapPocUserAccessUsage* CXcapPocUserAccessUsage::NewL( const TXcapAppUsageParams& aParameters ) - { - CXcapPocUserAccessUsage* self = new ( ELeave ) CXcapPocUserAccessUsage( aParameters.iXdmEngine ); - CleanupStack::PushL( self ); // << self - self->ConstructL(); - CleanupStack::Pop( self ); // >> self - return self; - } - -// ---------------------------------------------------- -// CXcapPocUserAccessUsage::~CXcapPocUserAccessUsage -// -// ---------------------------------------------------- -// -CXcapPocUserAccessUsage::~CXcapPocUserAccessUsage() - { - delete iIetfCommonPolicies; - delete iOmaCommonPolicies; - } - -// ---------------------------------------------------- -// CXcapPocUserAccessUsage::ConstructL -// -// ---------------------------------------------------- -// -void CXcapPocUserAccessUsage::ConstructL() - { - iIetfCommonPolicies = CXcapAppUsage::NewL( iXdmEngine, EXdmIetfCommonPolicy ); - iOmaCommonPolicies = CXcapAppUsage::NewL( iXdmEngine, EXdmOmaCommonPolicy ); - } - -// ---------------------------------------------------- -// CXcapPocUserAccessUsage::AUID -// -// ---------------------------------------------------- -// -TPtrC8 CXcapPocUserAccessUsage::AUID() const - { - return TPtrC8( KXdmPocUserAccessUsageAUID ); - } - -// ---------------------------------------------------- -// CXcapPocUserAccessUsage::ContentType -// -// ---------------------------------------------------- -// -TPtrC8 CXcapPocUserAccessUsage::ContentType() const - { - return TPtrC8( KXdmPocUserAccessUsageContType ); - } - -// ---------------------------------------------------- -// CXcapPocUserAccessUsage::DefaultNamespace -// -// ---------------------------------------------------- -// -TPtrC8 CXcapPocUserAccessUsage::DefaultNamespace() const - { -// return TPtrC8( KXdmPocUserAccessNamespace ); - // NOTE the default namespace is IetfCommonPolicy - return TPtrC8( KXdmIetfCommonPolicyNamespace ); - } - -// ---------------------------------------------------- -// CXcapPocUserAccessUsage::ValidateNodeL -// -// ---------------------------------------------------- -// -TBool CXcapPocUserAccessUsage::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 ); - TPtrC element = aXdmNode.NodeName(); - - // there is restriction for the value - // of - // check that value is either "reject", "accept" or "pass" - // 0 (reject), 1 (pass), 2 (accept) - if ( Match( element, KXdmAllowInvite ) ) - { - TPtrC8 data = aXdmNode.LeafNodeContent(); - if ( data.CompareF( KXdmReject ) - && data.CompareF( KXdmAccept ) - && data.CompareF( KXdmPass ) ) - { - LeaveWithErrorL( KXcapErrorEnumerationRule ); - } - found = ETrue; - // NOTE the default namespace is IetfCommonPolicy - SetPrefixL( aXdmNode, KXdmPocUserAccessNsPrefix ); - } - // urn:ietf:params:xml:ns:common-policy - if ( !found ) - { - found = iIetfCommonPolicies->ValidateNodeL( aXdmNode ); - // NOTE the default namespace is IetfCommonPolicy - /*if ( found ) - { - SetPrefixL( aXdmNode, KXdmIetfCommonPolicyNsPrefix ); - }*/ - } - // urn:oma:params:xml:ns:common-policy - if ( !found ) - { - found = iOmaCommonPolicies->ValidateNodeL( aXdmNode ); - if ( found ) - { - SetPrefixL( aXdmNode, KXdmOmaCommonPolicyNsPrefix ); - } - } - return found; - } - -// ---------------------------------------------------- -// CXcapPocUserAccessUsage::ValidateAttributeL -// -// ---------------------------------------------------- -// -void CXcapPocUserAccessUsage::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. - - // there aren't any attributes, all attributes are - // either from urn:ietf:params:xml:ns:common-policy - // or from urn:oma:params:xml:ns:common-policy - - // add parent element namespace checking when available, - // now we don't know the attribute's namespace - iIetfCommonPolicies->ValidateAttributeL( aXdmNodeAttr ); - iOmaCommonPolicies->ValidateAttributeL( aXdmNodeAttr ); - } - - - // ---------------------------------------------------- -// CXcapPocUserAccessUsage::AddNamespaceInformationL -// -// ---------------------------------------------------- -// -void CXcapPocUserAccessUsage::AddNamespaceInformationL( CXdmDocument& aXdmDocument ) - { - aXdmDocument.AppendNamespaceL( KXdmIetfCommonPolicyNamespace, KNullDesC8 ); - aXdmDocument.AppendNamespaceL( KXdmPocUserAccessNamespace, KXdmPocUserAccessNsPrefix ); - aXdmDocument.AppendNamespaceL( KXdmOmaCommonPolicyNamespace, KXdmOmaCommonPolicyNsPrefix ); -/* aXdmDocument.AppendNamespaceL( KXdmPocUserAccessNamespace, KNullDesC8 ); - aXdmDocument.AppendNamespaceL( KXdmIetfCommonPolicyNamespace, KXdmIetfCommonPolicyNsPrefix ); - aXdmDocument.AppendNamespaceL( KXdmOmaCommonPolicyNamespace, KXdmOmaCommonPolicyNsPrefix );*/ - } - - -// End of File -