1 #ifndef __lcm_cpp_hpp__ 2 #define __lcm_cpp_hpp__ 42 inline LCM(std::string lcm_url=
"");
68 inline bool good()
const;
79 inline int publish(
const std::string& channel,
const void *data,
80 unsigned int datalen);
93 template<
class MessageType>
94 inline int publish(
const std::string& channel,
const MessageType* msg);
187 template <
class MessageType,
class MessageHandlerClass>
189 void (MessageHandlerClass::*handlerMethod)(
const ReceiveBuffer* rbuf,
const std::string& channel,
const MessageType* msg),
190 MessageHandlerClass* handler);
239 template <
class MessageHandlerClass>
241 void (MessageHandlerClass::*handlerMethod)(
const ReceiveBuffer* rbuf,
const std::string& channel),
242 MessageHandlerClass* handler);
301 template <
class MessageType,
class ContextClass>
304 const std::string& channel,
305 const MessageType *msg,
306 ContextClass context),
307 ContextClass context);
349 template <
class ContextClass>
352 const std::string& channel,
353 ContextClass context),
354 ContextClass context);
389 std::vector<Subscription*> subscriptions;
444 inline int setQueueCapacity(
int num_messages);
510 inline LogFile(
const std::string & path,
const std::string & mode);
520 inline bool good()
const;
531 inline const LogEvent* readNextEvent();
542 inline int seekToTimestamp(int64_t timestamp);
554 inline int writeEvent(
LogEvent* event);
566 inline FILE* getFilePtr();
570 lcm_eventlog_t* eventlog;
571 lcm_eventlog_event_t* last_event;
578 #define __lcm_cpp_impl_ok__ 579 #include "lcm-cpp-impl.hpp" 580 #undef __lcm_cpp_impl_ok__ struct _lcm_subscription_t lcm_subscription_t
Definition: lcm.h:53
Stores the raw bytes and timestamp of a received message.
Definition: lcm-cpp.hpp:397
int64_t eventnum
Definition: lcm-cpp.hpp:472
int handle()
Waits for and dispatches messages.
Definition: lcm-cpp.hpp:195
lcm_t * getUnderlyingLCM()
retrives the lcm_t C data structure wrapped by this class.
Definition: lcm-cpp.hpp:298
int64_t timestamp
Definition: lcm-cpp.hpp:477
int publish(const std::string &channel, const void *data, unsigned int datalen)
Publishes a raw data message.
Definition: lcm-cpp.hpp:144
Core communications class for the C++ API.
Definition: lcm-cpp.hpp:31
Represents a channel subscription, and can be used to unsubscribe and set options.
Definition: lcm-cpp.hpp:426
int getFileno()
Returns a file descriptor or socket that can be used with select(), poll(), or other event loops for ...
Definition: lcm-cpp.hpp:185
Definition: lcm-cpp.hpp:9
Represents a single event (message) in a log file.
Definition: lcm-cpp.hpp:467
int32_t datalen
Definition: lcm-cpp.hpp:485
Subscription * subscribeFunction(const std::string &channel, void(*handler)(const ReceiveBuffer *rbuf, const std::string &channel, const MessageType *msg, ContextClass context), ContextClass context)
Subscribe a function callback to a channel, with automatic message decoding.
Definition: lcm-cpp.hpp:258
void * data
Definition: lcm-cpp.hpp:401
int handleTimeout(int timeout_millis)
Waits for and dispatches messages, with a timeout.
Definition: lcm-cpp.hpp:205
Read and write LCM log files.
Definition: lcm-cpp.hpp:501
int64_t recv_utime
Definition: lcm-cpp.hpp:410
Subscription * subscribe(const std::string &channel, void(MessageHandlerClass::*handlerMethod)(const ReceiveBuffer *rbuf, const std::string &channel, const MessageType *msg), MessageHandlerClass *handler)
Subscribes a callback method of an object to a channel, with automatic message decoding.
Definition: lcm-cpp.hpp:216
bool good() const
Checks if initialization succeeded during object construction.
Definition: lcm-cpp.hpp:128
struct _lcm_t lcm_t
Definition: lcm.h:48
uint32_t data_size
Definition: lcm-cpp.hpp:405
~LCM()
Destructor.
Definition: lcm-cpp.hpp:134
std::string channel
Definition: lcm-cpp.hpp:481
lcm_subscription_t * c_subs
Definition: lcm-cpp.hpp:448
LCM(std::string lcm_url="")
Constructor.
Definition: lcm-cpp.hpp:114
int unsubscribe(Subscription *subscription)
Unsubscribes a message handler.
Definition: lcm-cpp.hpp:165
void * data
Definition: lcm-cpp.hpp:489