DynExp
Highly flexible laboratory automation for dynamically changing experiments.
|
Polymorphic base class to allow storing LinkedObjectWrapperContainer
of any type in a single list.
More...
Public Types | |
enum class | LinkedObjectStateType { NotLinked , Ready , NotReady } |
Indicates the current state of the Object referenced by the linked LinkedObjectWrapper . More... | |
Public Member Functions | |
auto | GetState () const noexcept |
Returns LinkedObjectState. More... | |
std::string | GetLinkedObjectDesc () const |
Builds and returns a human-readable string uniquely identifying the Object instance which is wrapped by the linked LinkedObjectWrapper . More... | |
bool | CheckIfReady () |
Returns whether the Object instance which is wrapped by the linked LinkedObjectWrapper is in a ready state. More... | |
Public Member Functions inherited from Util::INonCopyable | |
INonCopyable (const INonCopyable &)=delete | |
INonCopyable & | operator= (const INonCopyable &)=delete |
Protected Member Functions | |
LinkedObjectWrapperContainerBase () noexcept | |
Constructs a LinkedObjectWrapperContainerBase instance which is not linked to any LinkedObjectWrapper . More... | |
virtual | ~LinkedObjectWrapperContainerBase ()=0 |
void | Reset () noexcept |
Removes any linked LinkedObjectWrapper and updates LinkedObjectState. More... | |
Protected Member Functions inherited from Util::INonCopyable | |
constexpr | INonCopyable ()=default |
~INonCopyable ()=default | |
Protected Attributes | |
LinkedObjectStateType | LinkedObjectState |
Stores the current state of this LinkedObjectWrapperContainerBase instance. Refer to LinkedObjectStateType . Mutable to be updated in calls to LinkedObjectWrapperContainer::get(). More... | |
Private Member Functions | |
Override | |
Override by derived class to make public versions of these functions behave as described above. | |
virtual void | ResetChild () noexcept=0 |
Removes any linked LinkedObjectWrapper and updates LinkedObjectState. More... | |
virtual std::string | GetLinkedObjectDescChild () const =0 |
Builds and returns a human-readable string uniquely identifying the Object instance which is wrapped by the linked LinkedObjectWrapper . More... | |
virtual bool | CheckIfReadyChild ()=0 |
Returns whether the Object instance which is wrapped by the linked LinkedObjectWrapper is in a ready state. More... | |
Friends | |
class | RunnableInstance |
Polymorphic base class to allow storing LinkedObjectWrapperContainer
of any type in a single list.
Indicates the current state of the Object
referenced by the linked LinkedObjectWrapper
.
Enumerator | |
---|---|
NotLinked | This container instance is currently not linked to any |
Ready | The |
NotReady | The |
|
inlineprotectednoexcept |
Constructs a LinkedObjectWrapperContainerBase instance which is not linked to any LinkedObjectWrapper
.
|
protectedpure virtual |
Definition at line 738 of file Object.cpp.
|
inline |
Returns whether the Object
instance which is wrapped by the linked LinkedObjectWrapper
is in a ready state.
Object::IsReady()
on the related Object
instance.
|
privatepure virtual |
Returns whether the Object
instance which is wrapped by the linked LinkedObjectWrapper
is in a ready state.
Object::IsReady()
on the related Object
instance. Implemented in DynExp::LinkedObjectWrapperContainer< ObjectT >, DynExp::LinkedObjectWrapperContainer< DynExpHardware::SmarActHardwareAdapter >, DynExp::LinkedObjectWrapperContainer< DynExpInstr::DigitalOut >, DynExp::LinkedObjectWrapperContainer< DynExpInstr::LockinAmplifier >, DynExp::LinkedObjectWrapperContainer< DynExpInstr::Camera >, DynExp::LinkedObjectWrapperContainer< DynExpHardware::NIDAQHardwareAdapter >, DynExp::LinkedObjectWrapperContainer< DynExpInstr::AnalogIn >, DynExp::LinkedObjectWrapperContainer< DynExpInstr::AnalogOut >, DynExp::LinkedObjectWrapperContainer< DynExpHardware::SIPulseStreamerHardwareAdapter >, DynExp::LinkedObjectWrapperContainer< DynExp::SerialCommunicationHardwareAdapter >, DynExp::LinkedObjectWrapperContainer< DynExpInstr::TimeTagger >, DynExp::LinkedObjectWrapperContainer< DynExpInstr::InterModuleCommunicator >, DynExp::LinkedObjectWrapperContainer< DynExpHardware::ZILabOneHardwareAdapter >, DynExp::LinkedObjectWrapperContainer< DynExpInstr::InputPort >, DynExp::LinkedObjectWrapperContainer< DynExpInstr::OutputPort >, DynExp::LinkedObjectWrapperContainer< DynExpInstr::Spectrometer >, DynExp::LinkedObjectWrapperContainer< DynExpInstr::DataStreamInstrument >, DynExp::LinkedObjectWrapperContainer< DynExpInstr::WidefieldLocalization >, DynExp::LinkedObjectWrapperContainer< DynExpInstr::FunctionGenerator >, DynExp::LinkedObjectWrapperContainer< DynExpHardware::PVCamHardwareAdapter >, DynExp::LinkedObjectWrapperContainer< DynExpInstr::PositionerStage >, DynExp::LinkedObjectWrapperContainer< DynExpHardware::QutoolsTDCHardwareAdapter >, and DynExp::LinkedObjectWrapperContainer< DynExpInstr::DigitalIn >.
|
inline |
Builds and returns a human-readable string uniquely identifying the Object
instance which is wrapped by the linked LinkedObjectWrapper
.
Object
instance
|
privatepure virtual |
Builds and returns a human-readable string uniquely identifying the Object
instance which is wrapped by the linked LinkedObjectWrapper
.
Object
instance Implemented in DynExp::LinkedObjectWrapperContainer< ObjectT >, DynExp::LinkedObjectWrapperContainer< DynExpHardware::SmarActHardwareAdapter >, DynExp::LinkedObjectWrapperContainer< DynExpInstr::DigitalOut >, DynExp::LinkedObjectWrapperContainer< DynExpInstr::LockinAmplifier >, DynExp::LinkedObjectWrapperContainer< DynExpInstr::Camera >, DynExp::LinkedObjectWrapperContainer< DynExpHardware::NIDAQHardwareAdapter >, DynExp::LinkedObjectWrapperContainer< DynExpInstr::AnalogIn >, DynExp::LinkedObjectWrapperContainer< DynExpInstr::AnalogOut >, DynExp::LinkedObjectWrapperContainer< DynExpHardware::SIPulseStreamerHardwareAdapter >, DynExp::LinkedObjectWrapperContainer< DynExp::SerialCommunicationHardwareAdapter >, DynExp::LinkedObjectWrapperContainer< DynExpInstr::TimeTagger >, DynExp::LinkedObjectWrapperContainer< DynExpInstr::InterModuleCommunicator >, DynExp::LinkedObjectWrapperContainer< DynExpHardware::ZILabOneHardwareAdapter >, DynExp::LinkedObjectWrapperContainer< DynExpInstr::InputPort >, DynExp::LinkedObjectWrapperContainer< DynExpInstr::OutputPort >, DynExp::LinkedObjectWrapperContainer< DynExpInstr::Spectrometer >, DynExp::LinkedObjectWrapperContainer< DynExpInstr::DataStreamInstrument >, DynExp::LinkedObjectWrapperContainer< DynExpInstr::WidefieldLocalization >, DynExp::LinkedObjectWrapperContainer< DynExpInstr::FunctionGenerator >, DynExp::LinkedObjectWrapperContainer< DynExpHardware::PVCamHardwareAdapter >, DynExp::LinkedObjectWrapperContainer< DynExpInstr::PositionerStage >, DynExp::LinkedObjectWrapperContainer< DynExpHardware::QutoolsTDCHardwareAdapter >, and DynExp::LinkedObjectWrapperContainer< DynExpInstr::DigitalIn >.
|
inlinenoexcept |
Returns LinkedObjectState.
|
protectednoexcept |
Removes any linked LinkedObjectWrapper
and updates LinkedObjectState.
Definition at line 742 of file Object.cpp.
|
privatepure virtualnoexcept |
Removes any linked LinkedObjectWrapper
and updates LinkedObjectState.
Implemented in DynExp::LinkedObjectWrapperContainer< ObjectT >, DynExp::LinkedObjectWrapperContainer< DynExpHardware::SmarActHardwareAdapter >, DynExp::LinkedObjectWrapperContainer< DynExpInstr::DigitalOut >, DynExp::LinkedObjectWrapperContainer< DynExpInstr::LockinAmplifier >, DynExp::LinkedObjectWrapperContainer< DynExpInstr::Camera >, DynExp::LinkedObjectWrapperContainer< DynExpHardware::NIDAQHardwareAdapter >, DynExp::LinkedObjectWrapperContainer< DynExpInstr::AnalogIn >, DynExp::LinkedObjectWrapperContainer< DynExpInstr::AnalogOut >, DynExp::LinkedObjectWrapperContainer< DynExpHardware::SIPulseStreamerHardwareAdapter >, DynExp::LinkedObjectWrapperContainer< DynExp::SerialCommunicationHardwareAdapter >, DynExp::LinkedObjectWrapperContainer< DynExpInstr::TimeTagger >, DynExp::LinkedObjectWrapperContainer< DynExpInstr::InterModuleCommunicator >, DynExp::LinkedObjectWrapperContainer< DynExpHardware::ZILabOneHardwareAdapter >, DynExp::LinkedObjectWrapperContainer< DynExpInstr::InputPort >, DynExp::LinkedObjectWrapperContainer< DynExpInstr::OutputPort >, DynExp::LinkedObjectWrapperContainer< DynExpInstr::Spectrometer >, DynExp::LinkedObjectWrapperContainer< DynExpInstr::DataStreamInstrument >, DynExp::LinkedObjectWrapperContainer< DynExpInstr::WidefieldLocalization >, DynExp::LinkedObjectWrapperContainer< DynExpInstr::FunctionGenerator >, DynExp::LinkedObjectWrapperContainer< DynExpHardware::PVCamHardwareAdapter >, DynExp::LinkedObjectWrapperContainer< DynExpInstr::PositionerStage >, DynExp::LinkedObjectWrapperContainer< DynExpHardware::QutoolsTDCHardwareAdapter >, and DynExp::LinkedObjectWrapperContainer< DynExpInstr::DigitalIn >.
|
friend |
|
mutableprotected |
Stores the current state of this LinkedObjectWrapperContainerBase
instance. Refer to LinkedObjectStateType
. Mutable to be updated in calls to LinkedObjectWrapperContainer::get().