Safir SDK Core
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
UpdateRequest.h
Go to the documentation of this file.
1 #ifndef SAFIR_UTILITIES_FOREACH_UPDATEREQUEST_H_INCLUDED
2 #define SAFIR_UTILITIES_FOREACH_UPDATEREQUEST_H_INCLUDED
3 
8 
9 #include <Safir/Dob/Entity.h>
10 #include <Safir/Dob/Service.h>
13 
14 #include <Safir/Utilities/Internal/VisibilityHelpers.h>
15 
16 #ifdef dots_generated_Safir_cpp_EXPORTS
17 # define DOTS_GENERATED_Safir_API SAFIR_HELPER_DLL_EXPORT
18 #else
19 # define DOTS_GENERATED_Safir_API SAFIR_HELPER_DLL_IMPORT
20 # define SAFIR_LIBRARY_NAME "dots_generated-Safir-cpp"
21 # include <Safir/Utilities/Internal/AutoLink.h>
22 #endif
23 #define DOTS_GENERATED_Safir_API_LOCAL SAFIR_HELPER_DLL_LOCAL
24 
28 namespace Safir
29 {
33 namespace Utilities
34 {
38 namespace ForEach
39 {
40 
41  class UpdateRequest; //forward declaration
42  typedef boost::shared_ptr<UpdateRequest> UpdateRequestPtr;
43  typedef boost::shared_ptr<const UpdateRequest> UpdateRequestConstPtr;
44 
47 
53  {
54  public:
55  //Constructors and Create routines
56  UpdateRequest();
57  virtual Safir::Dob::Typesystem::ObjectPtr Clone() const;
58  static UpdateRequestPtr Create();
59 
60  //TemplateEntityRequest
61  static Safir::Dob::Typesystem::MemberIndex TemplateEntityRequestMemberIndex();
67 
68 
69  //ResponseType
70  static Safir::Dob::Typesystem::MemberIndex ResponseTypeMemberIndex();
76 
77 
78  //OperateOn
79  static Safir::Dob::Typesystem::MemberIndex OperateOnMemberIndex();
80  static Safir::Dob::Typesystem::ArrayIndex OperateOnArraySize();
84  const Safir::Dob::Typesystem::EntityIdContainerArray & OperateOn() const;
86 
87 
89  static const Safir::Dob::Typesystem::TypeId ClassTypeId = -7898186218975449827LL;
90 
91  //Type id for UpdateRequest
92  virtual Safir::Dob::Typesystem::TypeId GetTypeId() const {return ClassTypeId;}
93 
94  //Check if anything in the object has change flags set
95  virtual bool IsChanged();
96 
97  //Recursively set all change flags in the object
98  virtual void SetChanged(const bool changed);
99 
100 
101  //Reflection part (Don't use unless you really know what you're doing!!)
104  virtual const Safir::Dob::Typesystem::ContainerBase & GetMember(const Safir::Dob::Typesystem::MemberIndex member,
105  const Safir::Dob::Typesystem::ArrayIndex index) const;
106 
107  virtual Safir::Dob::Typesystem::Int32 CalculateBlobSize() const;
108  virtual void WriteToBlob(char * blob, char * & beginningOfUnused) const;
109  explicit UpdateRequest(char const * const blob);
110 
111  private:
112 
113 #ifdef _MSC_VER
114 #pragma warning (push)
115 #pragma warning (disable : 4251)
116 #endif
117 
118  Safir::Dob::EntityContainer m_TemplateEntityRequestMember;
121 
122 #ifdef _MSC_VER
123 #pragma warning (pop)
124 #endif
125  };
126 
127 } // ForEach
128 } // Utilities
129 } // Safir
130 
131 #endif
132 
Safir::Dob::Typesystem::ArrayContainer< UpdateRequestContainer > UpdateRequestContainerArray
Definition: UpdateRequest.h:46
Definition: ContainerProxies.h:38
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
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
Definition of updating multiple objects using ForEach service request.
Definition: UpdateRequest.h:52
The baseclass for all services.
Definition: Service.h:43
boost::shared_ptr< UpdateRequest > UpdateRequestPtr
Definition: UpdateRequest.h:41
boost::shared_ptr< const UpdateRequest > UpdateRequestConstPtr
Definition: UpdateRequest.h:43
This enumeration has no summary.
Definition: ResponseType.h:40
Base class for all Containers.
Definition: ContainerBase.h:41
virtual Safir::Dob::Typesystem::TypeId GetTypeId() const
Get the type id of this object.
Definition: UpdateRequest.h:92
#define DOTS_GENERATED_Safir_API
Definition: UpdateRequest.h:19
STL container for arrays of DOB-containers.
Definition: ArrayContainer.h:58
DotsC_Int32 Int32
32 bit integer type.
Definition: Defs.h:67
Safir::Dob::Typesystem::ObjectContainerImpl< UpdateRequest > UpdateRequestContainer
Definition: UpdateRequest.h:45
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