IBR-DTNSuite
0.8
|
00001 /* 00002 * ConnectionEvent.h 00003 * 00004 * Created on: 16.02.2010 00005 * Author: morgenro 00006 */ 00007 00008 #ifndef CONNECTIONEVENT_H_ 00009 #define CONNECTIONEVENT_H_ 00010 00011 #include "core/Event.h" 00012 #include "core/Node.h" 00013 #include <ibrdtn/data/EID.h> 00014 00015 namespace dtn 00016 { 00017 namespace net 00018 { 00019 class ConnectionEvent : public dtn::core::Event 00020 { 00021 public: 00022 enum State 00023 { 00024 CONNECTION_SETUP = 0, 00025 CONNECTION_UP = 1, 00026 CONNECTION_DOWN = 2, 00027 CONNECTION_TIMEOUT = 3 00028 }; 00029 00030 virtual ~ConnectionEvent(); 00031 00032 const string getName() const; 00033 00034 std::string toString() const; 00035 00036 static const string className; 00037 00038 static void raise(State, const dtn::core::Node&); 00039 00040 const State state; 00041 const dtn::data::EID peer; 00042 const dtn::core::Node node; 00043 00044 private: 00045 ConnectionEvent(State, const dtn::core::Node&); 00046 }; 00047 } 00048 } 00049 00050 00051 #endif /* CONNECTIONEVENT_H_ */