yasmine
transition_executor.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_EXECUTOR_H_2521E4B8_B89E_4CCE_9751_F5B6BD515AD5
13 #define TRANSITION_EXECUTOR_H_2521E4B8_B89E_4CCE_9751_F5B6BD515AD5
14 
15 
16 #include "essentials/non_copyable.hpp"
17 
18 #include "choice_fwd.hpp"
21 #include "event_fwd.hpp"
22 
23 
24 namespace sxy
25 {
26 
27 
28 namespace impl
29 {
30 
32 
33 }
34 
35 
36 class composite_state;
39 class event_collector;
40 class interruptible;
41 
42 
43 class transition_executor SX_FINAL
44 {
45 public:
46  transition_executor();
47  ~transition_executor() SX_NOEXCEPT;
48  SX_NO_COPY(transition_executor)
49  bool check_sort_and_execute_transitions( const compound_transitions& _compound_transitions,
50  raw_const_choices& _verices, event_processing_callback* const _event_processing_callback,
51  const event& _event, events& _exception_events, async_event_handler* const _async_event_handler,
52  event_collector& _event_collector, const interruptible& _interruptible );
53 
54 
55 private:
56  impl::transition_executor_impl* transition_executor_impl_;
57 };
58 
59 
60 }
61 
62 
63 #endif
std::vector< compound_transition_uptr > compound_transitions
Definition: compound_transition_fwd.hpp:32
Definition: event_collector.hpp:25
Definition: composite_state.hpp:28
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: async_event_handler.hpp:22
Definition: adapter_cpp11.hpp:21
Definition: transition_executor_impl.hpp:45
Callback interface that is called by a state machine during event processing. See the different metho...
Definition: event_processing_callback.hpp:37
Definition: interruptible.hpp:22
std::vector< const choice *> raw_const_choices
Definition: choice_fwd.hpp:28
std::vector< event_sptr > events
Definition: event_fwd.hpp:27