DynExp
Highly flexible laboratory automation for dynamically changing experiments.
DynExp::LinkedObjectWrapperContainerBase Class Referenceabstract

Polymorphic base class to allow storing LinkedObjectWrapperContainer of any type in a single list. More...

+ Inheritance diagram for DynExp::LinkedObjectWrapperContainerBase:

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
 
INonCopyableoperator= (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
 

Detailed Description

Polymorphic base class to allow storing LinkedObjectWrapperContainer of any type in a single list.

Definition at line 3075 of file Object.h.

Member Enumeration Documentation

◆ LinkedObjectStateType

Indicates the current state of the Object referenced by the linked LinkedObjectWrapper.

Enumerator
NotLinked 

This container instance is currently not linked to any LinkedObjectWrapper.

Ready 

The Object instance the linked LinkedObjectWrapper refers to is in a ready state.

NotReady 

The Object instance the linked LinkedObjectWrapper refers to is not in a ready state (e.g. since it has been stopped or since it has failed).

Definition at line 3083 of file Object.h.

Constructor & Destructor Documentation

◆ LinkedObjectWrapperContainerBase()

DynExp::LinkedObjectWrapperContainerBase::LinkedObjectWrapperContainerBase ( )
inlineprotectednoexcept

Constructs a LinkedObjectWrapperContainerBase instance which is not linked to any LinkedObjectWrapper.

Definition at line 3103 of file Object.h.

◆ ~LinkedObjectWrapperContainerBase()

DynExp::LinkedObjectWrapperContainerBase::~LinkedObjectWrapperContainerBase ( )
protectedpure virtual

Definition at line 738 of file Object.cpp.

Member Function Documentation

◆ CheckIfReady()

bool DynExp::LinkedObjectWrapperContainerBase::CheckIfReady ( )
inline

Returns whether the Object instance which is wrapped by the linked LinkedObjectWrapper is in a ready state.

Returns
Returns e.g. the result of a call to Object::IsReady() on the related Object instance.

Definition at line 3136 of file Object.h.

◆ CheckIfReadyChild()

virtual bool DynExp::LinkedObjectWrapperContainerBase::CheckIfReadyChild ( )
privatepure virtual

Returns whether the Object instance which is wrapped by the linked LinkedObjectWrapper is in a ready state.

Returns
Returns e.g. the result of a call to 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 >.

◆ GetLinkedObjectDesc()

std::string DynExp::LinkedObjectWrapperContainerBase::GetLinkedObjectDesc ( ) const
inline

Builds and returns a human-readable string uniquely identifying the Object instance which is wrapped by the linked LinkedObjectWrapper.

Returns
String containing e.g. the type category, type name, and user-defined name of the related Object instance

Definition at line 3128 of file Object.h.

◆ GetLinkedObjectDescChild()

virtual std::string DynExp::LinkedObjectWrapperContainerBase::GetLinkedObjectDescChild ( ) const
privatepure virtual

Builds and returns a human-readable string uniquely identifying the Object instance which is wrapped by the linked LinkedObjectWrapper.

Returns
String containing e.g. the type category, type name, and user-defined name of 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 >.

◆ GetState()

auto DynExp::LinkedObjectWrapperContainerBase::GetState ( ) const
inlinenoexcept

Returns LinkedObjectState.

Definition at line 3120 of file Object.h.

◆ Reset()

void DynExp::LinkedObjectWrapperContainerBase::Reset ( )
protectednoexcept

Removes any linked LinkedObjectWrapper and updates LinkedObjectState.

Definition at line 742 of file Object.cpp.

◆ ResetChild()

virtual void DynExp::LinkedObjectWrapperContainerBase::ResetChild ( )
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 >.

Friends And Related Function Documentation

◆ RunnableInstance

friend class RunnableInstance
friend

Definition at line 3077 of file Object.h.

Member Data Documentation

◆ LinkedObjectState

LinkedObjectStateType DynExp::LinkedObjectWrapperContainerBase::LinkedObjectState
mutableprotected

Stores the current state of this LinkedObjectWrapperContainerBase instance. Refer to LinkedObjectStateType. Mutable to be updated in calls to LinkedObjectWrapperContainer::get().

Definition at line 3117 of file Object.h.


The documentation for this class was generated from the following files: