1 #ifndef __lcm_cpp_hpp__
2 #define __lcm_cpp_hpp__
42 inline LCM(std::string lcm_url=
"");
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;
510 inline LogFile(
const std::string & path,
const std::string & mode);
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__
Core communications class for the C++ API.
Definition: lcm-cpp.hpp:31
int publish(const std::string &channel, const MessageType *msg)
Publishes a message with automatic message encoding.
Subscription * subscribe(const std::string &channel, void(MessageHandlerClass::*handlerMethod)(const ReceiveBuffer *rbuf, const std::string &channel), MessageHandlerClass *handler)
Subscribe a callback method of an object to a channel, without automatic message decoding.
LCM(std::string lcm_url="")
Constructor.
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.
bool good() const
Checks if initialization succeeded during object construction.
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.
LCM(lcm_t *lcm_in)
Constructor.
int publish(const std::string &channel, const void *data, unsigned int datalen)
Publishes a raw data message.
int handleTimeout(int timeout_millis)
Waits for and dispatches messages, with a timeout.
lcm_t * getUnderlyingLCM()
retrives the lcm_t C data structure wrapped by this class.
int handle()
Waits for and dispatches messages.
int getFileno()
Returns a file descriptor or socket that can be used with select(), poll(), or other event loops for ...
Subscription * subscribeFunction(const std::string &channel, void(*handler)(const ReceiveBuffer *rbuf, const std::string &channel, ContextClass context), ContextClass context)
Subscribe a function callback to a channel, without automatic message decoding.
int unsubscribe(Subscription *subscription)
Unsubscribes a message handler.
Read and write LCM log files.
Definition: lcm-cpp.hpp:501
FILE * getFilePtr()
retrives the underlying FILE* wrapped by this class.
const LogEvent * readNextEvent()
int writeEvent(LogEvent *event)
int seekToTimestamp(int64_t timestamp)
LogFile(const std::string &path, const std::string &mode)
Represents a channel subscription, and can be used to unsubscribe and set options.
Definition: lcm-cpp.hpp:426
lcm_subscription_t * c_subs
Definition: lcm-cpp.hpp:448
int setQueueCapacity(int num_messages)
Adjusts the maximum number of received messages that can be queued up for this subscription.
struct _lcm_subscription_t lcm_subscription_t
Definition: lcm.h:53
struct _lcm_t lcm_t
Definition: lcm.h:48
Represents a single event (message) in a log file.
Definition: lcm-cpp.hpp:467
void * data
Definition: lcm-cpp.hpp:489
int64_t eventnum
Definition: lcm-cpp.hpp:472
std::string channel
Definition: lcm-cpp.hpp:481
int64_t timestamp
Definition: lcm-cpp.hpp:477
int32_t datalen
Definition: lcm-cpp.hpp:485
Stores the raw bytes and timestamp of a received message.
Definition: lcm-cpp.hpp:397
void * data
Definition: lcm-cpp.hpp:401
uint32_t data_size
Definition: lcm-cpp.hpp:405
int64_t recv_utime
Definition: lcm-cpp.hpp:410