IBR-DTNSuite  0.8
daemon/src/net/ConnectionEvent.h
Go to the documentation of this file.
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_ */