Safir SDK Core
Loading...
Searching...
No Matches
ErrorResponse.h
Go to the documentation of this file.
1#pragma once
2
9
10#include <Safir/Dob/Response.h>
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 ErrorResponse; //forward declaration
36 typedef std::shared_ptr<ErrorResponse> ErrorResponsePtr;
37 typedef std::shared_ptr<const ErrorResponse> ErrorResponseConstPtr;
38
42
48 {
49 public:
50 //Constructors and Create routines
54
59 const std::wstring & Code,
60 const std::wstring & AdditionalInfo);
61
62
63 //Code
71
72
73 //AdditionalInfo
81
82
84 static const Safir::Dob::Typesystem::TypeId ClassTypeId = -7584868728779966772LL;
85
86 //Type id for ErrorResponse
87 Safir::Dob::Typesystem::TypeId GetTypeId() const override {return ClassTypeId;}
88
89 //Check if anything in the object has change flags set
90 bool IsChanged() override;
91
92 //Recursively set all change flags in the object
93 void SetChanged(const bool changed) override;
94
95
96 //Reflection part (Don't use unless you really know what you're doing!!)
98 const Safir::Dob::Typesystem::ArrayIndex index) override;
100 const Safir::Dob::Typesystem::ArrayIndex index) const override;
101
102 void WriteToBlob(Safir::Dob::Typesystem::Int64 handle) const override;
104
105 private:
106
107#ifdef _MSC_VER
108#pragma warning (push)
109#pragma warning (disable : 4251)
110#endif
111
113 Safir::Dob::Typesystem::StringContainer m_AdditionalInfoMember;
114
115#ifdef _MSC_VER
116#pragma warning (pop)
117#endif
118 };
119
120} // Dob
121} // Safir
122
123
#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
Safir::Dob::Typesystem::GenericObjectSequenceContainer< ErrorResponse > ErrorResponseSequenceContainer
Definition ErrorResponse.h:41
Safir::Dob::Typesystem::ObjectContainerImpl< ErrorResponse > ErrorResponseContainer
Definition ErrorResponse.h:39
std::shared_ptr< const ErrorResponse > ErrorResponseConstPtr
Definition ErrorResponse.h:37
Safir::Dob::Typesystem::ArrayContainer< ErrorResponseContainer > ErrorResponseContainerArray
Definition ErrorResponse.h:40
std::shared_ptr< ErrorResponse > ErrorResponsePtr
Definition ErrorResponse.h:36
DotsC_Int32 Int32
32 bit integer type.
Definition Defs.h:66
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
Definition ContainerProxies.h:39
Template class for all containers of automatically generated DOB objects.
Definition ObjectContainer.h:190
Container for strings (std::wstring).
Definition ValueContainers.h:127
The baseclass for all error responses.
Definition ErrorResponse.h:48
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.
void SetChanged(const bool changed) override
Recursively set change flags in all members of this object.
const Safir::Dob::Typesystem::ContainerProxy< Safir::Dob::Typesystem::StringContainer > AdditionalInfo() const
Extra information when applicable.
static Safir::Dob::Typesystem::Int32 CodeMaxStringLength()
void WriteToBlob(Safir::Dob::Typesystem::Int64 handle) const override
Write the object to a blob.
static Safir::Dob::Typesystem::MemberIndex CodeMemberIndex()
static Safir::Dob::Typesystem::Int32 AdditionalInfoMaxStringLength()
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.
static ErrorResponsePtr CreateErrorResponse(const std::wstring &Code, const std::wstring &AdditionalInfo)
Create an ErrorListResponse with one ResponseErrorInfo.
ErrorResponse(Safir::Dob::Typesystem::Int64 handle)
Safir::Dob::Typesystem::ContainerProxy< Safir::Dob::Typesystem::StringContainer > Code()
const Safir::Dob::Typesystem::ContainerProxy< Safir::Dob::Typesystem::StringContainer > Code() const
The error code.
Safir::Dob::Typesystem::ObjectPtr Clone() const override
Create a copy of the object.
bool IsChanged() override
Check if any member of this object is changed.
static ErrorResponsePtr Create()
static Safir::Dob::Typesystem::MemberIndex AdditionalInfoMemberIndex()
Safir::Dob::Typesystem::TypeId GetTypeId() const override
Get the type id of this object.
Definition ErrorResponse.h:87
Safir::Dob::Typesystem::ContainerProxy< Safir::Dob::Typesystem::StringContainer > AdditionalInfo()
The baseclass for all responses.
Definition Response.h:46