williamr@2: /* williamr@2: * Copyright (c) 2002-2005 Nokia Corporation and/or its subsidiary(-ies). williamr@2: * All rights reserved. williamr@2: * This component and the accompanying materials are made available williamr@4: * under the terms of "Eclipse Public License v1.0" williamr@2: * which accompanies this distribution, and is available williamr@4: * at the URL "http://www.eclipse.org/legal/epl-v10.html". williamr@2: * williamr@2: * Initial Contributors: williamr@2: * Nokia Corporation - initial contribution. williamr@2: * williamr@2: * Contributors: williamr@2: * williamr@2: * Description: Service policy interface for serene williamr@2: * williamr@2: */ williamr@2: williamr@2: #ifndef M_SEN_SERVICE_POLICY_H williamr@2: #define M_SEN_SERVICE_POLICY_H williamr@2: williamr@2: // INCLUDES williamr@2: #include // for CActive williamr@2: #include williamr@2: williamr@2: #include "SenDomFragment.h" williamr@2: williamr@2: typedef RPointerArray RPolicyArray; williamr@2: williamr@2: // FORWARD DECLARATION williamr@2: williamr@2: // CLASS DECLARATION williamr@2: /* williamr@2: * williamr@2: * williamr@2: * uri.1 williamr@2: * uri.2 williamr@2: * uri.3 williamr@2: * williamr@2: * williamr@2: * williamr@2: * williamr@2: * williamr@2: * williamr@2: * williamr@2: * williamr@2: */ williamr@2: class MSenServicePolicy williamr@2: { williamr@2: public: // New functions williamr@2: williamr@2: /** williamr@2: * Adds a policy in SD williamr@2: * Method is used to add a RAW policy obtained williamr@2: * by Network or some dynamic means williamr@2: * @since Series60 4.0 williamr@2: * @param aPolicy is the Policy Element williamr@2: */ williamr@2: virtual TInt AddPolicyL(CSenElement* aPolicy) = 0; williamr@2: williamr@2: /** williamr@2: * Remove a Policy from SD williamr@2: * @param aPolicyName , Policy with this name will be removed from SD williamr@2: * @return williamr@2: * - KErrNone williamr@2: williamr@2: */ williamr@2: virtual TInt RemovePolicyL(TDesC8& aPolicyName) = 0; williamr@2: williamr@2: /** williamr@2: * Method reads provider policy class instance values from given williamr@2: * template. williamr@2: * @since Series60 4.0 williamr@2: * @param aTemplate from which the values are read. williamr@2: * @return williamr@2: * williamr@2: */ williamr@2: virtual TInt RebuildServicePolicyFrom(MSenServicePolicy& aTemplate) = 0; williamr@2: williamr@2: /** williamr@2: * Checks if policies match. williamr@2: * @return ETrue if policies match, EFalse if not. williamr@2: */ williamr@2: virtual TBool Accepts(MSenServicePolicy& aPolicyPattern) = 0; williamr@2: williamr@2: /** williamr@2: * Getter for ServicePolicies williamr@2: * @since Series60 4.0 williamr@2: * @return williamr@2: * williamr@2: */ williamr@2: williamr@2: /** williamr@2: * Return all of the Services polices from SD only tags williamr@2: * @param aPolicies williamr@2: * @return KErrNone williamr@2: * KErrNotFound williamr@2: */ williamr@2: virtual TInt ServicePolicies(RPolicyArray& aPolicies) = 0; williamr@2: /** williamr@2: * Gets the Client Policy williamr@2: */ williamr@2: virtual CSenElement* ClientPolicy() = 0; williamr@2: /** williamr@2: * Searches for the Client Policy with the given key value williamr@2: * @param aKey williamr@2: * @return ETrue If the Client Policy is present with the given key value williamr@2: * EFalse If the Client Policy is not present with the given key value williamr@2: */ williamr@2: virtual TBool ClientPolicy(const TDesC8& aKey) = 0; williamr@2: /** williamr@2: * Gets the Client Policy with the given key value williamr@2: * @param aKey williamr@2: * @return Client Policy Value is returned williamr@2: */ williamr@2: virtual HBufC8* ClientPolicyValue(const TDesC8& aKey) = 0; williamr@2: }; williamr@2: williamr@2: #endif //M_SEN_POLICY_H williamr@2: williamr@2: // End of File