yasmine
simple_state_base.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_BASE_804FA805_18CB_4778_8C90_9B7AB2023D3B
13 #define SIMPLE_STATE_BASE_804FA805_18CB_4778_8C90_9B7AB2023D3B
14 
15 
16 #include "simple_state.hpp"
17 #include "complex_state_impl.hpp"
18 
19 
20 namespace sxy
21 {
22 
23 
25  public virtual simple_state, public complex_state_impl
26 {
27 
28 
29 public:
30  simple_state_base( const std::string& _name, behavior_uptr _entry_action, behavior_uptr _exit_action,
31  const event_ids& _deferred_events, event_sptr _error_event );
32  virtual ~simple_state_base() SX_NOEXCEPT SX_OVERRIDE;
33  SX_NO_COPY(simple_state_base)
34  virtual const regions& get_regions() const SX_OVERRIDE;
35  virtual regions& get_regions() SX_OVERRIDE;
36  virtual void accept_vertex_visitor( const_vertex_visitor& _visitor ) const SX_OVERRIDE;
37  virtual void accept_vertex_visitor( vertex_visitor& _visitor ) SX_OVERRIDE;
38  virtual void accept_complex_state_visitor( complex_state_visitor& _visitor ) const SX_OVERRIDE;
39  virtual void accept_state_visitor( state_visitor& _visitor ) const SX_OVERRIDE;
40  virtual bool check( state_machine_defects& _defects ) const SX_OVERRIDE;
41  virtual bool has_error_event() const SX_OVERRIDE;
42  virtual event_sptr get_error_event() const SX_OVERRIDE;
43 
44 
45 private:
46  event_sptr error_event_;
47 };
48 
49 
50 }
51 
52 
53 #endif
Definition: simple_state_base.hpp:24
std::vector< state_machine_defect > state_machine_defects
Definition: state_machine_defect_fwd.hpp:23
virtual event_sptr get_error_event() const SX_OVERRIDE
Definition: simple_state_base.cpp:107
Definition: const_vertex_visitor.hpp:38
virtual void accept_state_visitor(state_visitor &_visitor) const SX_OVERRIDE
Definition: simple_state_base.cpp:75
Definition: adapter_cpp11.hpp:21
Definition: vertex_visitor.hpp:38
std::vector< region_uptr > regions
Definition: region_fwd.hpp:28
simple_state_base(const std::string &_name, behavior_uptr _entry_action, behavior_uptr _exit_action, const event_ids &_deferred_events, event_sptr _error_event)
Definition: simple_state_base.cpp:28
virtual bool check(state_machine_defects &_defects) const SX_OVERRIDE
Definition: simple_state_base.cpp:81
virtual ~simple_state_base() SX_NOEXCEPT SX_OVERRIDE
Definition: simple_state_base.cpp:37
Definition: simple_state.hpp:23
sxe::shared_ptr< event > event_sptr
Definition: event_fwd.hpp:25
Definition: complex_state_visitor.hpp:27
Definition: state_visitor.hpp:25
virtual void accept_complex_state_visitor(complex_state_visitor &_visitor) const SX_OVERRIDE
Definition: simple_state_base.cpp:69
Definition: complex_state_impl.hpp:25
virtual const regions & get_regions() const SX_OVERRIDE
Definition: simple_state_base.cpp:43
virtual bool has_error_event() const SX_OVERRIDE
Definition: simple_state_base.cpp:100
std::vector< event_id > event_ids
The type alias for yasmine&#39;s event ID list.
Definition: event_id.hpp:29
virtual void accept_vertex_visitor(const_vertex_visitor &_visitor) const SX_OVERRIDE
Definition: simple_state_base.cpp:57
sxe::SX_UNIQUE_PTR< behavior > behavior_uptr
Definition: behavior_fwd.hpp:25