25 swarmio::data::discovery::Field fieldDescriptor;
26 *fieldDescriptor.mutable_schema() = serializer.GetSchemaDescriptor(serializer.HasHeader() ? 1 : 0);
void RemoveValue(const std::string &key)
Remove a value from the local telemetry cache.
swarmio::services::telemetry::Service & _telemetryService
Telemetry service.
Telemetry Service can subscribe to receive updates from remote nodes on named values.
Subscriber subscribe(const std::string &topic, uint32_t queue_size, void(T::*fp)(M), T *obj, const TransportHints &transport_hints=TransportHints())
TelemetryForwarder(ros::NodeHandle &nodeHandle, const std::string &source, const std::string &message, swarmio::services::telemetry::Service &telemetryService, const std::string &name, bool includeInStatus)
Construct a new TelemetryForwarder object.
void SetValue(const std::string &key, const data::Variant &value)
Add or update a value in the local telemetry cache.
void SetFieldDefinitionForKey(const std::string &key, const data::discovery::Field &field, bool includeInStatus)
Add field to the schema.
static const MessageSerializer & MessageSerializerForType(const std::string &type, const std::string &parentPackage)
Look up or build a reader for a message type.
virtual ~TelemetryForwarder() override
Destroy the TelemetryForwarder object.
std::string _message
Message type.
std::string getTopic() const
void RemoveFieldDefinitionForKey(const std::string &key)
Remove a field from the schema.
Exception thrown when the expected type of a message does not match the actual type.
void UpdateReceived(const introspection::VariantMessage::ConstPtr &message)
Called whenever the topic is updated.
ros::Subscriber _subscriber
ROS topic subscriber.
std::string _name
Telemetry key.
VariantMessage implements an interface with the ROS type system to send and receive messages of any k...