DynExp
Highly flexible laboratory automation for dynamically changing experiments.
DynExp::ModuleBase::ModuleThreadOnlyType Class Reference

Allow exclusive access to some of ModuleBase's private methods to the module thread ModuleThreadMain(). More...

Private Member Functions

constexpr ModuleThreadOnlyType (ModuleBase &Parent) noexcept
 Construcs an instance - one for each ModuleBase instance. More...
 
void HandleEvent (ModuleInstance &Instance)
 
Util::DynExpErrorCodes::DynExpErrorCodes ModuleMainLoop (ModuleInstance &Instance)
 
void OnPause (ModuleInstance &Instance)
 
void OnResume (ModuleInstance &Instance)
 
void OnError (ModuleInstance &Instance)
 
void SetReasonWhyPaused (std::string Description)
 

Private Attributes

ModuleBaseParent
 Owning ModuleBase instance. More...
 

Friends

class ModuleBase
 
int ModuleThreadMain (ModuleInstance, ModuleBase *const)
 Modules run in their own thread. This is the module thread's main function. More...
 

Detailed Description

Allow exclusive access to some of ModuleBase's private methods to the module thread ModuleThreadMain().

Definition at line 397 of file Module.h.

Constructor & Destructor Documentation

◆ ModuleThreadOnlyType()

constexpr DynExp::ModuleBase::ModuleThreadOnlyType::ModuleThreadOnlyType ( ModuleBase Parent)
inlineconstexprprivatenoexcept

Construcs an instance - one for each ModuleBase instance.

Parameters
ParentOwning ModuleBase instance

Definition at line 406 of file Module.h.

Member Function Documentation

◆ HandleEvent()

void DynExp::ModuleBase::ModuleThreadOnlyType::HandleEvent ( ModuleInstance Instance)
inlineprivate

Definition at line 408 of file Module.h.

◆ ModuleMainLoop()

Util::DynExpErrorCodes::DynExpErrorCodes DynExp::ModuleBase::ModuleThreadOnlyType::ModuleMainLoop ( ModuleInstance Instance)
inlineprivate

Definition at line 409 of file Module.h.

◆ OnError()

void DynExp::ModuleBase::ModuleThreadOnlyType::OnError ( ModuleInstance Instance)
inlineprivate

Definition at line 412 of file Module.h.

◆ OnPause()

void DynExp::ModuleBase::ModuleThreadOnlyType::OnPause ( ModuleInstance Instance)
inlineprivate

Definition at line 410 of file Module.h.

◆ OnResume()

void DynExp::ModuleBase::ModuleThreadOnlyType::OnResume ( ModuleInstance Instance)
inlineprivate

Definition at line 411 of file Module.h.

◆ SetReasonWhyPaused()

void DynExp::ModuleBase::ModuleThreadOnlyType::SetReasonWhyPaused ( std::string  Description)
inlineprivate

Definition at line 414 of file Module.h.

Friends And Related Function Documentation

◆ ModuleBase

friend class ModuleBase
friend

Definition at line 399 of file Module.h.

◆ ModuleThreadMain

int ModuleThreadMain ( ModuleInstance  ,
ModuleBase * const   
)
friend

Modules run in their own thread. This is the module thread's main function.

Parameters
InstanceHandle to the module thread's data related to the module running this thread. The module thread is expected to let the lifetime of Instance expire upon termination.
ModulePointer to the module running this thread
Returns
Util::DynExpErrorCodes::NoError if the thread terminated without an error, the respective error code otherwise.

Definition at line 10 of file Module.cpp.

Member Data Documentation

◆ Parent

ModuleBase& DynExp::ModuleBase::ModuleThreadOnlyType::Parent
private

Owning ModuleBase instance.

Definition at line 416 of file Module.h.


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