Safir SDK Core
Loading...
Searching...
No Matches
ThisNodeParameters.h
Go to the documentation of this file.
1#pragma once
2
9
12
13#include <Safir/Utilities/Internal/VisibilityHelpers.h>
14
15#ifdef safir_generated_Core_cpp_EXPORTS
16# define SAFIR_GENERATED_Core_API SAFIR_HELPER_DLL_EXPORT
17#else
18# define SAFIR_GENERATED_Core_API SAFIR_HELPER_DLL_IMPORT
19# define SAFIR_LIBRARY_NAME "safir_generated-Core-cpp"
20# include <Safir/Utilities/Internal/AutoLink.h>
21#endif
22#define SAFIR_GENERATED_Core_API_LOCAL SAFIR_HELPER_DLL_LOCAL
23
27namespace Safir
28{
32namespace Dob
33{
34
35 class ThisNodeParameters; //forward declaration
36 typedef std::shared_ptr<ThisNodeParameters> ThisNodeParametersPtr;
37 typedef std::shared_ptr<const ThisNodeParameters> ThisNodeParametersConstPtr;
38
42
48 {
49 public:
50 //Constructors and Create routines
54
55 //Name
59 static std::wstring Name();
60
61 //NodeType
65 static std::wstring NodeType();
66
67 //ControlAddress
71 static std::wstring ControlAddress();
72
73 //DataAddress
77 static std::wstring DataAddress();
78
79 //Seeds
84 static const std::wstring Seeds(const Safir::Dob::Typesystem::ArrayIndex index);
85
87 static const Safir::Dob::Typesystem::TypeId ClassTypeId = 7177876786334465007LL;
88
89 //Type id for ThisNodeParameters
90 Safir::Dob::Typesystem::TypeId GetTypeId() const override {return ClassTypeId;}
91
92 //Check if anything in the object has change flags set
93 bool IsChanged() override;
94
95 //Recursively set all change flags in the object
96 void SetChanged(const bool changed) override;
97
98
99 //Reflection part (Don't use unless you really know what you're doing!!)
101 const Safir::Dob::Typesystem::ArrayIndex index) override;
103 const Safir::Dob::Typesystem::ArrayIndex index) const override;
104
105 void WriteToBlob(Safir::Dob::Typesystem::Int64 handle) const override;
107
108 private:
109
110#ifdef _MSC_VER
111#pragma warning (push)
112#pragma warning (disable : 4251)
113#endif
114
115
116#ifdef _MSC_VER
117#pragma warning (pop)
118#endif
119 };
120
121} // Dob
122} // Safir
123
124
#define SAFIR_GENERATED_Core_API
Definition BackdoorCommand.h:18
This namespace contains all the functionality and definitions of the SAFIR SDK.
Definition Backdoor.h:31
std::shared_ptr< const ThisNodeParameters > ThisNodeParametersConstPtr
Definition ThisNodeParameters.h:37
Safir::Dob::Typesystem::GenericObjectSequenceContainer< ThisNodeParameters > ThisNodeParametersSequenceContainer
Definition ThisNodeParameters.h:41
std::shared_ptr< ThisNodeParameters > ThisNodeParametersPtr
Definition ThisNodeParameters.h:36
Safir::Dob::Typesystem::ObjectContainerImpl< ThisNodeParameters > ThisNodeParametersContainer
Definition ThisNodeParameters.h:39
Safir::Dob::Typesystem::ArrayContainer< ThisNodeParametersContainer > ThisNodeParametersContainerArray
Definition ThisNodeParameters.h:40
DotsC_Int64 Int64
64 bit integer type.
Definition Defs.h:69
std::shared_ptr< Object > ObjectPtr
A smart pointer to an Object.
Definition Object.h:44
DotsC_ArrayIndex ArrayIndex
Index into an array.
Definition Defs.h:246
DotsC_TypeId TypeId
A unique type identifier.
Definition Defs.h:218
DotsC_MemberIndex MemberIndex
The index of a member in an object.
Definition Defs.h:237
STL container for arrays of DOB-containers.
Definition ArrayContainer.h:59
Base class for all Containers.
Definition ContainerBase.h:44
Template class for all containers of automatically generated DOB objects.
Definition ObjectContainer.h:190
This class is intended to be used as baseclass for classes that only contains parameters.
Definition Parametrization.h:46
Defines the settings for this particular node.
Definition ThisNodeParameters.h:48
static const std::wstring Seeds(const Safir::Dob::Typesystem::ArrayIndex index)
Address and port of seed nodes control channel.
void WriteToBlob(Safir::Dob::Typesystem::Int64 handle) const override
Write the object to a blob.
static std::wstring Name()
A nice name for this node.
void SetChanged(const bool changed) override
Recursively set change flags in all members of this object.
const Safir::Dob::Typesystem::ContainerBase & GetMember(const Safir::Dob::Typesystem::MemberIndex member, const Safir::Dob::Typesystem::ArrayIndex index) const override
Get a const reference to a member container from an object.
Safir::Dob::Typesystem::ContainerBase & GetMember(const Safir::Dob::Typesystem::MemberIndex member, const Safir::Dob::Typesystem::ArrayIndex index) override
Get a reference to a member container from an object.
Safir::Dob::Typesystem::TypeId GetTypeId() const override
Get the type id of this object.
Definition ThisNodeParameters.h:90
bool IsChanged() override
Check if any member of this object is changed.
static std::wstring DataAddress()
Address and port of the data channel.
static Safir::Dob::Typesystem::ArrayIndex SeedsArraySize()
ThisNodeParameters(Safir::Dob::Typesystem::Int64 handle)
static std::wstring ControlAddress()
Address and port of the control channel.
static ThisNodeParametersPtr Create()
static std::wstring NodeType()
Node type for this node.
Safir::Dob::Typesystem::ObjectPtr Clone() const override
Create a copy of the object.