ChimeraTK-ApplicationCore
04.01.00
|
[Snippet: Class Definition] More...
#include <Controller.h>
Additional Inherited Members | |
Public Types inherited from ChimeraTK::EntityOwner | |
enum | ModuleType { ModuleType::ApplicationModule, ModuleType::ModuleGroup, ModuleType::VariableGroup, ModuleType::ControlSystem, ModuleType::Device, ModuleType::Invalid } |
Public Member Functions inherited from ChimeraTK::ApplicationModule | |
ApplicationModule (ModuleGroup *owner, const std::string &name, const std::string &description, const std::unordered_set< std::string > &tags={}) | |
Create ApplicationModule and register it with its owner. More... | |
ApplicationModule ()=default | |
Default constructor: Allows late initialisation of modules (e.g. More... | |
ApplicationModule (ApplicationModule &&other) noexcept | |
Move operation with the move constructor. More... | |
ApplicationModule & | operator= (ApplicationModule &&other) noexcept |
Move assignment. More... | |
~ApplicationModule () override | |
Destructor. More... | |
void | run () override |
Execute the module. More... | |
void | terminate () override |
Terminate the module. More... | |
ModuleType | getModuleType () const override |
Return the module type of this module, or in case of a VirtualModule the module type this VirtualModule was derived from. More... | |
VersionNumber | getCurrentVersionNumber () const override |
Return the current version number which has been received with the last push-type read operation. More... | |
DataValidity | getDataValidity () const override |
Return the data validity flag. More... | |
void | incrementDataFaultCounter () override |
Set the data validity flag to fault and increment the fault counter. More... | |
void | decrementDataFaultCounter () override |
Decrement the fault counter and set the data validity flag to ok if the counter has reached 0. More... | |
size_t | getDataFaultCounter () const |
Get the Number of inputs which report DataValidity::faulty. More... | |
void | setCurrentVersionNumber (VersionNumber versionNumber) override |
Set the current version number. More... | |
std::list< EntityOwner * > | getInputModulesRecursively (std::list< EntityOwner * > startList) override |
Use pointer to the module as unique identifier. More... | |
size_t | getCircularNetworkHash () const override |
Get the ID of the circular dependency network (0 if none). More... | |
void | setCircularNetworkHash (size_t circularNetworkHash) |
Set the ID of the circular dependency network. More... | |
ChimeraTK::Model::ApplicationModuleProxy | getModel () |
Return the application model proxy representing this module. More... | |
void | unregisterModule (Module *module) override |
Unregister another module as a sub-module. More... | |
Logger::StreamProxy | logger (Logger::Severity severity) |
Convenicene function to obtain a logger stream with the given Severity. More... | |
Public Member Functions inherited from ChimeraTK::VariableGroup | |
VariableGroup (VariableGroup *owner, const std::string &name, const std::string &description, const std::unordered_set< std::string > &tags={}) | |
Constructor: Create VariableGroup register it with its owner. More... | |
VariableGroup ()=default | |
Default constructor: Allows late initialisation of VariableGroups (e.g. More... | |
VariableGroup (VariableGroup &&other) noexcept | |
Move constructor. More... | |
VariableGroup (const VariableGroup &other) noexcept=delete | |
VariableGroup & | operator= (VariableGroup &&other) noexcept |
Move assignment. More... | |
VariableGroup & | operator= (const VariableGroup &other) noexcept=delete |
ModuleType | getModuleType () const override |
Return the module type of this module, or in case of a VirtualModule the module type this VirtualModule was derived from. More... | |
ChimeraTK::Model::VariableGroupProxy | getModel () |
Return the application model proxy representing this module. More... | |
std::string | getVirtualQualifiedName () const override |
void | unregisterModule (Module *module) override |
Unregister another module as a sub-module. More... | |
Public Member Functions inherited from ChimeraTK::Module | |
Module (EntityOwner *owner, const std::string &name, const std::string &description, const std::unordered_set< std::string > &tags={}) | |
Constructor: Create Module by the given name with the given description and register it with its owner. More... | |
Module ()=default | |
Default constructor: Allows late initialisation of modules (e.g. More... | |
~Module () override | |
Destructor. More... | |
Module (Module &&other) noexcept | |
Move constructor. More... | |
Module & | operator= (Module &&other) noexcept |
Move assignment operator. More... | |
virtual void | prepare () |
Prepare the execution of the module. More... | |
ChimeraTK::ReadAnyGroup | readAnyGroup () |
Create a ChimeraTK::ReadAnyGroup for all readable variables in this Module. More... | |
void | readAll (bool includeReturnChannels=false) |
Read all readable variables in the group. More... | |
void | readAllNonBlocking (bool includeReturnChannels=false) |
Just call readNonBlocking() on all readable variables in the group. More... | |
void | readAllLatest (bool includeReturnChannels=false) |
Just call readLatest() on all readable variables in the group. More... | |
void | writeAll (bool includeReturnChannels=false) |
Just call write() on all writable variables in the group. More... | |
void | writeAllDestructively (bool includeReturnChannels=false) |
Just call writeDestructively() on all writable variables in the group. More... | |
std::string | getQualifiedName () const override |
Get the fully qualified name of the module instance, i.e. More... | |
std::string | getFullDescription () const override |
Obtain the full description including the full description of the owner. More... | |
void | setOwner (EntityOwner *newOwner) |
Set a new owner. More... | |
EntityOwner * | getOwner () const |
VersionNumber | getCurrentVersionNumber () const override |
Return the current version number which has been received with the last push-type read operation. More... | |
void | setCurrentVersionNumber (VersionNumber version) override |
Set the current version number. More... | |
DataValidity | getDataValidity () const override |
Return the data validity flag. More... | |
void | incrementDataFaultCounter () override |
Set the data validity flag to fault and increment the fault counter. More... | |
void | decrementDataFaultCounter () override |
Decrement the fault counter and set the data validity flag to ok if the counter has reached 0. More... | |
std::list< EntityOwner * > | getInputModulesRecursively (std::list< EntityOwner * > startList) override |
Use pointer to the module as unique identifier. More... | |
size_t | getCircularNetworkHash () const override |
Get the ID of the circular dependency network (0 if none). More... | |
Module * | findApplicationModule () |
Find ApplicationModule owner. More... | |
void | disable () |
Disable the module such that it is not part of the Application. More... | |
Public Member Functions inherited from ChimeraTK::EntityOwner | |
EntityOwner (std::string name, std::string description, std::unordered_set< std::string > tags={}) | |
Constructor: Create EntityOwner by the given name with the given description. More... | |
EntityOwner () | |
Default constructor just for late initialisation. More... | |
virtual | ~EntityOwner ()=default |
Virtual destructor to make the type polymorphic. More... | |
EntityOwner (EntityOwner &&other) noexcept | |
Move constructor. More... | |
EntityOwner (const EntityOwner &other)=delete | |
EntityOwner & | operator= (EntityOwner &&other) noexcept |
Move assignment operator. More... | |
EntityOwner & | operator= (const EntityOwner &other)=delete |
const std::string & | getName () const |
Get the name of the module instance. More... | |
const std::string & | getDescription () const |
Get the description of the module instance. More... | |
std::list< VariableNetworkNode > | getAccessorList () const |
Obtain the list of accessors/variables directly associated with this instance. More... | |
std::list< Module * > | getSubmoduleList () const |
Obtain the list of submodules associated with this instance. More... | |
std::list< VariableNetworkNode > | getAccessorListRecursive () const |
Obtain the list of accessors/variables associated with this instance and any submodules. More... | |
std::list< Module * > | getSubmoduleListRecursive () const |
Obtain the list of submodules associated with this instance and any submodules. More... | |
void | registerAccessor (VariableNetworkNode accessor) |
Called inside the constructor of Accessor: adds the accessor to the list. More... | |
void | unregisterAccessor (const VariableNetworkNode &accessor) |
Called inside the destructor of Accessor: removes the accessor from the list. More... | |
void | registerModule (Module *module, bool addTags=true) |
Register another module as a sub-module. More... | |
void | addTag (const std::string &tag) |
Add a tag to all Application-type nodes inside this group. More... | |
void | dump (const std::string &prefix="", std::ostream &stream=std::cout) const |
Print the full hierarchy to given stream. More... | |
bool | hasReachedTestableMode () |
Check whether this module has declared that it reached the testable mode. More... | |
template<typename T > | |
std::string | constant (T value) |
Create a variable name which will be automatically connected with a constant value. More... | |
Static Public Member Functions inherited from ChimeraTK::Module | |
static ConfigReader & | appConfig () |
Obtain the ConfigReader instance of the application. More... | |
Static Public Attributes inherited from ChimeraTK::EntityOwner | |
static constexpr std::string_view | namePrefixConstant {"/@CONST@"} |
Prefix for constants created by constant(). More... | |
Protected Member Functions inherited from ChimeraTK::ApplicationModule | |
void | mainLoopWrapper () |
Wrapper around mainLoop(), to execute additional tasks in the thread before entering the main loop. More... | |
std::string | className () |
Name of the module class, used for logging and debugging purposes. More... | |
Protected Attributes inherited from ChimeraTK::ApplicationModule | |
boost::thread | _moduleThread |
The thread executing mainLoop() More... | |
VersionNumber | _currentVersionNumber {nullptr} |
Version number of last push-type read operation - will be passed on to any write operations. More... | |
std::atomic< size_t > | _dataFaultCounter {0} |
Number of inputs which report DataValidity::faulty. More... | |
size_t | _circularNetworkHash {0} |
Unique ID for the circular dependency network. More... | |
detail::CircularDependencyDetectionRecursionStopper | _recursionStopper |
Helper needed to stop the recursion when detecting circular dependency networks. More... | |
ChimeraTK::Model::ApplicationModuleProxy | _model |
Protected Attributes inherited from ChimeraTK::VariableGroup | |
ChimeraTK::Model::VariableGroupProxy | _model |
Protected Attributes inherited from ChimeraTK::Module | |
EntityOwner * | _owner {nullptr} |
Owner of this instance. More... | |
Protected Attributes inherited from ChimeraTK::EntityOwner | |
std::string | _name |
The name of this instance. More... | |
std::string | _description |
The description of this instance. More... | |
std::list< VariableNetworkNode > | _accessorList |
List of accessors owned by this instance. More... | |
std::list< Module * > | _moduleList |
List of modules owned by this instance. More... | |
std::unordered_set< std::string > | _tags |
List of tags to be added to all accessors and modules inside this module. More... | |
std::atomic< bool > | _testableModeReached {false} |
Flag used by the testable mode to identify whether a thread within the EntityOwner has reached the point where the testable mode lock is acquired. More... | |
[Snippet: Class Definition]
Definition at line 19 of file Controller.h.