DynExp
Highly flexible laboratory automation for dynamically changing experiments.
Loading...
Searching...
No Matches
DynExpInstr::InterModuleCommunicatorData Class Reference

Data class for InterModuleCommunicator. More...

#include <InterModuleCommunicator.h>

+ 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.
 
auto GetException () const noexcept
 Getter for InstrumentDataBase::InstrumentException.
 
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.
 
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.
 
std::unique_ptr< TaskBasePopTaskFront ()
 Removes a task from the front of an instrument's task queue.
 
std::unique_ptr< TaskBasePopTaskBack ()
 Removes a task from the back of an instrument's task queue.
 
auto GetTaskFront () noexcept
 Getter for first enqueued task.
 
auto GetTaskBack () noexcept
 Getter for last enqueued task.
 
size_t GetNumEnqueuedTasks () const noexcept
 Getter for the instrument task queue's length.
 
std::unique_ptr< TaskBasePopFinishedTask ()
 Removes a task from the front of an instrument's list of finished tasks.
 
size_t GetNumFinishedTasks () const noexcept
 Getter for the length of the instrument's list of finished tasks.
 
bool IsQueueClosed () const noexcept
 Determines whether the instrument task queue is closed.
 
- 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.
 
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.
 
using TaskQueueIteratorType = TaskQueueType::const_iterator
 Const iterator type to elements of TaskQueueType.
 
- Public Attributes inherited from DynExp::InstrumentDataBase
InstrumentBaseOnlyType InstrumentBaseOnly
 Allow exclusive access to some of InstrumentDataBase's private methods to InstrumentBase.
 
InstrumenThreadOnlyType InstrumentThreadOnly
 Allow exclusive access to some of InstrumentDataBase's private methods to the instrument thread InstrumentThreadMain().
 
- Protected Member Functions inherited from Util::ISynchronizedPointerLockable
 ISynchronizedPointerLockable ()
 
 ~ISynchronizedPointerLockable ()
 Object should never be destroyed before completely unlocked.
 
- 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: