YARP
Yet Another Robot Platform
 
Loading...
Searching...
No Matches
broker.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2006-2021 Istituto Italiano di Tecnologia (IIT)
3 * SPDX-License-Identifier: BSD-3-Clause
4 */
5
6#ifndef YARP_MANAGER_BROKER
7#define YARP_MANAGER_BROKER
8
9#include <string>
10#include <vector>
11
13
14
15namespace yarp::manager {
16
17
19{
20public:
21 virtual ~BrokerEventSink() {}
22 virtual void onBrokerStdout(const char* msg) {}
23 virtual void onBrokerModuleFailed() {}
24};
25
26
30class Broker {
31
32public:
33 Broker();
34 virtual ~Broker();
35 void setEventSink(BrokerEventSink* pEventSink);
36 virtual bool init() = 0; //only connector
37 virtual bool init(const char* szcmd, const char* szparam,
38 const char* szhost, const char* szstdio,
39 const char* szworkdir, const char* szenv ) = 0;
40 virtual void fini() = 0;
41 virtual bool start() = 0;
42 virtual bool stop() = 0;
43 virtual bool kill() = 0;
44 virtual bool connect(const std::string& from, const std::string& to, const std::string& carrier, bool persist = false) = 0;
45 virtual bool disconnect(const std::string& from, const std::string& to, const std::string& carrier) = 0;
46 virtual int running() = 0; // 0 if is not running and 1 if is running; otherwise -1.
47 virtual bool exists(const std::string& port) = 0;
48 virtual std::string requestRpc(const std::string& szport, const std::string& request, double timeout = 0.0) = 0;
49 virtual bool connected(const std::string& from, const std::string& to, const std::string& carrier) = 0;
50 virtual std::string error() = 0;
51 virtual bool initialized() = 0;
52 virtual bool attachStdout() = 0;
53 virtual void detachStdout() = 0;
54
55 unsigned int generateID();
56
57 void enableWatchDog() { bWithWatchDog = true; }
58 void disableWatchDog() { bWithWatchDog = false; }
59 bool hasWatchDog() { return bWithWatchDog; }
60 void setDisplay(const char* szDisplay) { if(szDisplay) { strDisplay = szDisplay; } }
61
62 std::string getDisplay() const {return strDisplay; }
63protected:
64 unsigned int UNIQUEID;
67 std::string strDisplay;
68
69private:
70
71};
72
73} // namespace yarp::manager
74
75
76#endif // __YARP_MANAGER_BROKER__
virtual void onBrokerModuleFailed()
Definition broker.h:23
virtual void onBrokerStdout(const char *msg)
Definition broker.h:22
Class Broker.
Definition broker.h:30
virtual bool init(const char *szcmd, const char *szparam, const char *szhost, const char *szstdio, const char *szworkdir, const char *szenv)=0
unsigned int UNIQUEID
Definition broker.h:64
void setDisplay(const char *szDisplay)
Definition broker.h:60
virtual bool exists(const std::string &port)=0
virtual int running()=0
std::string strDisplay
Definition broker.h:67
BrokerEventSink * eventSink
Definition broker.h:65
virtual bool init()=0
virtual bool connect(const std::string &from, const std::string &to, const std::string &carrier, bool persist=false)=0
unsigned int generateID()
Definition broker.cpp:26
virtual bool initialized()=0
virtual bool kill()=0
void enableWatchDog()
Definition broker.h:57
virtual void fini()=0
virtual bool stop()=0
virtual std::string requestRpc(const std::string &szport, const std::string &request, double timeout=0.0)=0
virtual bool disconnect(const std::string &from, const std::string &to, const std::string &carrier)=0
virtual bool connected(const std::string &from, const std::string &to, const std::string &carrier)=0
std::string getDisplay() const
Definition broker.h:62
virtual bool start()=0
virtual void detachStdout()=0
void disableWatchDog()
Definition broker.h:58
virtual bool attachStdout()=0
void setEventSink(BrokerEventSink *pEventSink)
Definition broker.cpp:21
virtual std::string error()=0