yasmine
state_machine_element_model.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 #ifndef STATE_MACHINE_ELEMENT_MODEL_34418F5F_B45F_4C66_BC45_41DF4FE3A0D0
12 #define STATE_MACHINE_ELEMENT_MODEL_34418F5F_B45F_4C66_BC45_41DF4FE3A0D0
13 
14 
15 #include "essentials/non_copyable.hpp"
16 
17 #include "model_element_type.hpp"
18 
19 
20 namespace sxe
21 {
22  class uri;
23 }
24 
25 
26 namespace sxy
27 {
28 
29 
30 namespace model
31 {
32 
33 
37 {
38 public:
40  {
41  // Nothing to do...
42  }
43 
44 
45  virtual ~state_machine_element_model() SX_NOEXCEPT
46  {
47  // Nothing to do...
48  }
49 
50 
51  SX_NO_COPY( state_machine_element_model )
52  virtual const std::string & get_name() const = 0;
53  virtual const sxe::uri get_uri() const = 0;
54  virtual model::model_element_type get_type() const = 0;
55  virtual const state_machine_element_model* get_parent() const = 0;
56  virtual void set_parent( const state_machine_element_model* _parent ) = 0;
57 };
58 
59 
60 }
61 
62 
63 }
64 
65 
66 #endif
model_element_type
Definition: model_element_type.hpp:29
Interface for an element in the state machine model.
Definition: state_machine_element_model.hpp:36
Definition: algorithm_parameters.hpp:16
Definition: state_machine_element_model.hpp:20
virtual ~state_machine_element_model() SX_NOEXCEPT
Definition: state_machine_element_model.hpp:45
state_machine_element_model()
Definition: state_machine_element_model.hpp:39