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...
template<typename BaseInstr, std::enable_if_t< std::is_base_of_v< DynExp::InstrumentBase, BaseInstr >, int >, typename... gRPCStubs>
class DynExpInstr::gRPCInstrumentTasks::ExitTask< BaseInstr,, gRPCStubs >
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.
- Template Parameters
-
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.
template<typename BaseInstr , std::enable_if_t< std::is_base_of_v< DynExp::InstrumentBase, BaseInstr >, int > , typename... gRPCStubs>
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.
- Parameters
-
Instance | Handle to the instrument thread's data |
Definition at line 105 of file gRPCInstrument.h.
template<typename BaseInstr , std::enable_if_t< std::is_base_of_v< DynExp::InstrumentBase, BaseInstr >, int > , typename... gRPCStubs>
|
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.
- Parameters
-
Instance | Handle to the instrument thread's data |
Definition at line 85 of file gRPCInstrument.h.