|
JAPAn
Just Another Parity Analyzer
|
Mix-in for container classes that manage variable publishing. More...
#include <MQwPublishable.h>
Inheritance diagram for MQwPublishable< U, T >:
Collaboration diagram for MQwPublishable< U, T >:Public Member Functions | |
| MQwPublishable () | |
| Default constructor Initializes empty variable publishing maps. | |
| MQwPublishable (const MQwPublishable &source) | |
| Copy constructor Creates a new container with cleared publishing maps (variables are not copied). | |
| virtual | ~MQwPublishable () |
| Virtual destructor. | |
| Bool_t | RequestExternalValue (const TString &name, VQwHardwareChannel *value) const |
| Retrieve a variable value from external sources by copying Searches for the named variable in external subsystem arrays and copies its value into the provided data element. | |
| const VQwHardwareChannel * | RequestExternalPointer (const TString &name) const |
| Retrieve a direct pointer to an external variable Searches for the named variable in external subsystem arrays and returns a direct pointer to the data element. | |
| virtual const VQwHardwareChannel * | ReturnInternalValue (const TString &name) const |
| Retrieve an internal variable by name (pointer version) Searches for the named variable among published internal variables and returns a direct pointer to the data element. | |
| Bool_t | ReturnInternalValue (const TString &name, VQwHardwareChannel *value) const |
| Retrieve an internal variable by name (copy version) Searches for the named variable among published internal variables and copies its value into the provided data element. | |
| void | ListPublishedValues () const |
| List all published variables with descriptions Prints a summary of all currently published variables and their descriptions to the logging output for debugging and inspection purposes. | |
| Bool_t | PublishInternalValue (const TString name, const TString desc, const T *subsys, const VQwHardwareChannel *element) |
| Publish an internal variable from a subsystem Registers a variable from one of the contained subsystems in the publishing framework, making it available for external access by name. | |
Data Fields | |
| std::vector< std::vector< TString > > | fPublishList |
Private Member Functions | |
| virtual Bool_t | PublishByRequest (TString device_name) |
| Try to publish an internal variable on demand Called internally when a variable is requested but not yet published. Iterates through contained subsystems to find and publish the requested variable. | |
Private Attributes | |
| std::map< TString, const VQwHardwareChannel * > | fPublishedValuesDataElement |
| Published values. | |
| std::map< TString, const T * > | fPublishedValuesSubsystem |
| std::map< TString, TString > | fPublishedValuesDescription |
Mix-in for container classes that manage variable publishing.
Provides the container-side logic for the variable publishing system, including registering published variables, handling external requests, and maintaining mappings between variable names and data elements.
Definition at line 116 of file MQwPublishable.h.
|
inline |
Default constructor Initializes empty variable publishing maps.
Definition at line 124 of file MQwPublishable.h.
Referenced by MQwPublishable(), and ReturnInternalValue().
Here is the caller graph for this function:
|
inline |
Copy constructor Creates a new container with cleared publishing maps (variables are not copied).
| source | Source object to copy from (maps are cleared, not copied) |
Definition at line 131 of file MQwPublishable.h.
References fPublishedValuesDataElement, fPublishedValuesDescription, fPublishedValuesSubsystem, and MQwPublishable().
Here is the call graph for this function:
|
inlinevirtual |
| void MQwPublishable< U, T >::ListPublishedValues | ( | ) | const |
List all published variables with descriptions Prints a summary of all currently published variables and their descriptions to the logging output for debugging and inspection purposes.
Definition at line 141 of file MQwPublishable.cc.
References QwLog::endl(), fPublishedValuesDescription, and QwOut.
Referenced by main(), PublishByRequest(), and PublishInternalValue().
Here is the call graph for this function:
Here is the caller graph for this function:
|
privatevirtual |
Try to publish an internal variable on demand Called internally when a variable is requested but not yet published. Iterates through contained subsystems to find and publish the requested variable.
| device_name | Name of the variable being requested |
Definition at line 111 of file MQwPublishable.cc.
References QwLog::endl(), fPublishedValuesSubsystem, ListPublishedValues(), and QwDebug.
Referenced by ReturnInternalValue().
Here is the call graph for this function:
Here is the caller graph for this function:| Bool_t MQwPublishable< U, T >::PublishInternalValue | ( | const TString | name, |
| const TString | desc, | ||
| const T * | subsys, | ||
| const VQwHardwareChannel * | element ) |
Publish an internal variable from a subsystem Registers a variable from one of the contained subsystems in the publishing framework, making it available for external access by name.
| name | Unique name/key for the variable |
| desc | Human-readable description of the variable |
| subsys | Pointer to the subsystem that owns this variable |
| element | Pointer to the data element representing this variable |
Definition at line 92 of file MQwPublishable.cc.
References QwLog::endl(), fPublishedValuesDataElement, fPublishedValuesDescription, fPublishedValuesSubsystem, ListPublishedValues(), and QwError.
Here is the call graph for this function:| const VQwHardwareChannel * MQwPublishable< U, T >::RequestExternalPointer | ( | const TString & | name | ) | const |
Retrieve a direct pointer to an external variable Searches for the named variable in external subsystem arrays and returns a direct pointer to the data element.
| name | Name of the variable to retrieve |
Definition at line 24 of file MQwPublishable.cc.
References ReturnInternalValue().
Referenced by LRBCorrector::ConnectChannels(), QwCombiner::ConnectChannels(), QwCorrelator::ConnectChannels(), VQwDataHandler::ConnectChannels(), and QwBlinder::Update().
Here is the call graph for this function:
Here is the caller graph for this function:| Bool_t MQwPublishable< U, T >::RequestExternalValue | ( | const TString & | name, |
| VQwHardwareChannel * | value ) const |
Retrieve a variable value from external sources by copying Searches for the named variable in external subsystem arrays and copies its value into the provided data element.
| name | Name of the variable to retrieve |
| value | Pointer to data element that will receive the variable's value |
Definition at line 16 of file MQwPublishable.cc.
References ReturnInternalValue().
Here is the call graph for this function:
|
virtual |
Retrieve an internal variable by name (pointer version) Searches for the named variable among published internal variables and returns a direct pointer to the data element.
| name | Name of the variable to retrieve |
Definition at line 34 of file MQwPublishable.cc.
References QwLog::endl(), fPublishedValuesDataElement, MQwPublishable(), PublishByRequest(), QwDebug, and QwError.
Referenced by QwAlarmHandler::ConnectChannels(), RequestExternalPointer(), and RequestExternalValue().
Here is the call graph for this function:
Here is the caller graph for this function:| Bool_t MQwPublishable< U, T >::ReturnInternalValue | ( | const TString & | name, |
| VQwHardwareChannel * | value ) const |
Retrieve an internal variable by name (copy version) Searches for the named variable among published internal variables and copies its value into the provided data element.
| name | Name of the variable to retrieve |
| value | Pointer to data element that will receive the variable's value |
Definition at line 68 of file MQwPublishable.cc.
|
private |
Published values.
Definition at line 215 of file MQwPublishable.h.
Referenced by MQwPublishable(), PublishInternalValue(), and ReturnInternalValue().
|
private |
Definition at line 217 of file MQwPublishable.h.
Referenced by ListPublishedValues(), MQwPublishable(), and PublishInternalValue().
|
private |
Definition at line 216 of file MQwPublishable.h.
Referenced by MQwPublishable(), PublishByRequest(), and PublishInternalValue().
| std::vector<std::vector<TString> > MQwPublishable< U, T >::fPublishList |
Definition at line 141 of file MQwPublishable.h.