|
| | ~ExampleApp () override |
| | [Snippet: Destructor]
|
| |
| | ExampleApp () |
| |
| | ~ExampleApp () override |
| |
| | Application (const std::string &name) |
| | The constructor takes the application name as an argument.
|
| |
| | ~Application () override |
| |
| void | shutdown () override |
| | This will remove the global pointer to the instance and allows creating another instance afterwards.
|
| |
| void | initialise () override |
| |
| void | optimiseUnmappedVariables (const std::set< std::string > &names) override |
| |
| void | run () override |
| | Execute the module.
|
| |
| Model::RootProxy | getModel () |
| | Return the root of the application model.
|
| |
| void | generateXML () |
| | Instead of running the application, just initialise it and output the published variables to an XML file.
|
| |
| void | generateDOT () |
| | Instead of running the application, just initialise it and output the published variables to a DOT file.
|
| |
| void | enableTestableMode () |
| | Enable the testable mode.
|
| |
| detail::TestableMode & | getTestableMode () |
| | Get the TestableMode control object of this application.
|
| |
| void | debugMakeConnections () |
| | Enable debug output for the ConnectionMaker.
|
| |
| 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.
|
| |
| std::string | getQualifiedName () const override |
| | Get the fully qualified name of the module instance, i.e.
|
| |
| std::string | getFullDescription () const override |
| | Obtain the full description including the full description of the owner.
|
| |
| void | enableVariableDebugging (const VariableNetworkNode &node) |
| | Enable debug output for a given variable.
|
| |
| void | enableDebugDataLoss () |
| | Enable debug output for lost data.
|
| |
| boost::shared_ptr< DeviceManager > | getDeviceManager (const std::string &aliasOrCDD) |
| | Return the DeviceManager for the given alias name or CDD.
|
| |
| std::map< std::string, boost::shared_ptr< DeviceManager > > const & | getDeviceManagerMap () |
| | Access the device manager map.
|
| |
| LifeCycleState | getLifeCycleState () const |
| | Get the current LifeCycleState of the application.
|
| |
| VersionNumber | getStartVersion () const |
| | Return the start version.
|
| |
| ApplicationModule * | getVersionInfoProvider () |
| |
| void | setVersionInfoProvider (ApplicationModule *provider) |
| |
| size_t | getCircularNetworkInvalidityCounter (size_t circularNetworkHash) const |
| |
| ConfigReader & | getConfigReader () |
| |
| | ModuleGroup (ModuleGroup *owner, const std::string &name, const std::string &description, const std::unordered_set< std::string > &tags={}) |
| | Constructor: Create ModuleGroup by the given name with the given description and register it with its owner.
|
| |
| | ModuleGroup ()=default |
| | Default constructor to allow late initialisation of module groups.
|
| |
| | ModuleGroup (ModuleGroup &&other) noexcept |
| | Move constructor.
|
| |
| ModuleGroup & | operator= (ModuleGroup &&other) noexcept |
| | Move assignment.
|
| |
| 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.
|
| |
| ChimeraTK::Model::ModuleGroupProxy | getModel () |
| | Return the application model proxy representing this module.
|
| |
| std::string | getVirtualQualifiedName () const override |
| |
| void | unregisterModule (Module *module) override |
| | Unregister another module as a sub-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.
|
| |
| | Module ()=default |
| | Default constructor: Allows late initialisation of modules (e.g.
|
| |
| | ~Module () override |
| | Destructor.
|
| |
| | Module (Module &&other) noexcept |
| | Move constructor.
|
| |
| Module & | operator= (Module &&other) noexcept |
| | Move assignment operator.
|
| |
| virtual void | postConstruct () |
| | Hook function called on all Modules of an Application after the Application constructor is complete but before the PV connections are being finalised.
|
| |
| virtual void | prepare () |
| | Prepare the execution of the module.
|
| |
| virtual void | terminate () |
| | Terminate the module.
|
| |
| ChimeraTK::ReadAnyGroup | readAnyGroup () |
| | Create a ChimeraTK::ReadAnyGroup for all readable variables in this Module.
|
| |
| void | readAll (bool includeReturnChannels=false) |
| | Read all readable variables in the group.
|
| |
| void | readAllNonBlocking (bool includeReturnChannels=false) |
| | Just call readNonBlocking() on all readable variables in the group.
|
| |
| void | readAllLatest (bool includeReturnChannels=false) |
| | Just call readLatest() on all readable variables in the group.
|
| |
| void | writeAll (bool includeReturnChannels=false) |
| | Just call write() on all writable variables in the group.
|
| |
| void | writeAllDestructively (bool includeReturnChannels=false) |
| | Just call writeDestructively() on all writable variables in the group.
|
| |
| std::string | getQualifiedName () const override |
| | Get the fully qualified name of the module instance, i.e.
|
| |
| std::string | getFullDescription () const override |
| | Obtain the full description including the full description of the owner.
|
| |
| void | setOwner (EntityOwner *newOwner) |
| | Set a new owner.
|
| |
| EntityOwner * | getOwner () const |
| |
| VersionNumber | getCurrentVersionNumber () const override |
| | Return the current version number which has been received with the last push-type read operation.
|
| |
| void | setCurrentVersionNumber (VersionNumber version) override |
| | Set the current version number.
|
| |
| DataValidity | getDataValidity () const override |
| | Return the data validity flag.
|
| |
| void | incrementDataFaultCounter () override |
| | Set the data validity flag to fault and increment the fault counter.
|
| |
| void | decrementDataFaultCounter () override |
| | Decrement the fault counter and set the data validity flag to ok if the counter has reached 0.
|
| |
| std::list< EntityOwner * > | getInputModulesRecursively (std::list< EntityOwner * > startList) override |
| | Use pointer to the module as unique identifier.
|
| |
| size_t | getCircularNetworkHash () const override |
| | Get the ID of the circular dependency network (0 if none).
|
| |
| Module * | findApplicationModule () |
| | Find ApplicationModule owner.
|
| |
| void | disable () |
| | Disable the module such that it is not part of the Application.
|
| |
| | EntityOwner (std::string name, std::string description, std::unordered_set< std::string > tags={}) |
| | Constructor: Create EntityOwner by the given name with the given description.
|
| |
| | EntityOwner () |
| | Default constructor just for late initialisation.
|
| |
| virtual | ~EntityOwner ()=default |
| | Virtual destructor to make the type polymorphic.
|
| |
| | EntityOwner (EntityOwner &&other) noexcept |
| | Move constructor.
|
| |
| | EntityOwner (const EntityOwner &other)=delete |
| |
| EntityOwner & | operator= (EntityOwner &&other) noexcept |
| | Move assignment operator.
|
| |
| EntityOwner & | operator= (const EntityOwner &other)=delete |
| |
| const std::string & | getName () const |
| | Get the name of the module instance.
|
| |
| std::string | getQualifiedNameWithType () const |
| | Get the fully qualified name of the module instance, followed by the C++ data type (in pointy brackets)
|
| |
| const std::string & | getDescription () const |
| | Get the description of the module instance.
|
| |
| std::list< VariableNetworkNode > | getAccessorList () const |
| | Obtain the list of accessors/variables directly associated with this instance.
|
| |
| std::list< Module * > | getSubmoduleList () const |
| | Obtain the list of submodules associated with this instance.
|
| |
| std::list< VariableNetworkNode > | getAccessorListRecursive () const |
| | Obtain the list of accessors/variables associated with this instance and any submodules.
|
| |
| std::list< Module * > | getSubmoduleListRecursive () const |
| | Obtain the list of submodules associated with this instance and any submodules.
|
| |
| void | registerAccessor (VariableNetworkNode accessor) |
| | Called inside the constructor of Accessor: adds the accessor to the list.
|
| |
| void | unregisterAccessor (const VariableNetworkNode &accessor) |
| | Called inside the destructor of Accessor: removes the accessor from the list.
|
| |
| void | registerModule (Module *module, bool addTags=true) |
| | Register another module as a sub-module.
|
| |
| void | addTag (const std::string &tag) |
| | Add a tag to all Application-type nodes inside this group.
|
| |
| void | dump (const std::string &prefix="", std::ostream &stream=std::cout) const |
| | Print the full hierarchy to given stream.
|
| |
| bool | hasReachedTestableMode () |
| | Check whether this module has declared that it reached the testable mode.
|
| |
| template<typename T > |
| std::string | constant (T value) |
| | Create a variable name which will be automatically connected with a constant value.
|
| |
|
| enum class | ModuleType {
ApplicationModule
, ModuleGroup
, VariableGroup
, ControlSystem
,
Device
, Invalid
} |
| |
| static Application & | getInstance () |
| | Obtain instance of the application.
|
| |
| static bool | hasInstance () |
| | Check whether an instance of Application currently exists.
|
| |
| static void | registerThread (const std::string &name) |
| | Register the thread in the application system and give it a name.
|
| |
| static void | incrementDataLossCounter (const std::string &name) |
| | Increment counter for how many write() operations have overwritten unread data.
|
| |
| static size_t | getAndResetDataLossCounter () |
| | Return the current value of the data loss counter and (atomically) reset it to 0.
|
| |
| static ConfigReader & | appConfig () |
| | Obtain the ConfigReader instance of the application.
|
| |
| static constexpr std::string_view | namePrefixConstant {"/@CONST@"} |
| | Prefix for constants created by constant().
|
| |
| VersionNumber | getCurrentVersionNumber () const override |
| | Return the current version number which has been received with the last push-type read operation.
|
| |
| void | setCurrentVersionNumber (VersionNumber) override |
| | Set the current version number.
|
| |
| DataValidity | getDataValidity () const override |
| | Return the data validity flag.
|
| |
| void | incrementDataFaultCounter () override |
| | Set the data validity flag to fault and increment the fault counter.
|
| |
| void | decrementDataFaultCounter () override |
| | Decrement the fault counter and set the data validity flag to ok if the counter has reached 0.
|
| |
| std::list< EntityOwner * > | getInputModulesRecursively (std::list< EntityOwner * > startList) override |
| | Use pointer to the module as unique identifier.
|
| |
| size_t | getCircularNetworkHash () const override |
| | Get the ID of the circular dependency network (0 if none).
|
| |
| Model::RootProxy | _model |
| | The model of the application.
|
| |
| ConnectionMaker | _cm {*this} |
| | Helper class to create connections.
|
| |
| std::list< boost::shared_ptr< InternalModule > > | _internalModuleList |
| | List of InternalModules.
|
| |
| std::map< std::string, boost::shared_ptr< DeviceManager > > | _deviceManagerMap |
| | Map of DeviceManagers.
|
| |
| bool | _testFacilityRunApplicationCalled {false} |
| | Flag which is set by the TestFacility in runApplication() at the beginning.
|
| |
| bool | _initialiseCalled {false} |
| | Flag whether initialise() has been called already, to make sure it doesn't get called twice.
|
| |
| bool | _runCalled {false} |
| | Flag whether run() has been called already, to make sure it doesn't get called twice.
|
| |
| bool | _enableDebugMakeConnections {false} |
| | Flag if debug output is enabled for creation of the variable connections.
|
| |
| std::map< size_t, size_t > | _pvIdMap |
| | Map from ProcessArray uniqueId to the variable ID for control system variables.
|
| |
| detail::CircularDependencyDetector | _circularDependencyDetector |
| |
| detail::TestableMode | _testableMode |
| |
| std::unordered_set< const void * > | _debugMode_variableList |
| | List of variables for which debug output was requested via enableVariableDebugging().
|
| |
| std::atomic< size_t > | _dataLossCounter {0} |
| | Counter for how many write() operations have overwritten unread data.
|
| |
| bool | _debugDataLoss {false} |
| | Flag whether to debug data loss (as counted with the data loss counter).
|
| |
| std::atomic< LifeCycleState > | _lifeCycleState {LifeCycleState::initialisation} |
| | Life-cycle state of the application.
|
| |
| VersionNumber | _startVersion |
| | Version number used at application start, e.g.
|
| |
| ApplicationModule * | _versionInfoProvider {nullptr} |
| |
| std::map< size_t, std::atomic< uint64_t > > | _circularNetworkInvalidityCounters |
| | Map of atomic invalidity counters for each circular dependency network.
|
| |
| std::map< size_t, std::list< EntityOwner * > > | _circularDependencyNetworks |
| | The networks of circular dependencies, reachable by their hash, which serves as unique ID.
|
| |
| std::shared_ptr< Logger > | _logger {Logger::getSharedPtr()} |
| | Shared Pointer to central logger instance.
|
| |
| std::shared_ptr< ConfigReader > | _configReader |
| | Manager for Python-based ApplicationModules.
|
| |
| ConfigReader * | _defaultConfigReader {nullptr} |
| |
| EntityOwner * | _owner {nullptr} |
| | Owner of this instance.
|
| |
| std::string | _name |
| | The name of this instance.
|
| |
| std::string | _description |
| | The description of this instance.
|
| |
| std::list< VariableNetworkNode > | _accessorList |
| | List of accessors owned by this instance.
|
| |
| std::list< Module * > | _moduleList |
| | List of modules owned by this instance.
|
| |
| std::unordered_set< std::string > | _tags |
| | List of tags to be added to all accessors and modules inside this module.
|
| |
| 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.
|
| |