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 #ifdef _MSC_VER
15 #ifdef DOTS_GENERATED_CPP_EXPORTS
16 #define GENERATED_API __declspec(dllexport)
17 #else
18 #define GENERATED_API __declspec(dllimport)
19 #ifdef _DEBUG
20 #pragma comment( lib, "dots_generated-Safir-cppd.lib" )
21 #else
22 #pragma comment( lib, "dots_generated-Safir-cpp.lib" )
23 #endif
24 #endif
25 #endif
26 #ifdef __GNUC__
27 #define GENERATED_API
28 #endif
29 
33 namespace Safir
34 {
38 namespace Utilities
39 {
43 namespace ForEach
44 {
45 
46  class UpdateRequest; //forward declaration
47  typedef boost::shared_ptr<UpdateRequest> UpdateRequestPtr;
48  typedef boost::shared_ptr<const UpdateRequest> UpdateRequestConstPtr;
49 
52 
57  class GENERATED_API UpdateRequest : public Safir::Dob::Service
58  {
59  public:
60  //Constructors and Create routines
61  UpdateRequest();
62  virtual Safir::Dob::Typesystem::ObjectPtr Clone() const;
63  static UpdateRequestPtr Create();
64 
65  //TemplateEntityRequest
66  static Safir::Dob::Typesystem::MemberIndex TemplateEntityRequestMemberIndex();
72 
73 
74  //ResponseType
75  static Safir::Dob::Typesystem::MemberIndex ResponseTypeMemberIndex();
81 
82 
83  //OperateOn
84  static Safir::Dob::Typesystem::MemberIndex OperateOnMemberIndex();
85  static Safir::Dob::Typesystem::ArrayIndex OperateOnArraySize();
89  const Safir::Dob::Typesystem::EntityIdContainerArray & OperateOn() const;
91 
92 
94  static const Safir::Dob::Typesystem::TypeId ClassTypeId = -7898186218975449827LL;
95 
96  //Type id for UpdateRequest
97  virtual Safir::Dob::Typesystem::TypeId GetTypeId() const {return ClassTypeId;}
98 
99  //Check if anything in the object has change flags set
100  virtual bool IsChanged();
101 
102  //Recursively set all change flags in the object
103  virtual void SetChanged(const bool changed);
104 
105 
106  //Reflection part (Don't use unless you really know what you're doing!!)
109  virtual const Safir::Dob::Typesystem::ContainerBase & GetMember(const Safir::Dob::Typesystem::MemberIndex member,
110  const Safir::Dob::Typesystem::ArrayIndex index) const;
111 
112  virtual Safir::Dob::Typesystem::Int32 CalculateBlobSize() const;
113  virtual void WriteToBlob(char * blob, char * & beginningOfUnused) const;
114  explicit UpdateRequest(char const * const blob);
115 
116  private:
117 
118 #ifdef _MSC_VER
119 #pragma warning (push)
120 #pragma warning (disable : 4251)
121 #endif
122 
123  Safir::Dob::EntityContainer m_TemplateEntityRequestMember;
126 
127 #ifdef _MSC_VER
128 #pragma warning (pop)
129 #endif
130  };
131 
132 } // ForEach
133 } // Utilities
134 } // Safir
135 
136 #endif
137 
Safir::Dob::Typesystem::ArrayContainer< UpdateRequestContainer > UpdateRequestContainerArray
Definition: UpdateRequest.h:51
Definition: ContainerProxies.h:38
DotsC_TypeId TypeId
A unique type identifier.
Definition: Dob/Typesystem/Defs.h:221
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: Dob/Typesystem/Defs.h:249
Definition of updating multiple objects using ForEach service request.
Definition: UpdateRequest.h:57
The baseclass for all services.
Definition: Service.h:48
boost::shared_ptr< UpdateRequest > UpdateRequestPtr
Definition: UpdateRequest.h:46
boost::shared_ptr< const UpdateRequest > UpdateRequestConstPtr
Definition: UpdateRequest.h:48
This enumeration has no summary.
Definition: ResponseType.h:45
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:97
STL container for arrays of DOB-containers.
Definition: ArrayContainer.h:58
DotsC_Int32 Int32
32 bit integer type.
Definition: Dob/Typesystem/Defs.h:69
Safir::Dob::Typesystem::ObjectContainerImpl< UpdateRequest > UpdateRequestContainer
Definition: UpdateRequest.h:50
DotsC_MemberIndex MemberIndex
The index of a member in an object.
Definition: Dob/Typesystem/Defs.h:240
static bool IsChanged(const ContainerBase &container)
Check if a container is changed.
Definition: ContainerBase.h:134