00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef BUSEVENT_CHILD_SA_H
00022 #define BUSEVENT_CHILD_SA_H
00023
00024 #include "busevent.h"
00025 #include "enums.h"
00026 #include "bytearray.h"
00027
00028 namespace openikev2 {
00029 typedef class IkeSaController;
00030 typedef class ChildSa;
00031
00036 class BusEventChildSa : public BusEvent {
00037
00038
00039 public:
00041 enum CHILD_SA_EVENT_TYPE{
00042 NEW_CHILD_SA,
00043 DEL_CHILD_SA,
00044 CHILD_SA_ESTABLISHED,
00045 CHILD_SA_REKEYED,
00047 CHILD_SA_FAIL_GENERIC,
00048 CHILD_SA_FAIL_NO_PROPOSAL_CHOSEN,
00049 CHILD_SA_FAIL_INVALID_KE,
00050 CHILD_SA_FAIL_INVALID_TS,
00051 CHILD_SA_FAIL_SINGLE_PAIR_REQUIRED,
00052 CHILD_SA_FAIL_NO_ADDITIONAL_SAS,
00053 CHILD_SA_FAIL_INVALID_SPI,
00054 };
00055
00056
00057 public:
00058 CHILD_SA_EVENT_TYPE child_sa_event_type;
00059 IkeSaController& ike_sa_controller;
00060 ChildSa& child_sa;
00061 void* data;
00063
00064 public:
00065
00072 BusEventChildSa( CHILD_SA_EVENT_TYPE child_sa_event_type, IkeSaController& ike_sa_controller, ChildSa& child_sa);
00073
00081 BusEventChildSa( CHILD_SA_EVENT_TYPE child_sa_event_type, IkeSaController& ike_sa_controller, ChildSa& child_sa, void* data );
00082
00083 virtual ~BusEventChildSa();
00084 };
00085 };
00086 #endif