6namespace tinyrobotics {
9
10
11
12
15 using ValueCallback = std::function<
bool(
const Message<
float>&,
void*)>;
16 using CoordinateCallback =
18 using GPSCoordinateCallback =
22 CallbackMessageHandler() =
default;
25 if (valueCallback_)
return valueCallback_(msg, ref);
30 if (coordinateCallback_)
return coordinateCallback_(msg, ref);
35 if (gpsCoordinateCallback_)
return gpsCoordinateCallback_(msg, ref);
41 if (motionStateCallback_)
return motionStateCallback_(msg, ref);
45 void setValueCallback(ValueCallback cb,
void* reference) {
49 void setCoordinateCallback(CoordinateCallback cb,
void* reference) {
50 coordinateCallback_ = cb;
53 void setGPSCoordinateCallback(GPSCoordinateCallback cb,
void* reference) {
54 gpsCoordinateCallback_ = cb;
58 void setMotionStateCallback(MotionStateCallback cb,
void* reference) {
59 motionStateCallback_ = cb;
65 ValueCallback valueCallback_;
66 CoordinateCallback coordinateCallback_;
67 GPSCoordinateCallback gpsCoordinateCallback_;
68 MotionStateCallback motionStateCallback_;
MessageHandler implementation using user-provided callbacks.
Definition: CallbackMessageHandler.h:13
bool onMessage(const Message< float > &msg) override
Handle an incoming message (pure virtual).
Definition: CallbackMessageHandler.h:24
A generic 3D coordinate class for robotics, navigation, and spatial calculations.
Definition: Coordinate.h:57
Represents a geodetic GPS coordinate with latitude, longitude, and optional altitude.
Definition: GPSCoordinate.h:52
Interface for handling messages in the TinyRobotics framework.
Definition: MessageHandler.h:18
Represents the full 3D motion state of a robot or vehicle.
Definition: MotionState3D.h:53
Generic message structure for communication, parameterized by value type.
Definition: Message.h:72