Safir SDK Core
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
QueueParameters.h
Go to the documentation of this file.
1 #ifndef SAFIR_DOB_QUEUEPARAMETERS_H_INCLUDED
2 #define SAFIR_DOB_QUEUEPARAMETERS_H_INCLUDED
3 
8 
10 #include <Safir/Dob/QueueRule.h>
12 
13 #ifdef _MSC_VER
14 #ifdef DOTS_GENERATED_CPP_EXPORTS
15 #define GENERATED_API __declspec(dllexport)
16 #else
17 #define GENERATED_API __declspec(dllimport)
18 #ifdef _DEBUG
19 #pragma comment( lib, "dots_generated-Safir-cppd.lib" )
20 #else
21 #pragma comment( lib, "dots_generated-Safir-cpp.lib" )
22 #endif
23 #endif
24 #endif
25 #ifdef __GNUC__
26 #define GENERATED_API
27 #endif
28 
32 namespace Safir
33 {
37 namespace Dob
38 {
39 
40  class QueueParameters; //forward declaration
41  typedef boost::shared_ptr<QueueParameters> QueueParametersPtr;
42  typedef boost::shared_ptr<const QueueParameters> QueueParametersConstPtr;
43 
46 
51  class GENERATED_API QueueParameters : public Safir::Dob::Parametrization
52  {
53  public:
54  //Constructors and Create routines
56  virtual Safir::Dob::Typesystem::ObjectPtr Clone() const;
57  static QueueParametersPtr Create();
58 
59  //QueueRules
60  static Safir::Dob::Typesystem::ArrayIndex QueueRulesArraySize();
61  static Safir::Dob::QueueRulePtr QueueRules(const Safir::Dob::Typesystem::ArrayIndex index);
62 
64  static const Safir::Dob::Typesystem::TypeId ClassTypeId = -7694244616325937120LL;
65 
66  //Type id for QueueParameters
67  virtual Safir::Dob::Typesystem::TypeId GetTypeId() const {return ClassTypeId;}
68 
69  //Check if anything in the object has change flags set
70  virtual bool IsChanged();
71 
72  //Recursively set all change flags in the object
73  virtual void SetChanged(const bool changed);
74 
75 
76  //Reflection part (Don't use unless you really know what you're doing!!)
80  const Safir::Dob::Typesystem::ArrayIndex index) const;
81 
82  virtual Safir::Dob::Typesystem::Int32 CalculateBlobSize() const;
83  virtual void WriteToBlob(char * blob, char * & beginningOfUnused) const;
84  explicit QueueParameters(char const * const blob);
85 
86  private:
87 
88 #ifdef _MSC_VER
89 #pragma warning (push)
90 #pragma warning (disable : 4251)
91 #endif
92 
93 
94 #ifdef _MSC_VER
95 #pragma warning (pop)
96 #endif
97  };
98 
99 } // Dob
100 } // Safir
101 
102 #endif
103 
boost::shared_ptr< const QueueParameters > QueueParametersConstPtr
Definition: QueueParameters.h:42
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
Safir::Dob::Typesystem::ObjectContainerImpl< QueueParameters > QueueParametersContainer
Definition: QueueParameters.h:44
boost::shared_ptr< QueueRule > QueueRulePtr
Definition: QueueRule.h:39
This class is intended to be used as baseclass for classes that only contains parameters.
Definition: Parametrization.h:48
Base class for all Containers.
Definition: ContainerBase.h:41
virtual Safir::Dob::Typesystem::TypeId GetTypeId() const
Get the type id of this object.
Definition: QueueParameters.h:67
Safir::Dob::Typesystem::ArrayContainer< QueueParametersContainer > QueueParametersContainerArray
Definition: QueueParameters.h:45
boost::shared_ptr< QueueParameters > QueueParametersPtr
Definition: QueueParameters.h:40
Contains the parametrization of queue lengths used by a connection.
Definition: QueueParameters.h:51
STL container for arrays of DOB-containers.
Definition: ArrayContainer.h:58
DotsC_Int32 Int32
32 bit integer type.
Definition: Dob/Typesystem/Defs.h:69
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