diff -r 000000000000 -r 307788aac0a8 realtimenetprots/sipfw/SIP/SIPSec/IpSecPlugin/inc/CIpSecPolicyHandler.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/realtimenetprots/sipfw/SIP/SIPSec/IpSecPlugin/inc/CIpSecPolicyHandler.h Tue Feb 02 01:03:15 2010 +0200 @@ -0,0 +1,111 @@ +/* +* Copyright (c) 2005-2009 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: +* Name : CIpSecPolicyHandler.h +* Part of : SIPSec +* Version : SIP/4.0 +* +*/ + + + + +/** + @internalComponent +*/ + +#ifndef CIPSECPOLICYHANDLER_H +#define CIPSECPOLICYHANDLER_H + +#include +#include +#include + +class MSipSecPolicyObserver; +class TSipSecSaParams; + +// IpSec policy hanling +class CIpSecPolicyHandler : public CActive + { +public: + + enum TPolicyHandlerState + { + EIdle, + ELoading, + EActivating, + EActive, + EUnloading + }; + + static CIpSecPolicyHandler* NewL( MSipSecPolicyObserver& aObserver, + RIpsecPolicyServ& aPolicyServ ); + + static CIpSecPolicyHandler* NewLC( MSipSecPolicyObserver& aObserver, + RIpsecPolicyServ& aPolicyServ ); + + ~CIpSecPolicyHandler(); + + + void CreatePolicyL( const TInetAddr& aLocalAddress, + const TInetAddr& aRemoteAddress, + const TSipSecSaParams& aSaParams ); + + void RemovePolicy(); + +protected: + + void RunL(); + + TInt RunError( TInt aError ); + + void DoCancel(); + +private: + + CIpSecPolicyHandler( MSipSecPolicyObserver& aObserver, + RIpsecPolicyServ& aPolicyServ ); + + HBufC8* GetAddrAsTextLC( const TInetAddr& aAddr ); + + void RemovePolicyData(); + + void NotifyActiveL(); + + void NotifyUnload(); + + void NotifyError( TInt aError ); + +private: // Data + + MSipSecPolicyObserver& iObserver; + + RIpsecPolicyServ& iPolicyServ; + + TPolicyHandlerState iHandlerState; + + HBufC8* iPolicyData; + + TPolicyHandlePckg iPolicyHandle; + + +#ifdef CPPUNIT_TEST + friend class CActiveObjController1; +#endif + }; + +#endif // CIPSECPOLICYHANDLER_H + + +// End of File