DynExp
Highly flexible laboratory automation for dynamically changing experiments.
Loading...
Searching...
No Matches
CommonModuleEvents.h
Go to the documentation of this file.
1// This file is part of DynExp.
2
9#pragma once
10
11#include "stdafx.h"
12#include "Module.h"
13
14namespace DynExpModule
15{
21 class StartEvent : public DynExp::InterModuleEvent<StartEvent>
22 {
23 public:
24 StartEvent() = default;
25 virtual ~StartEvent() {}
26
27 private:
28 virtual void InvokeWithParamsChild(DynExp::ModuleInstance& Instance, EventListenersType::EventFunctionType EventFunc) const override;
29 };
30
35 class StopEvent : public DynExp::InterModuleEvent<StopEvent>
36 {
37 public:
38 StopEvent() = default;
39 virtual ~StopEvent() {}
40
41 private:
42 virtual void InvokeWithParamsChild(DynExp::ModuleInstance& Instance, EventListenersType::EventFunctionType EventFunc) const override;
43 };
44
49 class TriggerEvent : public DynExp::InterModuleEvent<TriggerEvent>
50 {
51 public:
52 TriggerEvent() = default;
53 virtual ~TriggerEvent() {}
54
55 private:
56 virtual void InvokeWithParamsChild(DynExp::ModuleInstance& Instance, EventListenersType::EventFunctionType EventFunc) const override;
57 };
58}
Implementation of DynExp module objects.
This event is intended to make the receiver either directly start an action (like a measurement) or t...
virtual void InvokeWithParamsChild(DynExp::ModuleInstance &Instance, EventListenersType::EventFunctionType EventFunc) const override
This event is intended to make the receiver stop an action (like a measurement).
virtual void InvokeWithParamsChild(DynExp::ModuleInstance &Instance, EventListenersType::EventFunctionType EventFunc) const override
This event is intended to make the receiver start an action (like a measurement) after it received a ...
virtual void InvokeWithParamsChild(DynExp::ModuleInstance &Instance, EventListenersType::EventFunctionType EventFunc) const override
Typed base class for inter-module events to realize CRTP.
Definition Module.h:1011
Defines data for a thread belonging to a ModuleBase instance. Refer to RunnableInstance.
Definition Module.h:793
std::function< void(ModuleInstance *, EventFuncArgs...)> EventFunctionType
Type of event functions to be invoked when the event is triggered. The first ModuleInstance argument ...
Definition Module.h:899
DynExp's module namespace contains the implementation of DynExp modules which extend DynExp's core fu...
Accumulates include statements to provide a precompiled header.