diff -r 08008ce8a6df -r bde600d88860 messagingfw/wappushfw/plugins/PushSecurity/CGTPushSecurityPolicy.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/messagingfw/wappushfw/plugins/PushSecurity/CGTPushSecurityPolicy.h Fri Jun 04 10:32:16 2010 +0100 @@ -0,0 +1,122 @@ +// Copyright (c) 2001-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: +// Purpose : Defines all the plug-in classes contained within the HttpSecurity +// plug-in DLL. +// The HTTP Security plug-in provides an implementation of security +// policy for use by HTTP when configuring WTLS in the WAP stack. +// // DISCLAIMER - THE IMPLEMENTATION FILE FOR THIS CLASS CONTAINS DUMMY // +// // POLICIES FOR TESTING PURPOSES ONLY. IT SHOULD NOT FORM PART // +// // OF FINAL DELIVERABLE SOFTWARE. IN REALITY, DELIVERABLE // +// // SOFTWARE SHOULD REFLECT ACTUAL LICENSEE OR NETWORK PROVIDER // +// // SECURITY POLICY. // +// +// + +#ifndef __CGTPUSHSECURITYPOLICY_H__ +#define __CGTPUSHSECURITYPOLICY_H__ + +// System includes +#include + +// Local includes +#include "CPushSecurityPolicy.h" + +// PushSecurity Plug-in data type handled +_LIT(KWapPushSecurityData,"WTLS/Security Policy"); + +/** + * Class definition for CWapPushSecurity + */ +//##ModelId=3B66B89E0137 +class CGTPushSecurityPolicy : public CPushSecurityPolicy +/** +@internalComponent +@released +*/ + { +public: // Methods + + //##ModelId=3B66B89E01A7 + static CGTPushSecurityPolicy* NewL(); + + //##ModelId=3B66B89E01A6 + virtual ~CGTPushSecurityPolicy(); + +private: // Methods inherited from CPushSecurityPolicy + + //##ModelId=3B66B89E019F + virtual TBool AnonymousAuthenticationAllowed(); + + //##ModelId=3B66B89E0196 + virtual TBool GetKeyExchangeSuiteNormal( + RWTLS::TKeyExchangeSuite& aSuite, + RWTLS::TIdType& aIdType, + TDes8& aKeyId + ); + + //##ModelId=3B66B89E0192 + virtual TBool GetKeyExchangeSuiteAnon( + RWTLS::TKeyExchangeSuite& aSuite, + RWTLS::TIdType& aIdType, + TDes8& aKeyId + ); + + //##ModelId=3B66B89E018A + virtual TBool GetNumCipherSuites(TInt& aNumCipherSuites); + + //##ModelId=3B66B89E0188 + virtual TBool GetCipherSuitesL(RWTLS::CipherSuiteArray& aCipherSuites); + + //##ModelId=3B66B89E0180 + virtual TBool GetKeyRefreshRate(TUint8& aRate); + + //##ModelId=3B66B89E017E + virtual TBool GetSequenceNumberMode(RWTLS::TSequenceNumberMode& aMode); + + //##ModelId=3B66B89E0175 + virtual TBool GetRecordLengthUsage(TBool& aUseRecordLengthFlag); + + //##ModelId=3B66B89E0173 + virtual TBool GetSharedSecretLC(HBufC8*& aSharedSecret); + + //##ModelId=3B66B89E016A + virtual TCipherResponse GetNegotiatedCipherAction( + RWTLS::TCipherSuite* aSuite, + RWTLS::TSequenceNumberMode* aMode + ); + + //##ModelId=3B66B89E0162 + virtual TAny* Extend_CPushSecurityPolicy1(TAny* aArg); + + //##ModelId=3B66B89E0160 + virtual TAny* Extend_CPushSecurityPolicy2(TAny* aArg); + +private: // Methods + + //##ModelId=3B66B89E015F + CGTPushSecurityPolicy(); + + //##ModelId=3B66B89E0155 + void ConstructL(); + +private: // Attributes + + /** Counter for the number of times that GetKeyExchangeSuiteXxx() has been called + */ + //##ModelId=3B66B89E014E + TInt iKeyExchangeSuitesSet; + + }; + +#endif // __CGTPUSHSECURITYPOLICY_H__