Class TriggerFaultSubscriber

Class Documentation

class TriggerFaultSubscriber

Subscribes to the configured fault manager events topic and forwards fault events to ResourceChangeNotifier for trigger evaluation.

Follows the same ROS 2 subscription pattern as SSEFaultHandler - subscribes to the fault event topic and converts each FaultEvent into a ResourceChange notification on the “faults” collection.

Entity ID is derived from the first reporting source of the fault. The fault_code is used as the resource_path. The full fault JSON (via FaultManager::fault_to_json) is passed as the change value.

Public Types

using NodeToEntityFn = std::function<std::string(const std::string&)>

Callback to resolve ROS node FQN to manifest entity ID. Returns manifest entity ID, or empty string if not resolvable.

Public Functions

TriggerFaultSubscriber(rclcpp::Node *node, ResourceChangeNotifier &notifier)

Construct the subscriber.

Parameters:
  • node – ROS 2 node for creating the subscription (caller manages lifetime)

  • notifierResourceChangeNotifier to forward events to

~TriggerFaultSubscriber()
void set_node_to_entity_resolver(NodeToEntityFn resolver)

Set the node-to-entity resolver for manifest entity ID lookup.

TriggerFaultSubscriber(const TriggerFaultSubscriber&) = delete
TriggerFaultSubscriber &operator=(const TriggerFaultSubscriber&) = delete
TriggerFaultSubscriber(TriggerFaultSubscriber&&) = delete
TriggerFaultSubscriber &operator=(TriggerFaultSubscriber&&) = delete