webservices/wsdescription/inc/mservicepolicy.h
changeset 0 62f9d29f7211
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/webservices/wsdescription/inc/mservicepolicy.h	Thu Jan 07 16:19:19 2010 +0200
@@ -0,0 +1,106 @@
+/*
+* Copyright (c) 2002-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: Header declaration
+*
+*/
+
+
+
+
+
+
+
+
+#ifndef M_SERVICE_POLICY_H
+#define M_SERVICE_POLICY_H
+
+//  INCLUDES
+#include <e32base.h> // for CActive
+#include <badesca.h>
+
+#include "SenDomFragment.h"
+typedef RPointerArray<CSenElement> RPolicyArray;
+
+// FORWARD DECLARATION
+
+// CLASS DECLARATION
+
+/**
+* Example structure of Policy XML fragment:
+*
+*   <ServicePolicy>
+*       <ClientPolicy>
+*			<MetadataEndpoint>uri.1</MetadataEndpoint>
+*			<MetadataEndpoint>uri.2</MetadataEndpoint>
+*			<MetadataEndpoint>uri.3</MetadataEndpoint>
+*           <PolicyValue1/>				
+*           <PolicyValue2/>				
+*       </ClientPolicy>
+*       <PolicyArrray>
+*			<wsp:Policy1/>
+*			<wsp:Policy2/>
+*       </PolicyArrray>
+*   </ServicePolicy>
+*/
+class MServicePolicy
+    {
+    public: // New functions
+
+        /**
+        * Adds a policy in SD
+        * Method is used to add a RAW policy obtained 
+        * by Network or some dynamic means
+        * @since Series60 4.0
+        * @param aPolicy is the Policy Element
+        */ 
+        virtual TInt AddPolicyL(CSenElement* aPolicy) = 0;
+
+        /**
+        * Remove  a Policy from SD
+        * @param aPolicyName , Policy with this name will be removed from SD
+        * @return
+        *  - KErrNone 
+        
+        */ 
+        virtual TInt RemovePolicyL(TDesC8& aPolicyName) = 0;
+
+        /**
+        * Method reads provider policy class instance values from given
+        * template. 
+        * @since Series60 4.0
+        * @param aTemplate from which the values are read.
+        * @return   
+        *           
+        */ 
+        virtual TInt RebuildServicePolicyFrom(MServicePolicy& aTemplate) = 0;
+        
+        /**
+        * Checks if policies match.
+        * @return ETrue if policies match, EFalse if not.
+        */
+        virtual TBool Accepts(MServicePolicy& aPolicyPattern) = 0;
+       
+        /**
+        * Getter for ServicePolicies
+        * @since Series60 4.0
+        * @return 
+        *           
+        */ 
+
+        virtual TInt ServicePolicies(RPolicyArray& aPolicies) = 0;
+    };
+
+#endif //M_SEN_POLICY_H
+
+// End of File