JAPAn
Just Another Parity Analyzer
|
Mix-in for objects that can publish/request variables via a parent container. More...
#include <MQwPublishable.h>
Public Member Functions | |
MQwPublishable_child () | |
Default constructor Initializes the child object and sets up self-reference for publishing. | |
MQwPublishable_child (const MQwPublishable_child &source) | |
Copy constructor. | |
virtual | ~MQwPublishable_child () |
Virtual destructor. | |
void | SetParent (U *parent) |
Set the parent container for this child object. | |
U * | GetParent () const |
Get the parent container for this child object. | |
virtual Bool_t | PublishInternalValues () const =0 |
The functions below should be specified in the fully derived classes. | |
virtual Bool_t | PublishByRequest (TString device_name)=0 |
Try to publish an internal variable matching the submitted name Called when another subsystem requests a variable that hasn't been published yet. Allows for lazy/on-demand publishing of variables. | |
Protected Member Functions | |
Bool_t | RequestExternalValue (const TString &name, VQwHardwareChannel *value) const |
Retrieve the variable name from other subsystem arrays Get the value corresponding to some variable name from a different data array. | |
const VQwHardwareChannel * | RequestExternalPointer (const TString &name) const |
Retrieve a pointer to an external variable by name Requests a direct pointer to a variable from sibling subsystems via the parent container. | |
Bool_t | PublishInternalValue (const TString name, const TString desc, const VQwHardwareChannel *element) const |
Publish a variable from this child into the parent container. | |
Private Attributes | |
U * | fParent |
T * | fSelf |
Mix-in for objects that can publish/request variables via a parent container.
Enables subsystems or data handlers to request external variables from sibling objects via a parent container, and to publish their own internal variables for external access. Part of the variable publishing framework.
Definition at line 22 of file MQwPublishable.h.
|
inline |
Default constructor Initializes the child object and sets up self-reference for publishing.
Definition at line 30 of file MQwPublishable.h.
References fSelf.
Referenced by MQwPublishable_child().
|
inline |
Copy constructor.
source | Source object to copy from |
Definition at line 36 of file MQwPublishable.h.
References fSelf, and MQwPublishable_child().
|
inlinevirtual |
|
inline |
Get the parent container for this child object.
Definition at line 51 of file MQwPublishable.h.
References fParent.
|
pure virtual |
Try to publish an internal variable matching the submitted name Called when another subsystem requests a variable that hasn't been published yet. Allows for lazy/on-demand publishing of variables.
device_name | Name of the variable being requested |
Implemented in QwBeamLine, VQwDataHandler, VQwDetectorArray, and VQwSubsystem.
|
protected |
Publish a variable from this child into the parent container.
name | Variable key to publish under. |
desc | Human-readable description of the variable. |
element | Pointer to the data element representing this variable. |
Definition at line 172 of file MQwPublishable.cc.
References fParent.
|
pure virtual |
The functions below should be specified in the fully derived classes.
Publish all variables of the subsystem Called to register all internal variables that this subsystem wants to make available to other subsystems via the publishing framework.
Implemented in QwBeamLine, VQwDataHandler, VQwDetectorArray, and VQwSubsystem.
|
protected |
Retrieve a pointer to an external variable by name Requests a direct pointer to a variable from sibling subsystems via the parent container.
Retrieve the variable name from other subsystem arrays.
name | Name of the desired variable |
Definition at line 163 of file MQwPublishable.cc.
References fParent.
|
protected |
Retrieve the variable name from other subsystem arrays Get the value corresponding to some variable name from a different data array.
name | Name of the desired variable |
value | Pointer to the value to be filled by the call |
Definition at line 155 of file MQwPublishable.cc.
References fParent.
|
inline |
Set the parent container for this child object.
parent | Pointer to the parent container that manages variable publishing |
Definition at line 45 of file MQwPublishable.h.
References fParent.
Referenced by QwDataHandlerArray::LoadDataHandlersFromParameterFile().
|
private |
Definition at line 101 of file MQwPublishable.h.
Referenced by GetParent(), PublishInternalValue(), RequestExternalPointer(), RequestExternalValue(), and SetParent().
|
private |
Definition at line 102 of file MQwPublishable.h.
Referenced by MQwPublishable_child(), and MQwPublishable_child().