ChimeraTK-ApplicationCore 04.06.00
Loading...
Searching...
No Matches
ChimeraTK::AggregatableMessage Class Reference

Specialised ScalarOutput for sending event messages which can be aggregated by the EventMessageAggregator. More...

#include <EventMessageAggregator.h>

+ Inheritance diagram for ChimeraTK::AggregatableMessage:
+ Collaboration diagram for ChimeraTK::AggregatableMessage:

Public Member Functions

 AggregatableMessage (Module *owner, const std::string &name, std::string unit, const std::string &description, const std::unordered_set< std::string > &tags={})
 
 ScalarOutput (Module *owner, const std::string &name, std::string unit, const std::string &description, const std::unordered_set< std::string > &tags={})
 
 ScalarOutput ()
 
- Public Member Functions inherited from ChimeraTK::ScalarOutput< std::string >
 ScalarOutput (Module *owner, const std::string &name, std::string unit, const std::string &description, const std::unordered_set< std::string > &tags={})
 
 ScalarOutput ()
 
- Public Member Functions inherited from ChimeraTK::ScalarAccessor< UserType >
void replace (const ChimeraTK::NDRegisterAccessorAbstractor< UserType > &newAccessor)=delete
 
ScalarAccessor< UserType > & operator= (ScalarAccessor< UserType > &other)=delete
 
 ScalarAccessor (ScalarAccessor< UserType > &&other) noexcept
 Move constructor.
 
ScalarAccessor< UserType > & operator= (ScalarAccessor< UserType > &&other) noexcept
 Move assignment.
 
bool write (ChimeraTK::VersionNumber versionNumber)=delete
 
bool writeDestructively (ChimeraTK::VersionNumber versionNumber)=delete
 
void writeIfDifferent (UserType newValue, VersionNumber versionNumber, DataValidity validity)=delete
 
void setAndWrite (UserType newValue, VersionNumber versionNumber)=delete
 
bool write ()
 
bool writeDestructively ()
 
void writeIfDifferent (UserType newValue)
 
void setAndWrite (UserType newValue)
 
- Public Member Functions inherited from ChimeraTK::InversionOfControlAccessor< ScalarAccessor< UserType > >
 ~InversionOfControlAccessor ()
 Unregister at its owner when deleting.
 
void setMetaData (const std::optional< std::string > &name, const std::optional< std::string > &unit={}, const std::optional< std::string > &description={}, const std::optional< std::unordered_set< std::string > > &tags={})
 Change meta data (name, unit, description and optionally tags).
 
void addTag (const std::string &tag)
 Add a tag.
 
void addTags (const std::unordered_set< std::string > &tags)
 Add multiple tags.
 
const std::unordered_set< std::string > & getTags ()
 Return set of tags.
 
 operator VariableNetworkNode ()
 Convert into VariableNetworkNode.
 
 operator VariableNetworkNode () const
 
void replace (ScalarAccessor< UserType > &&other)
 Replace with other accessor.
 
EntityOwnergetOwner () const
 Return the owning module.
 
Model::ProcessVariableProxy getModel () const
 

Static Public Attributes

static constexpr std::string_view aggregatableMessageTag {"_ChimeraTK_AggregatableMessage"}
 

Additional Inherited Members

- Public Types inherited from ChimeraTK::ScalarAccessor< UserType >
using value_type = UserType
 
- Protected Member Functions inherited from ChimeraTK::ScalarAccessor< UserType >
 ScalarAccessor (Module *owner, const std::string &name, VariableDirection direction, std::string unit, UpdateMode mode, const std::string &description, const std::unordered_set< std::string > &tags={})
 
 ScalarAccessor ()=default
 Default constructor creates a dysfunctional accessor (to be assigned with a real accessor later)
 
- Protected Member Functions inherited from ChimeraTK::InversionOfControlAccessor< ScalarAccessor< UserType > >
 InversionOfControlAccessor (Module *owner, const std::string &name, VariableDirection direction, std::string unit, size_t nElements, UpdateMode mode, const std::string &description, const std::type_info *valueType, const std::unordered_set< std::string > &tags={})
 Constructor, only used by child class accessors.
 
 InversionOfControlAccessor ()=default
 Default constructor creates a dysfunctional accessor (to be assigned with a real accessor later)
 
std::string completeDescription (EntityOwner *owner, const std::string &description) const
 complete the description with the full description from the owner
 
void registerInModel ()
 Register the variable in the model.
 
- Protected Attributes inherited from ChimeraTK::InversionOfControlAccessor< ScalarAccessor< UserType > >
VariableNetworkNode _node
 

Detailed Description

Specialised ScalarOutput for sending event messages which can be aggregated by the EventMessageAggregator.

The ApplicationModule should send a message string whenever a corresponding event occurs. It should not clear the message on its own, so the process variable will always contain the latest message string. Clearing old messages is done in the EventMessageAggregator.

Definition at line 23 of file EventMessageAggregator.h.

Constructor & Destructor Documentation

◆ AggregatableMessage()

ChimeraTK::AggregatableMessage::AggregatableMessage ( Module owner,
const std::string &  name,
std::string  unit,
const std::string &  description,
const std::unordered_set< std::string > &  tags = {} 
)

Definition at line 12 of file EventMessageAggregator.cc.

Member Function Documentation

◆ ScalarOutput() [1/2]

ChimeraTK::ScalarOutput< UserType >::ScalarOutput ( )
inline

Definition at line 96 of file ScalarAccessor.h.

◆ ScalarOutput() [2/2]

ChimeraTK::ScalarOutput< UserType >::ScalarOutput ( Module owner,
const std::string &  name,
std::string  unit,
const std::string &  description,
const std::unordered_set< std::string > &  tags = {} 
)

Definition at line 94 of file ScalarAccessor.h.

Member Data Documentation

◆ aggregatableMessageTag

constexpr std::string_view ChimeraTK::AggregatableMessage::aggregatableMessageTag {"_ChimeraTK_AggregatableMessage"}
staticconstexpr

Definition at line 31 of file EventMessageAggregator.h.


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