Public Member Functions | Private Types | Private Attributes | List of all members
ublox_gps::CallbackHandlers Class Reference

Callback handlers for incoming u-blox messages. More...

#include <callback.h>

Public Member Functions

void handle (ublox::Reader &reader)
 Calls the callback handler for the message in the reader. More...
 
void handle_nmea (ublox::Reader &reader)
 Calls the callback handler for the nmea messages in the reader. More...
 
template<typename T >
void insert (typename CallbackHandler_< T >::Callback callback)
 
template<typename T >
void insert (typename CallbackHandler_< T >::Callback callback, unsigned int message_id)
 
template<typename T >
bool read (T &message, const boost::posix_time::time_duration &timeout)
 Read a u-blox message of the given type. More...
 
void readCallback (unsigned char *data, std::size_t &size)
 Processes u-blox messages in the given buffer & clears the read messages from the buffer. More...
 
void set_nmea_callback (boost::function< void(const std::string &)> callback)
 Add a callback handler for nmea messages. More...
 

Private Types

typedef std::multimap< std::pair< uint8_t, uint8_t >, boost::shared_ptr< CallbackHandler > > Callbacks
 

Private Attributes

boost::mutex callback_mutex_
 
boost::function< void(const std::string &)> callback_nmea_
 Callback handler for nmea messages. More...
 
Callbacks callbacks_
 

Detailed Description

Callback handlers for incoming u-blox messages.

Definition at line 121 of file callback.h.

Member Typedef Documentation

◆ Callbacks

typedef std::multimap<std::pair<uint8_t, uint8_t>, boost::shared_ptr<CallbackHandler> > ublox_gps::CallbackHandlers::Callbacks
private

Definition at line 260 of file callback.h.

Member Function Documentation

◆ handle()

void ublox_gps::CallbackHandlers::handle ( ublox::Reader reader)
inline

Calls the callback handler for the message in the reader.

Parameters
readera reader containing a u-blox message

Definition at line 169 of file callback.h.

◆ handle_nmea()

void ublox_gps::CallbackHandlers::handle_nmea ( ublox::Reader reader)
inline

Calls the callback handler for the nmea messages in the reader.

Parameters
readera reader containing an nmea message

Definition at line 183 of file callback.h.

◆ insert() [1/2]

template<typename T >
void ublox_gps::CallbackHandlers::insert ( typename CallbackHandler_< T >::Callback  callback)
inline

Definition at line 129 of file callback.h.

◆ insert() [2/2]

template<typename T >
void ublox_gps::CallbackHandlers::insert ( typename CallbackHandler_< T >::Callback  callback,
unsigned int  message_id 
)
inline

Definition at line 146 of file callback.h.

◆ read()

template<typename T >
bool ublox_gps::CallbackHandlers::read ( T &  message,
const boost::posix_time::time_duration &  timeout 
)
inline

Read a u-blox message of the given type.

Parameters
messagethe received u-blox message
timeoutthe amount of time to wait for the desired message

Definition at line 206 of file callback.h.

◆ readCallback()

void ublox_gps::CallbackHandlers::readCallback ( unsigned char *  data,
std::size_t &  size 
)
inline

Processes u-blox messages in the given buffer & clears the read messages from the buffer.

Parameters
datathe buffer of u-blox messages to process
sizethe size of the buffer

Definition at line 235 of file callback.h.

◆ set_nmea_callback()

void ublox_gps::CallbackHandlers::set_nmea_callback ( boost::function< void(const std::string &)>  callback)
inline

Add a callback handler for nmea messages.

Parameters
callbackthe callback handler for the message

Definition at line 160 of file callback.h.

Member Data Documentation

◆ callback_mutex_

boost::mutex ublox_gps::CallbackHandlers::callback_mutex_
private

Definition at line 264 of file callback.h.

◆ callback_nmea_

boost::function<void(const std::string&)> ublox_gps::CallbackHandlers::callback_nmea_
private

Callback handler for nmea messages.

Definition at line 267 of file callback.h.

◆ callbacks_

Callbacks ublox_gps::CallbackHandlers::callbacks_
private

Definition at line 263 of file callback.h.


The documentation for this class was generated from the following file:


ublox_gps
Author(s): Johannes Meyer
autogenerated on Wed Dec 7 2022 03:47:53