DynExp
Highly flexible laboratory automation for dynamically changing experiments.
Loading...
Searching...
No Matches
DynExp::InterModuleEventBase Class Referenceabstract

Common base class for all inter-module events. More...

#include <Module.h>

+ Inheritance diagram for DynExp::InterModuleEventBase:

Public Types

using InterModuleEventPtrType = std::unique_ptr< InterModuleEventBase >
 Pointer type to store an inter-module event (InterModuleEventBase).
 

Public Member Functions

 InterModuleEventBase ()
 Constructs an inter-module event.
 
 InterModuleEventBase (const InterModuleEventBase &Other, ItemIDType CommunicatorID)
 Copy-constrcuts an inter-module event setting the CommunicatorID.
 
virtual ~InterModuleEventBase ()=0
 
virtual InterModuleEventPtrType Clone (ItemIDType CommunicatorID) const =0
 Creates a deep copy of this inter-module instance.
 
virtual size_t GetID () const noexcept=0
 Returns the unique ID of this event type.
 
auto GetCommunicatorID () const noexcept
 Getter for CommunicatorID.
 
Override

Override by derived events to provide information about the derived events.

virtual std::string GetName () const =0
 Returns the name of this event type.
 
- Public Member Functions inherited from DynExp::EventBase
 EventBase ()=default
 
virtual ~EventBase ()=0
 
void Invoke (ModuleInstance &Instance) const
 Invokes the event passing the receiving module's instance reference to it. Only to be called from ModuleBase.
 

Private Attributes

const ItemIDType CommunicatorID
 ID of the DynExpInstr::InterModuleCommunicator instance that sends the event.
 

Detailed Description

Common base class for all inter-module events.

Definition at line 1152 of file Module.h.

Member Typedef Documentation

◆ InterModuleEventPtrType

Pointer type to store an inter-module event (InterModuleEventBase).

Definition at line 1158 of file Module.h.

Constructor & Destructor Documentation

◆ InterModuleEventBase() [1/2]

DynExp::InterModuleEventBase::InterModuleEventBase ( )
inline

Constructs an inter-module event.

Definition at line 1163 of file Module.h.

◆ InterModuleEventBase() [2/2]

DynExp::InterModuleEventBase::InterModuleEventBase ( const InterModuleEventBase Other,
ItemIDType  CommunicatorID 
)
inline

Copy-constrcuts an inter-module event setting the CommunicatorID.

Parameters
OtherInter-module event to copy.
CommunicatorIDID of the DynExpInstr::InterModuleCommunicator instance that sends the event.

Definition at line 1170 of file Module.h.

◆ ~InterModuleEventBase()

DynExp::InterModuleEventBase::~InterModuleEventBase ( )
pure virtual

Definition at line 428 of file Module.cpp.

Member Function Documentation

◆ Clone()

◆ GetCommunicatorID()

auto DynExp::InterModuleEventBase::GetCommunicatorID ( ) const
inlinenoexcept

Getter for CommunicatorID.

Definition at line 1194 of file Module.h.

◆ GetID()

◆ GetName()

Member Data Documentation

◆ CommunicatorID

const ItemIDType DynExp::InterModuleEventBase::CommunicatorID
private

ID of the DynExpInstr::InterModuleCommunicator instance that sends the event.

Definition at line 1200 of file Module.h.


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