Safir SDK Core
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
NodeParameters.h
Go to the documentation of this file.
1 #ifndef SAFIR_DOB_NODEPARAMETERS_H_INCLUDED
2 #define SAFIR_DOB_NODEPARAMETERS_H_INCLUDED
3 
8 
12 
13 #include <Safir/Utilities/Internal/VisibilityHelpers.h>
14 
15 #ifdef dots_generated_Safir_cpp_EXPORTS
16 # define DOTS_GENERATED_Safir_API SAFIR_HELPER_DLL_EXPORT
17 #else
18 # define DOTS_GENERATED_Safir_API SAFIR_HELPER_DLL_IMPORT
19 # define SAFIR_LIBRARY_NAME "dots_generated-Safir-cpp"
20 # include <Safir/Utilities/Internal/AutoLink.h>
21 #endif
22 #define DOTS_GENERATED_Safir_API_LOCAL SAFIR_HELPER_DLL_LOCAL
23 
27 namespace Safir
28 {
32 namespace Dob
33 {
34 
35  class NodeParameters; //forward declaration
36  typedef boost::shared_ptr<NodeParameters> NodeParametersPtr;
37  typedef boost::shared_ptr<const NodeParameters> NodeParametersConstPtr;
38 
41 
47  {
48  public:
49  //Constructors and Create routines
51  virtual Safir::Dob::Typesystem::ObjectPtr Clone() const;
52  static NodeParametersPtr Create();
53 
54  //SystemId
58  static Safir::Dob::Typesystem::InstanceId SystemId();
59 
60  //SharedMemorySize
64  static Safir::Dob::Typesystem::Int32 SharedMemorySize();
65 
66  //NetworkAddress
70  static std::wstring NetworkAddress();
71 
72  //RoutingHops
76  static Safir::Dob::Typesystem::Int32 RoutingHops();
77 
78  //ThreadingWarningsEnabled
82  static bool ThreadingWarningsEnabled();
83 
84  //TerminateDoseMainWhenUnrecoverableError
88  static bool TerminateDoseMainWhenUnrecoverableError();
89 
90  //DoseMainThreadWatchdogTimeout
94  static Safir::Dob::Typesystem::Int32 DoseMainThreadWatchdogTimeout();
95 
96  //NumberOfContexts
100  static Safir::Dob::Typesystem::Int32 NumberOfContexts();
101 
102  //LocalContexts
103  static Safir::Dob::Typesystem::ArrayIndex LocalContextsArraySize();
107  static bool LocalContexts(const Safir::Dob::Typesystem::ArrayIndex index);
108 
109  //NumberOfNodes
113  static Safir::Dob::Typesystem::Int32 NumberOfNodes();
114 
115  //Nodes
116  static Safir::Dob::Typesystem::ArrayIndex NodesArraySize();
121 
123  static const Safir::Dob::Typesystem::TypeId ClassTypeId = -4532363161627336967LL;
124 
125  //Type id for NodeParameters
126  virtual Safir::Dob::Typesystem::TypeId GetTypeId() const {return ClassTypeId;}
127 
128  //Check if anything in the object has change flags set
129  virtual bool IsChanged();
130 
131  //Recursively set all change flags in the object
132  virtual void SetChanged(const bool changed);
133 
134 
135  //Reflection part (Don't use unless you really know what you're doing!!)
138  virtual const Safir::Dob::Typesystem::ContainerBase & GetMember(const Safir::Dob::Typesystem::MemberIndex member,
139  const Safir::Dob::Typesystem::ArrayIndex index) const;
140 
141  virtual Safir::Dob::Typesystem::Int32 CalculateBlobSize() const;
142  virtual void WriteToBlob(char * blob, char * & beginningOfUnused) const;
143  explicit NodeParameters(char const * const blob);
144 
145  private:
146 
147 #ifdef _MSC_VER
148 #pragma warning (push)
149 #pragma warning (disable : 4251)
150 #endif
151 
152 
153 #ifdef _MSC_VER
154 #pragma warning (pop)
155 #endif
156  };
157 
158 } // Dob
159 } // Safir
160 
161 #endif
162 
#define DOTS_GENERATED_Safir_API
Definition: NodeParameters.h:18
Safir::Dob::Typesystem::ObjectContainerImpl< NodeParameters > NodeParametersContainer
Definition: NodeParameters.h:39
Contains paramaters for all nodes in the system.
Definition: NodeParameters.h:46
boost::shared_ptr< NodeDefinition > NodeDefinitionPtr
Definition: NodeDefinition.h:34
boost::shared_ptr< const NodeParameters > NodeParametersConstPtr
Definition: NodeParameters.h:37
Class containing the identity of an instance.
Definition: InstanceId.h:47
DotsC_TypeId TypeId
A unique type identifier.
Definition: Defs.h:219
Template class for all containers of automatically generated DOB objects.
Definition: ObjectContainer.h:185
Safir::Dob::Typesystem::ArrayContainer< NodeParametersContainer > NodeParametersContainerArray
Definition: NodeParameters.h:40
boost::shared_ptr< Object > ObjectPtr
A smart pointer to an Object.
Definition: Object.h:41
DotsC_ArrayIndex ArrayIndex
Index into an array.
Definition: Defs.h:247
This class is intended to be used as baseclass for classes that only contains parameters.
Definition: Parametrization.h:43
boost::shared_ptr< NodeParameters > NodeParametersPtr
Definition: NodeParameters.h:35
Base class for all Containers.
Definition: ContainerBase.h:41
virtual Safir::Dob::Typesystem::TypeId GetTypeId() const
Get the type id of this object.
Definition: NodeParameters.h:126
STL container for arrays of DOB-containers.
Definition: ArrayContainer.h:58
DotsC_Int32 Int32
32 bit integer type.
Definition: Defs.h:67
DotsC_MemberIndex MemberIndex
The index of a member in an object.
Definition: Defs.h:238
static bool IsChanged(const ContainerBase &container)
Check if a container is changed.
Definition: ContainerBase.h:134