yasmine
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 SIMPLE_STATE_IMPL_F53AD7D0_4393_4F4A_9FB4_4D865E93C724
13 #define SIMPLE_STATE_IMPL_F53AD7D0_4393_4F4A_9FB4_4D865E93C724
14 
15 
16 #include "simple_state_base.hpp"
17 
18 
19 namespace sxy
20 {
21 
22 
23 class simple_state_impl SX_FINAL:
24  public simple_state_base
25 {
26 public:
27  explicit simple_state_impl( const std::string& _name, behavior_uptr do_action = behavior_uptr(),
28  behavior_uptr _entry_action = behavior_uptr(), behavior_uptr _exit_action = behavior_uptr(),
29  const event_ids& _deferred_events = event_ids(), event_sptr _error_event = event_sptr() );
30  virtual ~simple_state_impl() SX_NOEXCEPT SX_OVERRIDE;
31  SX_NO_COPY(simple_state_impl)
32  void execute_do_behavior( const event& _event, async_event_handler* const _async_event_handler,
33  event_collector& _event_collector ) const SX_OVERRIDE;
34 
35 private:
36  const behavior * get_do() const;
37 
38  behavior_uptr do_;
39 };
40 
41 
42 }
43 
44 
45 #endif
Definition: adapter_cpp11.hpp:21
sxe::shared_ptr< event > event_sptr
Definition: event_fwd.hpp:25
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