DynExp
Highly flexible laboratory automation for dynamically changing experiments.
|
Defines a task for deinitializing an instrument within an instrument inheritance hierarchy. Each instrument (indirectly) derived from class InstrumentBase
must be accompanied by a deinitialization task class derived from ExitTaskBase
. Even if the task does not do anything, at least it has to call ExitTaskBase::ExitFuncImpl() of the derived instrument's deinitialization task class.
More...
#include <gRPCInstrument.h>
Protected Types | |
template<typename Type > | |
using | dispatch_tag = DynExp::ExitTaskBase::dispatch_tag< Type > |
Refer to DynExp::ParamsBase::dispatch_tag. | |
Private Member Functions | |
void | ExitFuncImpl (dispatch_tag< typename BaseInstr::ExitTaskType >, DynExp::InstrumentInstance &Instance) override final |
Deinitializes the respective instrument within the instrument inheritance hierarchy. Call ExitFuncImpl() of a derived instrument's exit task as the first command in a base instrument's exit task ExitFuncImpl() to ensure that derived instruments can shut down before base instruments. Overriding functions must throw an exception in case of an error. | |
virtual void | ExitFuncImpl (dispatch_tag< ExitTask >, DynExp::InstrumentInstance &Instance) |
Deinitializes the respective instrument within the instrument inheritance hierarchy. Call ExitFuncImpl() of a derived instrument's exit task as the first command in a base instrument's exit task ExitFuncImpl() to ensure that derived instruments can shut down before base instruments. Overriding functions must throw an exception in case of an error. | |
Defines a task for deinitializing an instrument within an instrument inheritance hierarchy. Each instrument (indirectly) derived from class InstrumentBase
must be accompanied by a deinitialization task class derived from ExitTaskBase
. Even if the task does not do anything, at least it has to call ExitTaskBase::ExitFuncImpl() of the derived instrument's deinitialization 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 72 of file gRPCInstrument.h.
|
protected |
Refer to DynExp::ParamsBase::dispatch_tag.
Type | (derived from DynExp::ExitTaskBase) to instantiate the dispatch tag template with. |
Definition at line 79 of file gRPCInstrument.h.
|
inlineprivatevirtual |
Deinitializes the respective instrument within the instrument inheritance hierarchy. Call ExitFuncImpl()
of a derived instrument's exit task as the first command in a base instrument's exit task ExitFuncImpl()
to ensure that derived instruments can shut down before base instruments. Overriding functions must throw an exception in case of an error.
Instance | Handle to the instrument thread's data |
Definition at line 105 of file gRPCInstrument.h.
|
inlinefinaloverrideprivate |
Deinitializes the respective instrument within the instrument inheritance hierarchy. Call ExitFuncImpl()
of a derived instrument's exit task as the first command in a base instrument's exit task ExitFuncImpl()
to ensure that derived instruments can shut down before base instruments. Overriding functions must throw an exception in case of an error.
Instance | Handle to the instrument thread's data |
Definition at line 85 of file gRPCInstrument.h.