yasmine
execution_step.hpp
Go to the documentation of this file.
1 // //
3 // This file is part of the Seadex yasmine ecosystem (http://yasmine.seadex.de). //
4 // Copyright (C) 2016-2017 Seadex GmbH //
5 // //
6 // Licensing information is available in the folder "license" which is part of this distribution. //
7 // The same information is available on the www @ http://yasmine.seadex.de/Licenses.html. //
8 // //
10 
11 
12 #ifndef EXECUTION_STEP_H_94397D2C_C792_4163_B87A_1CB896808779
13 #define EXECUTION_STEP_H_94397D2C_C792_4163_B87A_1CB896808779
14 
15 
16 #include "essentials/non_copyable.hpp"
17 
18 #include "execution_step_fwd.hpp"
20 #include "event_fwd.hpp"
21 
22 
23 namespace sxy
24 {
25 
26 
27 class execution_step_visitor;
28 class event_processing_callback;
29 class async_event_handler;
30 class event_collector;
31 
32 
34 {
35 public:
37  {
38  // Nothing to do...
39  }
40 
41 
42  virtual ~execution_step() SX_NOEXCEPT
43  {
44  // Nothing to do...
45  }
46 
47 
48  SX_NO_COPY(execution_step)
49  virtual bool execute_behavior( event_processing_callback* const _event_processing_callback,
50  const event& _event, events& _exception_events, async_event_handler* const _async_event_handler,
51  event_collector& _event_collector ) const = 0;
52  virtual void accept( execution_step_visitor& _visitor ) const = 0;
53 };
54 
55 
56 }
57 
58 
59 #endif
Definition: event_collector.hpp:25
execution_step()
Definition: execution_step.hpp:36
virtual ~execution_step() SX_NOEXCEPT
Definition: execution_step.hpp:42
Definition: execution_step_visitor.hpp:29
Interface of an event. An event has an ID, a name and a priority (for processing by the async state m...
Definition: event.hpp:28
Definition: execution_step.hpp:33
Definition: async_event_handler.hpp:22
Definition: adapter_cpp11.hpp:21
virtual bool execute_behavior(event_processing_callback *const _event_processing_callback, const event &_event, events &_exception_events, async_event_handler *const _async_event_handler, event_collector &_event_collector) const =0
Callback interface that is called by a state machine during event processing. See the different metho...
Definition: event_processing_callback.hpp:37
virtual void accept(execution_step_visitor &_visitor) const =0
std::vector< event_sptr > events
Definition: event_fwd.hpp:27