DynExp
Highly flexible laboratory automation for dynamically changing experiments.
|
Defines a task for initializing an instrument within an instrument inheritance hierarchy. Each instrument (indirectly) derived from class InstrumentBase
must be accompanied by an initialization task class derived from InitTaskBase
. Even if the task does not do anything, at least it has to call InitTaskBase::InitFuncImpl() of the derived instrument's initialization task class.
More...
#include <gRPCInstrument.h>
Protected Types | |
template<typename Type > | |
using | dispatch_tag = DynExp::InitTaskBase::dispatch_tag< Type > |
Refer to DynExp::ParamsBase::dispatch_tag. | |
Private Member Functions | |
void | InitFuncImpl (dispatch_tag< typename BaseInstr::InitTaskType >, DynExp::InstrumentInstance &Instance) override final |
Initializes the respective instrument within the instrument inheritance hierarchy. Call InitFuncImpl() of a derived instrument's initialization task as the last command in a base instrument's initialization task InitFuncImpl() to ensure that derived instruments are initialized after base instruments. Overriding functions must throw an exception in case of an error. | |
virtual void | InitFuncImpl (dispatch_tag< InitTask< BaseInstr, 0, gRPCStubs... > >, DynExp::InstrumentInstance &Instance) |
Initializes the respective instrument within the instrument inheritance hierarchy. Call InitFuncImpl() of a derived instrument's initialization task as the last command in a base instrument's initialization task InitFuncImpl() to ensure that derived instruments are initialized after base instruments. Overriding functions must throw an exception in case of an error. | |
Defines a task for initializing an instrument within an instrument inheritance hierarchy. Each instrument (indirectly) derived from class InstrumentBase
must be accompanied by an initialization task class derived from InitTaskBase
. Even if the task does not do anything, at least it has to call InitTaskBase::InitFuncImpl() of the derived instrument's initialization task class.
BaseInstr | Meta instrument this class derives from. |
enable_if_t | Internal check whether BaseInstr is derived from DynExp::InstrumentBase. Pass 0. |
...gRPCStubs | gRPC stub types which this gRPC client expects from the server to be provided. The order of stub types should match the order of service types in the gRPCServices list of the respective DynExpModule::gRPCModule gRPC server. |
Definition at line 34 of file gRPCInstrument.h.
|
protected |
Refer to DynExp::ParamsBase::dispatch_tag.
Type | (derived from DynExp::InitTaskBase) to instantiate the dispatch tag template with. |
Definition at line 41 of file gRPCInstrument.h.
|
inlineprivatevirtual |
Initializes the respective instrument within the instrument inheritance hierarchy. Call InitFuncImpl()
of a derived instrument's initialization task as the last command in a base instrument's initialization task InitFuncImpl()
to ensure that derived instruments are initialized after base instruments. Overriding functions must throw an exception in case of an error.
Instance | Handle to the instrument thread's data |
Definition at line 64 of file gRPCInstrument.h.
|
inlinefinaloverrideprivate |
Initializes the respective instrument within the instrument inheritance hierarchy. Call InitFuncImpl()
of a derived instrument's initialization task as the last command in a base instrument's initialization task InitFuncImpl()
to ensure that derived instruments are initialized after base instruments. Overriding functions must throw an exception in case of an error.
Instance | Handle to the instrument thread's data |
Definition at line 48 of file gRPCInstrument.h.