IBR-DTNSuite  0.10
P2PDialupExtension.h
Go to the documentation of this file.
1 /*
2  * P2PDialupExtension.h
3  *
4  * Created on: 25.02.2013
5  * Author: morgenro
6  */
7 
8 #include "core/Node.h"
9 #include <ibrdtn/data/EID.h>
11 
12 #ifndef P2PDIALUPEXTENSION_H_
13 #define P2PDIALUPEXTENSION_H_
14 
15 namespace dtn
16 {
17  namespace net
18  {
20  public:
22  virtual ~P2PDialupExtension() = 0;
23 
28  virtual dtn::core::Node::Protocol getProtocol() const = 0;
29 
33  virtual void connect(const dtn::core::Node::URI &uri) = 0;
34 
38  virtual void disconnect(const dtn::core::Node::URI &uri) = 0;
39 
40  protected:
44  void fireDiscovered(const dtn::data::EID &eid, const dtn::core::Node::URI &uri) const;
45 
49  void fireDisconnected(const dtn::data::EID &eid, const dtn::core::Node::URI &uri) const;
50 
54  void fireConnected(const dtn::data::EID &eid, const dtn::core::Node::URI &uri) const;
55 
59  void fireInterfaceUp(const ibrcommon::vinterface &iface) const;
60 
64  void fireInterfaceDown(const ibrcommon::vinterface &iface) const;
65  };
66  } /* namespace routing */
67 } /* namespace dtn */
68 #endif /* P2PDIALUPEXTENSION_H_ */