diff -r 000000000000 -r 33413c0669b9 vpnengine/eventmediatorapi/inc/eventdefssit.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/vpnengine/eventmediatorapi/inc/eventdefssit.h Thu Dec 17 09:14:51 2009 +0200 @@ -0,0 +1,235 @@ +/* +* Copyright (c) 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: Event definitions for SIT +* +*/ + + + +#ifndef EVENTDEFSSIT_H +#define EVENTDEFSSIT_H + +/* + * The following event types are "SIT events". When a client + * makes a SIT event listening request, the Event Mediator + * uses the SIT to fulfill the request. + * + * When the SIT completes the task that is needed to fulfill + * a certain SIT event listening request, the SIT reports an + * event to the Event Mediator. The event report contains + * event data that the Event Mediator passes further to the + * listeners of the SIT event. + * + * EGetProtocolVersionEvent + * Event specification: VPN policy ID + * Event data: Status of the task + * Protocol type enumeration + * + * EStartVpnConnEvent + * Event specification: VPN IAP ID + * VPN network ID + * Real IAP ID + * Real network ID + * VPN policy ID + * VPN NIF name + * Event data: Status of the task + * IKE policy handle + * IPSec policy handle + * VPN internal address information + * + * ECloseVpnConnEvent + * Event specification: IKE policy handle + * IPSec policy handle + * Event data: Status of the task + * + * EStartRealIapConnEvent + * Event specification: Real IAP ID + * Real network ID + * Event data: Status of the task + * + * EObserveRealIapConnEvent + * Event specification: Real IAP ID + * Real network ID + * Event data: Status of the task + * Real IAP connection event + * + * The following event types are SIT related event types that are + * used by the SIT for fetching task related information from the + * Event Mediator. These event types are meant only for internal + * use between the SIT and the Event Mediator. + * + * ETaskArrivedEvent + * Event specification: - + * Event data: Event type of the task request + * that requires fulfilling + * Event specification ID of the task + * request that requires fulfilling + * + * EFetchTaskInfoEvent + * Event specification: Event type of the task request + * that requires fulfilling + * Event specification ID of the task + * request that requires fulfilling + * Event data: One of the event specifications + * listed below (depends on the event + * type) + * + */ + +/** + * Protocol version information used with EGetProtocolVersionEvent + */ +enum TProtocolVersion + { + EVersionUnknown = 0, + EVersionIp, + EVersionIp6 + }; + +/** + * + * Enumeration of deactivation types. + * + */ +enum TDeactivateType + { + EDeactivateNormal = 0, + EDeactivateForced + }; + + +/** + * Event specification for EGetProtocolVersionEvent and + * EGetProtocolVersionCancelEvent + */ +class TGetProtocolVersionEventSpec : public TEventSpec + { +public: + inline TGetProtocolVersionEventSpec() : TEventSpec() + { + iPolicyId.Zero(); + } + TVpnPolicyId iPolicyId; + }; + +/** + * Event data for EGetProtocolVersionEvent + */ +class TGetProtocolVersionEventData : public TEventData + { +public: + inline TGetProtocolVersionEventData() : TEventData(), iProtocolVersion(EVersionUnknown) + {} + TProtocolVersion iProtocolVersion; + }; + +/** + * Event specification for EStartVpnConnEvent and EStartVpnConnCancelEvent + */ +class TStartVpnConnEventSpec : public TEventSpec + { +public: + inline TStartVpnConnEventSpec() : TEventSpec() + { + iPolicyId.Zero(); + } + TRealConfig iIfInfo; + TVpnPolicyId iPolicyId; + }; + +/** + * Event data for EStartVpnConnEvent + */ +class TStartVpnConnEventData : public TEventData + { +public: + inline TStartVpnConnEventData() : TEventData() + { + iIkePolicyHandle.iHandle = 0; + iIpsecPolicyHandle.iHandle = 0; + } + TPolicyHandle iIkePolicyHandle; + TPolicyHandle iIpsecPolicyHandle; + TVPNAddress iVpnAddressInfo; + TUint32 iIapId; + TUint32 iNetId; + }; + +/** + * Event specification for ECloseVpnConnEvent and ECloseVpnConnCancelEvent + */ +class TCloseVpnConnEventSpec : public TEventSpec + { +public: + inline TCloseVpnConnEventSpec() + :TEventSpec(), + iDeactivateType(EDeactivateNormal), + iVpnIapId(0), + iRealIapId(0) + { + iIkePolicyHandle.iHandle = 0; + iIpsecPolicyHandle.iHandle = 0; + } + TPolicyHandle iIkePolicyHandle; + TPolicyHandle iIpsecPolicyHandle; + TDeactivateType iDeactivateType; + TUint32 iVpnIapId; + TUint32 iRealIapId; + }; + +/** + * Event data for ECloseVpnConnEvent + */ +typedef TEventData TCloseVpnConnEventData; + +/** + * Event specification for EStartRealIapConnEvent and + * EStartRealIapConnCancelEvent + */ +class TStartRealIapConnEventSpec : public TEventSpec + { +public: + inline TStartRealIapConnEventSpec() + :TEventSpec(), iRealIapConnInfo(), iVpnIapId(0), iRealIapId(0) + {} + TConnectionInfo iRealIapConnInfo; + TUint32 iVpnIapId; + TUint32 iRealIapId; + }; + +/** + * Event data for EStartRealIapConnEvent + */ +typedef TEventData TStartRealIapConnEventData; + +/** + * Event specification for EObserveRealIapConnEvent and + * EObserveRealIapConnCancelEvent + */ +typedef TStartRealIapConnEventSpec TObserveRealIapConnEventSpec; + +/** + * Event data for EObserveRealIapConnEvent + */ +class TObserveRealIapConnEventData : public TEventData + { +public: + inline TObserveRealIapConnEventData() + : TEventData(), iInterfaceState(ESingleInterfaceStateUnknown) + {} + TSingleConnInterfaceState iInterfaceState; + }; + + +#endif // EVENTDEFSSIT_H