Safir SDK Core
Loading...
Searching...
No Matches
CallbackId.h
Go to the documentation of this file.
1#pragma once
2
8#include <Safir/Utilities/Internal/VisibilityHelpers.h>
9
10#ifdef safir_generated_Core_cpp_EXPORTS
11# define SAFIR_GENERATED_Core_API SAFIR_HELPER_DLL_EXPORT
12#else
13# define SAFIR_GENERATED_Core_API SAFIR_HELPER_DLL_IMPORT
14# define SAFIR_LIBRARY_NAME "safir_generated-Core-cpp"
15# include <Safir/Utilities/Internal/AutoLink.h>
16#endif
17#define SAFIR_GENERATED_Core_API_LOCAL SAFIR_HELPER_DLL_LOCAL
18
22namespace Safir
23{
27namespace Dob
28{
29
33
35 {
61
62
65 static Enumeration Last();
66
69
70 static std::wstring ToString(const Enumeration enumVal);
71 static Enumeration ToValue(const std::wstring & valueString);
72
73 static const Safir::Dob::Typesystem::TypeId EnumerationTypeId = 5970308908204850637LL;
74 static const Safir::Dob::Typesystem::TypeId Checksum = -7711619466390804334LL;
75
76 //Check that there is no enumeration mismatch
77 //throws an exception if there is - ConfigurationErrorException
79
81 {
82 public:
84
85 //Will throw IllegalValueException if value is not in first .. last
87 {
88 if (value < FirstOrdinal() || value > LastOrdinal())
89 {
90 throw Safir::Dob::Typesystem::IllegalValueException(L"The enumerated type Safir.Dob.CallbackId does not have such a value",__WFILE__,__LINE__);
91 }
92 m_bIsNull = false;
93 m_bIsChanged = true;
94 m_Value = value;
95 }
96
98 {
99 if (IsNull())
100 {
101 throw Safir::Dob::Typesystem::NullException(L"Value is null",__WFILE__,__LINE__);
102 }
103 return m_Value;
104 }
105
106 //Will throw ConfigurationErrorException if there is an enumeration mismatch
107 void SetVal(const Enumeration value)
108 {
110 SetOrdinal(value);
111 }
112
113 //Will throw ConfigurationErrorException if there is an enumeration mismatch
115 {
117 return static_cast<Enumeration>(GetOrdinal());
118 }
119
120 //Will get the value if container is not null, else the supplied default value is returned.
122 {
124 return IsNull() ? defaultVal : static_cast<Enumeration>(GetOrdinal());
125 }
126
127 //compare an enumerationcontainer with a value, will return false if the container is null or the values are not equal
128 bool operator==(const Enumeration other) const
129 {CheckForMismatch(); return !IsNull() && m_Value == other;}
130
131 bool operator != (const Enumeration other) const
132 {return !(*this == other);}
133 };
134
137
138 };
139 static inline bool operator==(const CallbackId::Enumeration first, const CallbackId::EnumerationContainer& second)
140 {return second == first;}
141
142 static inline bool operator!=(const CallbackId::Enumeration first, const CallbackId::EnumerationContainer& second)
143 {return !(first == second);}
144
145} // Dob
146} // Safir
147
148
#define __WFILE__
Definition Exceptions.h:31
#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
static bool operator==(const CallbackId::Enumeration first, const CallbackId::EnumerationContainer &second)
Definition CallbackId.h:139
static bool operator!=(const CallbackId::Enumeration first, const CallbackId::EnumerationContainer &second)
Definition CallbackId.h:142
DotsC_EnumerationValue EnumerationValue
The ordinal value of an enumeration.
Definition Defs.h:270
DotsC_Int32 Int32
32 bit integer type.
Definition Defs.h:66
DotsC_TypeId TypeId
A unique type identifier.
Definition Defs.h:218
STL container for arrays of DOB-containers.
Definition ArrayContainer.h:59
bool m_bIsChanged
The variable containing the change flag.
Definition ContainerBase.h:134
Base class for containers of enumeration values.
Definition EnumerationContainerBase.h:51
bool IsNull() const override
Is the container set to null?
Definition EnumerationContainerBase.h:82
bool m_bIsNull
The null flag for the enumeration container.
Definition EnumerationContainerBase.h:126
EnumerationValue m_Value
The value of the enumeration container.
Definition EnumerationContainerBase.h:132
A parameter in the call was invalid.
Definition Exceptions.h:264
Thrown when an application attempts to get the value of a member that is null.
Definition Exceptions.h:396
Container for sequences of enumeration values.
Definition SequenceContainer.h:366
Ids for all callback routines for all Dob consumers.
Definition CallbackId.h:35
Safir::Dob::Typesystem::ArrayContainer< EnumerationContainer > EnumerationContainerArray
Definition CallbackId.h:135
static void CheckForMismatch(const Safir::Dob::Typesystem::TypeId checksum=Checksum)
static Safir::Dob::Typesystem::Int32 Size()
static Enumeration Last()
static std::wstring ToString(const Enumeration enumVal)
static const Safir::Dob::Typesystem::TypeId Checksum
Definition CallbackId.h:74
static const Safir::Dob::Typesystem::TypeId EnumerationTypeId
Definition CallbackId.h:73
static Safir::Dob::Typesystem::EnumerationValue LastOrdinal()
static Enumeration ToValue(const std::wstring &valueString)
static Safir::Dob::Typesystem::EnumerationValue FirstOrdinal()
Enumeration
Definition CallbackId.h:37
@ OnResponse
Definition CallbackId.h:50
@ OnInjectedUpdatedEntity
Definition CallbackId.h:44
@ OnCreateRequest
Definition CallbackId.h:40
@ OnCompletedRegistration
Definition CallbackId.h:39
@ OnUpdatedEntity
Definition CallbackId.h:57
@ OnUpdateRequest
Definition CallbackId.h:41
@ OnRevokedRegistration
Definition CallbackId.h:38
@ OnDeletedEntity
Definition CallbackId.h:58
@ OnStopOrder
Definition CallbackId.h:48
@ OnDeleteRequest
Definition CallbackId.h:42
@ OnNotMessageOverflow
Definition CallbackId.h:52
@ OnNotRequestOverflow
Definition CallbackId.h:51
@ OnInitialInjectionsDone
Definition CallbackId.h:46
@ OnUnregistered
Definition CallbackId.h:54
@ OnMessage
Definition CallbackId.h:55
@ None
Definition CallbackId.h:59
@ OnDoDispatch
Definition CallbackId.h:49
@ OnServiceRequest
Definition CallbackId.h:47
@ OnInjectedNewEntity
Definition CallbackId.h:43
@ OnNewEntity
Definition CallbackId.h:56
@ OnInjectedDeletedEntity
Definition CallbackId.h:45
@ OnRegistered
Definition CallbackId.h:53
static Enumeration First()
Safir::Dob::Typesystem::EnumerationSequenceContainer< CallbackId > EnumerationSequenceContainer
Definition CallbackId.h:136
Enumeration ContainedType
Definition CallbackId.h:83
void SetVal(const Enumeration value)
Definition CallbackId.h:107
Safir::Dob::Typesystem::EnumerationValue GetOrdinal() const override
Get the ordinal value of the enumeration container.
Definition CallbackId.h:97
Enumeration GetVal() const
Definition CallbackId.h:114
void SetOrdinal(const Safir::Dob::Typesystem::EnumerationValue value) override
Set the ordinal value of the enumeration container.
Definition CallbackId.h:86
Enumeration GetValOrDefault(const Enumeration defaultVal) const
Definition CallbackId.h:121
bool operator==(const Enumeration other) const
Definition CallbackId.h:128