39 #ifdef IBRDTN_SUPPORT_BSP
43 #include <ibrcommon/Exceptions.h>
48 #ifndef NATIVEDAEMON_H_
49 #define NATIVEDAEMON_H_
77 virtual void eventRaised(
const std::string &event,
const std::string &action,
const std::vector<std::string> &data)
throw () = 0;
145 void addData(
const std::string &tag,
const std::string &data) {
146 _tags.push_back(tag);
147 _data.push_back(data);
151 std::vector<std::string> _tags;
152 std::vector<std::string> _data;
163 class NativeEventLoop;
174 #ifdef IBRDTN_SUPPORT_BSP
178 static const std::string TAG;
219 void setLogging(
const std::string &defaultTag,
int logLevel)
const throw ();
224 void setLogFile(
const std::string &path,
int logLevel)
const throw ();
256 void addConnection(std::string eid, std::string protocol, std::string address, std::string service,
bool local =
false)
const throw ();
261 void removeConnection(std::string eid, std::string protocol, std::string address, std::string service,
bool local =
false)
const throw ();
281 void onKeyExchangeResponse(std::string eid,
int protocol,
int session,
int step, std::string data)
const;
305 #ifdef IBRDTN_SUPPORT_BSP
312 std::vector<std::string>
getVersion()
const throw ();
332 void setLeMode(
bool low_energy)
const throw ();
338 void addEventData(
const dtn::data::Bundle &b, std::vector<std::string> &data)
const;
383 ibrcommon::Conditional _runlevel_cond;
390 typedef std::list< dtn::daemon::Component* > component_list;
391 typedef std::map<DaemonRunLevel, component_list > component_map;
392 component_map _components;
395 typedef std::list< dtn::core::AbstractWorker* > app_list;
400 ibrcommon::File _config_file;
407 virtual void run(
void)
throw ();
void initiateConnection(std::string eid) const
virtual void __cancellation()
NativeEventLoop(NativeDaemon &daemon)
void onKeyExchangeBegin(std::string eid, int protocol, std::string password) const
void startDiscovery() const
NativeNode(const std::string &e)
void wait(DaemonRunLevel rl)
void setLogging(const std::string &defaultTag, int logLevel) const
std::vector< std::string > getVersion() const
void setConfigFile(const std::string &config_file)
const std::string & getData(int index)
void removeConnection(std::string eid, std::string protocol, std::string address, std::string service, bool local=false) const
void stopDiscovery() const
void addData(const std::string &tag, const std::string &data)
void addConnection(std::string eid, std::string protocol, std::string address, std::string service, bool local=false) const
DaemonRunLevel getRunLevel() const
void removeKey(std::string eid) const
NativeNode getInfo(const std::string &neighbor_eid) const
virtual void raiseEvent(const dtn::core::NodeEvent &evt)
size_t bundles_transmitted
virtual void levelChanged(DaemonRunLevel level)=0
NativeDaemon(NativeDaemonCallback *statecb=NULL, NativeEventCallback *eventcb=NULL)
std::string getLocalUri() const
void onKeyExchangeResponse(std::string eid, int protocol, int session, int step, std::string data) const
void setLogFile(const std::string &path, int logLevel) const
void setGloballyConnected(bool connected) const
virtual void eventRaised(const std::string &event, const std::string &action, const std::vector< std::string > &data)=0
virtual ~NativeEventCallback()=0
virtual ~NativeDaemonCallback()=0
NativeDaemonException(std::string what="An error happened.")
const std::vector< std::string > & getTags()
void init(DaemonRunLevel rl)
void setLeMode(bool low_energy) const
std::vector< std::string > getNeighbors() const
NativeKeyInfo getKeyInfo(std::string eid) const
void clearStorage() const