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

Allow exclusive access to some of InstrumentDataBase's private methods to the instrument thread InstrumentThreadMain(). More...

Private Member Functions

constexpr InstrumenThreadOnlyType (InstrumentDataBase &Parent) noexcept
 Construcs an instance - one for each InstrumentDataBase instance.
 
auto & GetNewTaskNotifier () noexcept
 Getter for NewTaskNotifier.
 
void SetLastUpdateTime (std::chrono::system_clock::time_point LastUpdate)
 Setter for InstrumentDataBase::LastUpdate.
 

Private Attributes

InstrumentDataBaseParent
 Owning InstrumentDataBase instance.
 

Friends

class InstrumentDataBase
 
int InstrumentThreadMain (std::unique_ptr< RunnableInstance > &&, RunnableObject *)
 Instruments run in their own thread. This is the instrument thread's main function.
 

Detailed Description

Allow exclusive access to some of InstrumentDataBase's private methods to the instrument thread InstrumentThreadMain().

Definition at line 182 of file Instrument.h.

Constructor & Destructor Documentation

◆ InstrumenThreadOnlyType()

constexpr DynExp::InstrumentDataBase::InstrumenThreadOnlyType::InstrumenThreadOnlyType ( InstrumentDataBase Parent)
inlineconstexprprivatenoexcept

Construcs an instance - one for each InstrumentDataBase instance.

Parameters
ParentOwning InstrumentDataBase instance

Definition at line 191 of file Instrument.h.

Member Function Documentation

◆ GetNewTaskNotifier()

auto & DynExp::InstrumentDataBase::InstrumenThreadOnlyType::GetNewTaskNotifier ( )
inlineprivatenoexcept

Getter for NewTaskNotifier.

Returns
Returns NewTaskNotifier to notify the instrument thread about new tasks.

Definition at line 193 of file Instrument.h.

◆ SetLastUpdateTime()

void DynExp::InstrumentDataBase::InstrumenThreadOnlyType::SetLastUpdateTime ( std::chrono::system_clock::time_point  LastUpdate)
inlineprivate

Setter for InstrumentDataBase::LastUpdate.

Definition at line 194 of file Instrument.h.

Friends And Related Symbol Documentation

◆ InstrumentDataBase

friend class InstrumentDataBase
friend

Definition at line 184 of file Instrument.h.

◆ InstrumentThreadMain

int InstrumentThreadMain ( std::unique_ptr< RunnableInstance > &&  ,
RunnableObject  
)
friend

Instruments run in their own thread. This is the instrument thread's main function.

Parameters
InstancePtrPointer to a handle to the instrument thread's data related to the instrument running this thread. The instrument thread takes ownership of InstancePtr and is expected to let the lifetime of InstancePtr expire upon termination.
BaseObjectPointer to the instrument running this thread.
Returns
Util::DynExpErrorCodes::NoError if the thread terminated without an error, the respective error code otherwise.

Definition at line 8 of file Instrument.cpp.

Member Data Documentation

◆ Parent

InstrumentDataBase& DynExp::InstrumentDataBase::InstrumenThreadOnlyType::Parent
private

Owning InstrumentDataBase instance.

Definition at line 196 of file Instrument.h.


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