diff -r 000000000000 -r af10295192d8 networksecurity/tls/protocol/tlsevent.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/networksecurity/tls/protocol/tlsevent.h Tue Jan 26 15:23:49 2010 +0200 @@ -0,0 +1,90 @@ +/** +* Copyright (c) 2003-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: +* SSL3.0/TLS1.0 specific asynchronous events class header file. +* Describes an abstract, base class for SSL3.0/TLS1.0 protocol-specific +* asynchronous events. +* +* +*/ + + + +/** + @file TlsEvent.h +*/ + +#include +#include +#include "LOGFILE.H" +#include + +#ifndef _TLSEVENT_H_ +#define _TLSEVENT_H_ + + +class CTLSProvider; + +class CTlsEvent : public CAsynchEvent +/** + * Describes a SSL3.0/TLS1.0 protocol specific event (i.e. Handshake, ChangeCipherSpec, + * Alert and Application data protocol messages, Record composition, Record parsing, etc). + * + * @internalComponent + */ +{ +public: + CTlsEvent( CTLSProvider* aTlsProvider, CStateMachine* aStateMachine ); + virtual TBool AcceptRecord( TInt aRecordType ) const; // Looks up an object to process a Record payload + void SetTlsProvider( CTLSProvider* aTlsProvider ); + static TInt Offset(); + static TInt TxOffset(); + +protected: + CTLSProvider* iTlsProvider; ///< Reference to cryptography service provider (not required by the Alert Protocol). + TSglQueLink iSlink; ///< Link object (Record protocol content type list) + TSglQueLink iTxlink; ///< Link object (Transmitted message list) +}; + + +// Inline functions + +inline CTlsEvent::CTlsEvent( CTLSProvider* aTlsProvider, CStateMachine* aStateMachine ) : + CAsynchEvent( aStateMachine ), + iTlsProvider( aTlsProvider ) +{ +} + +inline void CTlsEvent::SetTlsProvider( CTLSProvider* aTlsProvider ) +{ + iTlsProvider = aTlsProvider; +} + +/** + * Returns the offset of a CTlsEvent object. Used by the Record protocol type list. + */ +inline TInt CTlsEvent::Offset() +{ + return _FOFF( CTlsEvent, iSlink ); +} + +/** + * Returns the offset of a CTlsEvent object. Used by the Transmitted events list. + */ +inline TInt CTlsEvent::TxOffset() +{ + return _FOFF( CTlsEvent, iTxlink ); +} + +#endif