diff -r 000000000000 -r 62f9d29f7211 webservices/wsstar/wsstarplugin/inc/wsstarpolicymanager.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/webservices/wsstar/wsstarplugin/inc/wsstarpolicymanager.h Thu Jan 07 16:19:19 2010 +0200 @@ -0,0 +1,136 @@ +/* +* Copyright (c) 2006-2006 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 WSSTAR_POLICY_MANAGER_H +#define WSSTAR_POLICY_MANAGER_H + +// INCLUDES +#include +#include +#include "sensessionhandler.h" +#include "wsstarhandlercontext.h" +#include "wsstarsessioncontext.h" +#include "wsstartrustclient.h" +#include "wsstarcons.h" +#include "wsstarservicesession.h" +#include "wspolicyregistry.h" +#include "sendebug.h" +#include "msenwspolicymanager.h" +#include "senwspolicymanager.h" +class CWSStarPolicyHandler; +class CWSStarDictionary; +class CPolicyRequest; +class CPolicyReq; +class CPolicyReqMap; +class CSenWSPolicyManager; + +typedef RPointerArray RPolicyRequestMap; +/** + * Class: + * + * Description: An implementation of the CWSStarHandler definition. This is concrete + * class, instance of which ECOM framework gives to ECOM clients. + */ +class CWSStarPolicyManager : public CBase, public MSenWsPolicyManager + { + + public: + + static CWSStarPolicyManager* NewL(TAny* aHandlerCtx); + + TInt InvokeL(const TDesC8& aContract); + ~CWSStarPolicyManager(); + CSenElement* PolicyL(MSenServiceDescription* aSD); //codescannerwarnings + CSenElement* PolicyL(const TDesC8& aUri); //codescannerwarnings + TInt DownloadPolicyL( CSenWSDescription* apSD ); + TInt UpdatePolicyL(CWSStarPolicyHandler* aPolicyHandler); + TInt UnRegisterWsPolicyL(MSenServiceDescription& aServiceDescription, TInt& aErrorTo); + TInt PolicyConsumerAddedL(CSenServiceSession* aNewSession, MSenRemoteServiceConsumer& aRemoteConsumer); + + RFileLogger* Log() const; + void DataTrafficDetails(TSenDataTrafficDetails& aDetails); + private: + /** + * Function: CWSStarPolicyManager + * + * Discussion: Perform the first phase of two phase construction + */ + CWSStarPolicyManager(MSenHandlerContext& aCtx); + + /** + * Function: ConstructL + * + * Discussion: Perform the second phase construction + * + */ + void ConstructL(); + TInt GetHttpPolicyL( const TDesC8& aEndpoint, RExpiredPolicyArray& aRequestMap, CSenWSDescription* apSD ); + TInt IsContractExist(const TDesC8& aContract); +//new methods + TInt RegisterWsPolicyL(const TDesC8& aContract); + + + virtual TInt AddWsPolicy1L(CSenWSDescription* aPattern, const TDesC8& aUri, + const TDesC8& aPolicy, TInt& aErrorTo); + + virtual TInt RemoveWsPolicy1L( CSenWSDescription* aPattern, + const TDesC8& aUri, TInt& aErrorTo); + + virtual TInt RegisterWsPolicy1L(CSenWSDescription* aPattern, + TInt& aErrorTo); + + virtual TInt UnRegisterWsPolicy1L(CSenWSDescription* aPattern, + TInt& aErrorTo); + + virtual CSenElement* WsPolicy1L( CSenWSDescription* aPattern, + const TDesC8& aUri, TInt& aErrorTo); + + virtual CSenElement* WsPolicy1L( CSenWSDescription* aPattern, + TInt& aErrorTo); + + virtual CSenElement* WsPolicy1L( const TDesC8& aProviderId, + TInt& aErrorTo); + + virtual TInt AddPolicyConsumer1L(const TDesC8& aUri, const TDesC8& aConsumerId); + + virtual TInt RemovePolicyConsumer1L(const TDesC8& aUri, const TDesC8& aConsumerId); + + TInt GetPolicyFromFileL( RExpiredPolicyArray& aRequestMap ); + + private: + + MSenHandlerContext& iSenHandlerContext; //Not owned + CPolicyRegistry* iRegistry; + CWSStarDictionary* iDictionary; + CSenWSPolicyManager* iPolicyManager; + RPointerArray iContracts; + TSenDataTrafficDetails iPolicyDetails; + + }; + +#endif // WSSTAR_POLICY_MANAGER_H +