DynExp
Highly flexible laboratory automation for dynamically changing experiments.
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 
14 namespace 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.