00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef BUSEVENT_IKE_SA_H
00022 #define BUSEVENT_IKE_SA_H
00023
00024 #include "busevent.h"
00025 #include "enums.h"
00026 #include "bytearray.h"
00027
00028 namespace openikev2 {
00029 typedef class IkeSaController;
00030
00035 class BusEventIkeSa : public BusEvent {
00036
00037
00038 public:
00040 enum IKE_SA_EVENT_TYPE{
00041 NEW_IKE_SA,
00042 DEL_IKE_SA,
00043 REKEY_IKE_SA,
00044 IKE_SA_ESTABLISHED,
00045 IKE_SA_FAIL_GENERIC,
00046 IKE_SA_FAIL_RETRANSMITIONS_EXCEEDED,
00047 IKE_SA_FAIL_NEGOTIATION_TIMEOUT,
00048 IKE_SA_FAIL_NO_PROPOSAL_CHOSEN,
00049 IKE_SA_FAIL_COOKIE_REQUIRED,
00050 IKE_SA_FAIL_INVALID_KE,
00051 IKE_SA_FAIL_AUTHENTICATION,
00052 IKE_SA_FAIL_INTERNAL_ADDRESS,
00053 IKE_SA_FAIL_UNSUPPORTED_CRITICAL_PAYLOAD,
00054 IKE_SA_FAIL_CONFIGURATION,
00055 };
00056
00057
00058 public:
00059 IKE_SA_EVENT_TYPE ike_sa_event_type;
00060 IkeSaController& ike_sa_controller;
00061 void* data;
00063
00064 public:
00070 BusEventIkeSa( IKE_SA_EVENT_TYPE ike_sa_event_type, IkeSaController& controller );
00071
00079 BusEventIkeSa( IKE_SA_EVENT_TYPE ike_sa_event_type, IkeSaController& controller, void* data );
00080
00081 virtual ~BusEventIkeSa();
00082 };
00083 }
00084 #endif