yasmine
async_simple_state_impl.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 ASYNC_SIMPLE_STATE_905AB129_358B_4868_8215_40BD3D95F9FD
13 #define ASYNC_SIMPLE_STATE_905AB129_358B_4868_8215_40BD3D95F9FD
14 
15 
16 #include "simple_state_base.hpp"
17 #include "async_behavior_fwd.hpp"
18 
19 
20 namespace sxy
21 {
22 
23 
24 class async_simple_state_impl SX_FINAL:
25  public simple_state_base
26 {
27 public:
28  explicit async_simple_state_impl( const std::string& _name, async_behavior_uptr _do_action,
29  behavior_uptr _entry_action = behavior_uptr(), behavior_uptr _exit_action = behavior_uptr(),
30  const event_ids& _deferred_events = event_ids(), event_sptr _error_event = event_sptr());
31  virtual ~async_simple_state_impl() SX_NOEXCEPT SX_OVERRIDE;
32  SX_NO_COPY(async_simple_state_impl)
33  void execute_do_behavior( const event& _event, async_event_handler* const _async_event_handler,
34  event_collector& _event_collector ) const SX_OVERRIDE;
35  void execute_exit_behavior( const event& _event, event_collector& _event_collector ) const SX_OVERRIDE;
36  void stop_do_behavior() const;
37 
38 
39 private:
41 };
42 
43 
44 }
45 
46 
47 #endif
Definition: event_collector.hpp:25
Definition: simple_state_base.hpp:24
Definition: async_simple_state_impl.hpp:24
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
sxe::shared_ptr< event > event_sptr
Definition: event_fwd.hpp:25
sxe::SX_UNIQUE_PTR< async_behavior > async_behavior_uptr
Definition: async_behavior_fwd.hpp:24
std::vector< event_id > event_ids
The type alias for yasmine&#39;s event ID list.
Definition: event_id.hpp:29
sxe::SX_UNIQUE_PTR< behavior > behavior_uptr
Definition: behavior_fwd.hpp:25