DynExp
Highly flexible laboratory automation for dynamically changing experiments.
DynExpInstr::InterModuleCommunicatorData Class Reference

Data class for InterModuleCommunicator. More...

+ Inheritance diagram for DynExpInstr::InterModuleCommunicatorData:

Public Member Functions

 InterModuleCommunicatorData ()=default
 
virtual ~InterModuleCommunicatorData ()=default
 
- Public Member Functions inherited from DynExp::InstrumentDataBase
 InstrumentDataBase ()
 
virtual ~InstrumentDataBase ()
 
auto GetLastUpdateTime () const
 Getter for LastUpdate. More...
 
auto GetException () const noexcept
 Getter for InstrumentDataBase::InstrumentException. More...
 
void EnqueueTask (std::unique_ptr< TaskBase > &&Task)
 Enqueues a task at the back of an instrument's task queue and notifies the instrument about the new task. More...
 
void EnqueuePriorityTask (std::unique_ptr< TaskBase > &&Task)
 Enqueues a task at the front of an instrument's task queue and notifies the instrument about the new task. More...
 
std::unique_ptr< TaskBasePopTaskFront ()
 Removes a task from the front of an instrument's task queue. More...
 
std::unique_ptr< TaskBasePopTaskBack ()
 Removes a task from the back of an instrument's task queue. More...
 
auto GetTaskFront () noexcept
 Getter for first enqueued task. More...
 
auto GetTaskBack () noexcept
 Getter for last enqueued task. More...
 
size_t GetNumEnqueuedTasks () const noexcept
 Getter for the instrument task queue's length. More...
 
std::unique_ptr< TaskBasePopFinishedTask ()
 Removes a task from the front of an instrument's list of finished tasks. More...
 
size_t GetNumFinishedTasks () const noexcept
 Getter for the length of the instrument's list of finished tasks. More...
 
bool IsQueueClosed () const noexcept
 Determines whether the instrument task queue is closed. More...
 
- Public Member Functions inherited from Util::INonCopyable
 INonCopyable (const INonCopyable &)=delete
 
INonCopyableoperator= (const INonCopyable &)=delete
 

Private Member Functions

void ResetImpl (dispatch_tag< DynExp::InstrumentDataBase >) override final
 Refer to DynExp::InstrumentDataBase::Reset(). Using tag dispatch mechanism to ensure that ResetImpl() of every derived class gets called - starting from InstrumentDataBase, descending the inheritance hierarchy. Override in order to reset derived classes. More...
 
virtual void ResetImpl (dispatch_tag< InterModuleCommunicatorData >)
 

Additional Inherited Members

- Public Types inherited from DynExp::InstrumentDataBase
using TaskQueueType = std::list< std::unique_ptr< TaskBase > >
 Type of an instrument task queue owning the tasks within. More...
 
using TaskQueueIteratorType = TaskQueueType::const_iterator
 Const iterator type to elements of TaskQueueType. More...
 
- Public Attributes inherited from DynExp::InstrumentDataBase
InstrumentBaseOnlyType InstrumentBaseOnly
 Allow exclusive access to some of InstrumentDataBase's private methods to InstrumentBase. More...
 
InstrumenThreadOnlyType InstrumentThreadOnly
 Allow exclusive access to some of InstrumentDataBase's private methods to the instrument thread InstrumentThreadMain(). More...
 
- Protected Member Functions inherited from Util::ISynchronizedPointerLockable
 ISynchronizedPointerLockable ()
 
 ~ISynchronizedPointerLockable ()
 Object should never be destroyed before completely unlocked. More...
 
- Protected Member Functions inherited from Util::INonCopyable
constexpr INonCopyable ()=default
 
 ~INonCopyable ()=default
 

Detailed Description

Data class for InterModuleCommunicator.

Definition at line 66 of file InterModuleCommunicator.h.

Constructor & Destructor Documentation

◆ InterModuleCommunicatorData()

DynExpInstr::InterModuleCommunicatorData::InterModuleCommunicatorData ( )
default

◆ ~InterModuleCommunicatorData()

virtual DynExpInstr::InterModuleCommunicatorData::~InterModuleCommunicatorData ( )
virtualdefault

Member Function Documentation

◆ ResetImpl() [1/2]

void DynExpInstr::InterModuleCommunicatorData::ResetImpl ( dispatch_tag< DynExp::InstrumentDataBase )
finaloverrideprivatevirtual

Refer to DynExp::InstrumentDataBase::Reset(). Using tag dispatch mechanism to ensure that ResetImpl() of every derived class gets called - starting from InstrumentDataBase, descending the inheritance hierarchy. Override in order to reset derived classes.

Reimplemented from DynExp::InstrumentDataBase.

Definition at line 26 of file InterModuleCommunicator.cpp.

◆ ResetImpl() [2/2]

virtual void DynExpInstr::InterModuleCommunicatorData::ResetImpl ( dispatch_tag< InterModuleCommunicatorData )
inlineprivatevirtual

Definition at line 74 of file InterModuleCommunicator.h.


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