Safir SDK Core
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
FullResponse.h
Go to the documentation of this file.
1 #ifndef SAFIR_UTILITIES_FOREACH_FULLRESPONSE_H_INCLUDED
2 #define SAFIR_UTILITIES_FOREACH_FULLRESPONSE_H_INCLUDED
3 
8 
9 #include <Safir/Dob/Response.h>
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 Utilities
33 {
37 namespace ForEach
38 {
39 
40  class FullResponse; //forward declaration
41  typedef boost::shared_ptr<FullResponse> FullResponsePtr;
42  typedef boost::shared_ptr<const FullResponse> FullResponseConstPtr;
43 
46 
52  {
53  public:
54  //Constructors and Create routines
55  FullResponse();
56  virtual Safir::Dob::Typesystem::ObjectPtr Clone() const;
57  static FullResponsePtr Create();
58 
59  //Response
60  static Safir::Dob::Typesystem::MemberIndex ResponseMemberIndex();
61  static Safir::Dob::Typesystem::ArrayIndex ResponseArraySize();
65  const Safir::Dob::ResponseContainerArray & Response() const;
67 
68 
70  static const Safir::Dob::Typesystem::TypeId ClassTypeId = 8333726638173011465LL;
71 
72  //Type id for FullResponse
73  virtual Safir::Dob::Typesystem::TypeId GetTypeId() const {return ClassTypeId;}
74 
75  //Check if anything in the object has change flags set
76  virtual bool IsChanged();
77 
78  //Recursively set all change flags in the object
79  virtual void SetChanged(const bool changed);
80 
81 
82  //Reflection part (Don't use unless you really know what you're doing!!)
86  const Safir::Dob::Typesystem::ArrayIndex index) const;
87 
88  virtual Safir::Dob::Typesystem::Int32 CalculateBlobSize() const;
89  virtual void WriteToBlob(char * blob, char * & beginningOfUnused) const;
90  explicit FullResponse(char const * const blob);
91 
92  private:
93 
94 #ifdef _MSC_VER
95 #pragma warning (push)
96 #pragma warning (disable : 4251)
97 #endif
98 
99  Safir::Dob::ResponseContainerArray m_ResponseMember;
100 
101 #ifdef _MSC_VER
102 #pragma warning (pop)
103 #endif
104  };
105 
106 } // ForEach
107 } // Utilities
108 } // Safir
109 
110 #endif
111 
Brief response for a ForEach service request.
Definition: BriefResponse.h:50
Full response for a ForEach service request.
Definition: FullResponse.h:51
Safir::Dob::Typesystem::ObjectContainerImpl< FullResponse > FullResponseContainer
Definition: FullResponse.h:44
#define DOTS_GENERATED_Safir_API
Definition: FullResponse.h:18
boost::shared_ptr< FullResponse > FullResponsePtr
Definition: FullResponse.h:40
Safir::Dob::Typesystem::ArrayContainer< FullResponseContainer > FullResponseContainerArray
Definition: FullResponse.h:45
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
virtual Safir::Dob::Typesystem::TypeId GetTypeId() const
Get the type id of this object.
Definition: FullResponse.h:73
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
Base class for all Containers.
Definition: ContainerBase.h:41
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
boost::shared_ptr< const FullResponse > FullResponseConstPtr
Definition: FullResponse.h:42