17 bWatchDog = _bWatchDog;
20 originalWaitStart = 0.0;
21 originalWaitStop = 0.0;
22 Executable::module =
module;
34 watchdogWrapper =
nullptr;
40 if (watchdogWrapper) {
41 delete watchdogWrapper;
51bool Executable::initialize()
57 bool ret = broker->
init(strCommand.c_str(),
67 msg<<
"cannot initialize broker. : ";
68 if (!broker->
error().empty()) {
69 msg << broker->
error();
72 event->onExecutableDied(
this);
82 event->onExecutableDied(
this);
87 startWrapper->
start();
94void Executable::startImplement()
110 stopWrapper->
start();
114void Executable::stopImplement()
131 killWrapper->
start();
134void Executable::killImplement()
173 std::cerr<<
"Unknown state!"<<std::endl;
179 if (broker ==
nullptr)
197 strHost !=
"localhost")
202 strHost ==
"localhost")
220 if (watchdogWrapper ==
nullptr) {
224 watchdogWrapper->
start();
230 if (watchdogWrapper && watchdogWrapper->
isRunning()) {
231 watchdogWrapper->
stop();
237 event->onExecutableStdout(
this, msg);
241void Executable::watchdogImplement()
250 for (itr = connections.begin(); itr != connections.end(); itr++) {
251 if (!broker->
connected((*itr).from(), (*itr).to(), (*itr).carrier())) {
StateBase * currentState()
virtual bool initialized()=0
virtual bool connected(const std::string &from, const std::string &to, const std::string &carrier)=0
void setEventSink(BrokerEventSink *pEventSink)
virtual std::string error()=0
void addError(const char *szError)
static ErrorLogger * Instance()
Singleton class ErrorLogger.
void disconnectAllPorts()
void connectionFailed(void *which)
void onBrokerStdout(const char *msg) override
Executable(Broker *_broker, MEvent *_event, Module *module, bool bWatchDog=true)
BrokerType getBrokerType()
bool shouldChangeBroker()
void setAndInitializeBroker(Broker *_broker)
bool isRunning() const
Returns true when the thread is started, false otherwise.
bool start()
Call this to start the thread.
void stop()
Call this to stop the thread, this call blocks until the thread is terminated (and releaseThread() ca...
void wait()
Decrement the counter, even if we must wait to do that.
void post()
Increment the counter.
bool isRunning()
Returns true if the thread is running (Thread::start has been called successfully and the thread has ...
bool start()
Start the new thread running.
bool compareString(const char *szFirst, const char *szSecond)
enum yarp::manager::__RSTATE RSTATE
std::vector< Connection >::iterator CnnIterator
std::stringstream OSTRINGSTREAM
#define __CHECK_NULLPTR(_ptr)