Safir SDK Core
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Dob/ProcessInfo.h
Go to the documentation of this file.
1 #ifndef SAFIR_DOB_PROCESSINFO_H_INCLUDED
2 #define SAFIR_DOB_PROCESSINFO_H_INCLUDED
3 
8 
9 #include <Safir/Dob/Entity.h>
11 
12 #ifdef _MSC_VER
13 #ifdef DOTS_GENERATED_CPP_EXPORTS
14 #define GENERATED_API __declspec(dllexport)
15 #else
16 #define GENERATED_API __declspec(dllimport)
17 #ifdef _DEBUG
18 #pragma comment( lib, "dots_generated-Safir-cppd.lib" )
19 #else
20 #pragma comment( lib, "dots_generated-Safir-cpp.lib" )
21 #endif
22 #endif
23 #endif
24 #ifdef __GNUC__
25 #define GENERATED_API
26 #endif
27 
31 namespace Safir
32 {
36 namespace Dob
37 {
38 
39  class ProcessInfo; //forward declaration
40  typedef boost::shared_ptr<ProcessInfo> ProcessInfoPtr;
41  typedef boost::shared_ptr<const ProcessInfo> ProcessInfoConstPtr;
42 
45 
50  class GENERATED_API ProcessInfo : public Safir::Dob::Entity
51  {
52  public:
53  //Constructors and Create routines
54  ProcessInfo();
55  virtual Safir::Dob::Typesystem::ObjectPtr Clone() const;
56  static ProcessInfoPtr Create();
57 
58  //MaxNumberOfInstances
59  static Safir::Dob::Typesystem::Int32 MaxNumberOfInstances();
60 
61  //Name
62  static Safir::Dob::Typesystem::MemberIndex NameMemberIndex();
63  static Safir::Dob::Typesystem::Int32 NameMaxStringLength();
69 
70 
71  //Pid
72  static Safir::Dob::Typesystem::MemberIndex PidMemberIndex();
78 
79 
80  //ConnectionNames
81  static Safir::Dob::Typesystem::MemberIndex ConnectionNamesMemberIndex();
82  static Safir::Dob::Typesystem::Int32 ConnectionNamesMaxStringLength();
83  static Safir::Dob::Typesystem::ArrayIndex ConnectionNamesArraySize();
87  const Safir::Dob::Typesystem::StringContainerArray & ConnectionNames() const;
89 
90 
92  static const Safir::Dob::Typesystem::TypeId ClassTypeId = -7487716889645161527LL;
93 
94  //Type id for ProcessInfo
95  virtual Safir::Dob::Typesystem::TypeId GetTypeId() const {return ClassTypeId;}
96 
97  //Check if anything in the object has change flags set
98  virtual bool IsChanged();
99 
100  //Recursively set all change flags in the object
101  virtual void SetChanged(const bool changed);
102 
103 
104  //Reflection part (Don't use unless you really know what you're doing!!)
107  virtual const Safir::Dob::Typesystem::ContainerBase & GetMember(const Safir::Dob::Typesystem::MemberIndex member,
108  const Safir::Dob::Typesystem::ArrayIndex index) const;
109 
110  virtual Safir::Dob::Typesystem::Int32 CalculateBlobSize() const;
111  virtual void WriteToBlob(char * blob, char * & beginningOfUnused) const;
112  explicit ProcessInfo(char const * const blob);
113 
114  private:
115 
116 #ifdef _MSC_VER
117 #pragma warning (push)
118 #pragma warning (disable : 4251)
119 #endif
120 
123  Safir::Dob::Typesystem::StringContainerArray m_ConnectionNamesMember;
124 
125 #ifdef _MSC_VER
126 #pragma warning (pop)
127 #endif
128  };
129 
130 } // Dob
131 } // Safir
132 
133 #endif
134 
Displays one entity per process that is connected to the DOB.
Definition: Dob/ProcessInfo.h:50
Container for base types.
Definition: ValueContainers.h:60
Safir::Dob::Typesystem::ArrayContainer< ProcessInfoContainer > ProcessInfoContainerArray
Definition: Dob/ProcessInfo.h:44
boost::shared_ptr< ProcessInfo > ProcessInfoPtr
Definition: Dob/ProcessInfo.h:39
Definition: ContainerProxies.h:38
DotsC_TypeId TypeId
A unique type identifier.
Definition: Dob/Typesystem/Defs.h:221
virtual Safir::Dob::Typesystem::TypeId GetTypeId() const
Get the type id of this object.
Definition: Dob/ProcessInfo.h:95
boost::shared_ptr< const ProcessInfo > ProcessInfoConstPtr
Definition: Dob/ProcessInfo.h:41
Template class for all containers of automatically generated DOB objects.
Definition: ObjectContainer.h:185
Container for strings (std::wstring).
Definition: ValueContainers.h:128
Safir::Dob::Typesystem::ObjectContainerImpl< ProcessInfo > ProcessInfoContainer
Definition: Dob/ProcessInfo.h:43
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
Base class for all Containers.
Definition: ContainerBase.h:41
The baseclass for all entities.
Definition: Entity.h:48
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