37 #ifndef LibMultiSense_details_signal_hh 38 #define LibMultiSense_details_signal_hh 47 namespace multisense {
61 Map::iterator it =
m_map.find(
id);
63 if (
m_map.end() != it)
64 it->second->post(status);
76 typedef std::map<wire::IdType, Signal*>
Map;
82 Map::const_iterator it =
m_map.find(type);
89 if (
m_map.end() != it)
92 m_map[type] = signalP;
98 Map::iterator it =
m_map.find(type);
100 if (
m_map.end() == it)
118 m_map.insert(m_id, &m_signal);
126 const double& timeout) {
127 return m_signal.timedWait(status, timeout);
142 #endif // LibMultiSense_details_signal_hh
#define CRL_EXCEPTION(fmt,...)
void insert(wire::IdType type, Signal *signalP)
MessageWatch::Signal m_signal
void signal(wire::IdType id, Status status=Status_Ok)
utility::WaitVar< Status > Signal
std::map< wire::IdType, Signal * > Map
static CRL_CONSTEXPR Status Status_Ok
ScopedWatch(wire::IdType t, MessageWatch &m)
bool wait(Status &status, const double &timeout)
void signal(const wire::Ack &ack)