Class StateNotifier

Class Documentation

class mimir::control::StateNotifier

State machine state notifier.

With this class a state machine’s state can be broadcast to other applications. This class is a member of a mimir::StateMachine and notifies over DDS which state it enters as an fkin::ProcessStateAutomaton.

Public Functions

inline StateNotifier(const std::string &notifyTopicName, const std::string &notifyIdentifier, dds::pub::Publisher publisher)

Constructor.

The constructor sets up a DDS data writer for notifications.

Parameters
  • notifyTopicName[in] DDS topic to publish notifications

  • notifyIdentifier[in] DDS key for which remote subscribers uses to identify process

  • publisher[in] DDS publisher reference

StateNotifier(const StateNotifier&) = delete
StateNotifier &operator=(const StateNotifier&) = delete
StateNotifier(StateNotifier&&) = default
StateNotifier &operator=(StateNotifier&&) = default
~StateNotifier() = default
inline void NotifyState(fkin::ProcessStateKind state)

State notifier function that writes data on DDS publisher.

Parameters

state[in] Enum of state to be published.

Private Functions

StateNotifier() = delete

Private Members

dds::pub::DataWriter<fkin::ProcessStateAutomaton> m_notifyWriter

DDS data writer.

std::string m_identifier

String describer for which a remote subscriber uses to identify the process.