yasmine
transition_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 TRANSITION_STEP_6023D41F_1644_441E_8A49_E2BE433910AF
13 #define TRANSITION_STEP_6023D41F_1644_441E_8A49_E2BE433910AF
14 
15 
16 #include "essentials/non_copyable.hpp"
17 
18 #include "vertex_fwd.hpp"
19 #include "transition_fwd.hpp"
20 #include "transition_step_fwd.hpp"
21 
22 
23 namespace sxy
24 {
25 
26 
27 class entry_point;
28 class exit_point;
29 class event;
30 class event_collector;
31 
32 
34 {
35 public:
37  {
38  // Nothing to do...
39  }
40 
41 
42  virtual ~transition_step() SX_NOEXCEPT
43  {
44  // Nothing to do...
45  }
46 
47 
48  SX_NO_COPY(transition_step)
49  virtual const raw_transitions& get_transitions() const = 0;
50  virtual const vertex& get_unique_source() const = 0;
51  virtual const vertex& get_unique_target() const = 0;
52  virtual void execute_transition_behaviors( const event& _event, event_collector& _event_collector ) const = 0;
53  virtual const exit_point * get_exit_point() const = 0;
54  virtual const entry_point * get_entry_point() const = 0;
55  virtual const raw_const_vertices get_target_vertices() = 0;
56 };
57 
58 
59 }
60 
61 
62 #endif
std::vector< const vertex *> raw_const_vertices
Definition: vertex_fwd.hpp:27
Definition: event_collector.hpp:25
Definition: transition_step.hpp:33
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: exit_point.hpp:24
Definition: adapter_cpp11.hpp:21
virtual const entry_point * get_entry_point() const =0
virtual const exit_point * get_exit_point() const =0
Definition: vertex.hpp:36
virtual ~transition_step() SX_NOEXCEPT
Definition: transition_step.hpp:42
std::vector< transition *> raw_transitions
Definition: transition_fwd.hpp:30
virtual const raw_const_vertices get_target_vertices()=0
virtual void execute_transition_behaviors(const event &_event, event_collector &_event_collector) const =0
virtual const vertex & get_unique_source() const =0
virtual const vertex & get_unique_target() const =0
transition_step()
Definition: transition_step.hpp:36
virtual const raw_transitions & get_transitions() const =0
Definition: entry_point.hpp:24