Safir SDK Core
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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 #include <Safir/Utilities/Internal/VisibilityHelpers.h>
13 
14 #ifdef dots_generated_Safir_cpp_EXPORTS
15 # define DOTS_GENERATED_Safir_API SAFIR_HELPER_DLL_EXPORT
16 #else
17 # define DOTS_GENERATED_Safir_API SAFIR_HELPER_DLL_IMPORT
18 # define SAFIR_LIBRARY_NAME "dots_generated-Safir-cpp"
19 # include <Safir/Utilities/Internal/AutoLink.h>
20 #endif
21 #define DOTS_GENERATED_Safir_API_LOCAL SAFIR_HELPER_DLL_LOCAL
22 
26 namespace Safir
27 {
31 namespace Dob
32 {
33 
34  class ProcessInfo; //forward declaration
35  typedef boost::shared_ptr<ProcessInfo> ProcessInfoPtr;
36  typedef boost::shared_ptr<const ProcessInfo> ProcessInfoConstPtr;
37 
40 
46  {
47  public:
48  //Constructors and Create routines
49  ProcessInfo();
50  virtual Safir::Dob::Typesystem::ObjectPtr Clone() const;
51  static ProcessInfoPtr Create();
52 
53  //MaxNumberOfInstances
54  static Safir::Dob::Typesystem::Int32 MaxNumberOfInstances();
55 
56  //Name
57  static Safir::Dob::Typesystem::MemberIndex NameMemberIndex();
58  static Safir::Dob::Typesystem::Int32 NameMaxStringLength();
64 
65 
66  //Pid
67  static Safir::Dob::Typesystem::MemberIndex PidMemberIndex();
73 
74 
75  //ConnectionNames
76  static Safir::Dob::Typesystem::MemberIndex ConnectionNamesMemberIndex();
77  static Safir::Dob::Typesystem::Int32 ConnectionNamesMaxStringLength();
78  static Safir::Dob::Typesystem::ArrayIndex ConnectionNamesArraySize();
82  const Safir::Dob::Typesystem::StringContainerArray & ConnectionNames() const;
84 
85 
87  static const Safir::Dob::Typesystem::TypeId ClassTypeId = -7487716889645161527LL;
88 
89  //Type id for ProcessInfo
90  virtual Safir::Dob::Typesystem::TypeId GetTypeId() const {return ClassTypeId;}
91 
92  //Check if anything in the object has change flags set
93  virtual bool IsChanged();
94 
95  //Recursively set all change flags in the object
96  virtual void SetChanged(const bool changed);
97 
98 
99  //Reflection part (Don't use unless you really know what you're doing!!)
102  virtual const Safir::Dob::Typesystem::ContainerBase & GetMember(const Safir::Dob::Typesystem::MemberIndex member,
103  const Safir::Dob::Typesystem::ArrayIndex index) const;
104 
105  virtual Safir::Dob::Typesystem::Int32 CalculateBlobSize() const;
106  virtual void WriteToBlob(char * blob, char * & beginningOfUnused) const;
107  explicit ProcessInfo(char const * const blob);
108 
109  private:
110 
111 #ifdef _MSC_VER
112 #pragma warning (push)
113 #pragma warning (disable : 4251)
114 #endif
115 
118  Safir::Dob::Typesystem::StringContainerArray m_ConnectionNamesMember;
119 
120 #ifdef _MSC_VER
121 #pragma warning (pop)
122 #endif
123  };
124 
125 } // Dob
126 } // Safir
127 
128 #endif
129 
Displays one entity per process that is connected to the DOB.
Definition: ProcessInfo.h:45
Container for base types.
Definition: ValueContainers.h:60
Safir::Dob::Typesystem::ArrayContainer< ProcessInfoContainer > ProcessInfoContainerArray
Definition: ProcessInfo.h:39
boost::shared_ptr< ProcessInfo > ProcessInfoPtr
Definition: ProcessInfo.h:34
Definition: ContainerProxies.h:38
DotsC_TypeId TypeId
A unique type identifier.
Definition: Defs.h:219
virtual Safir::Dob::Typesystem::TypeId GetTypeId() const
Get the type id of this object.
Definition: ProcessInfo.h:90
boost::shared_ptr< const ProcessInfo > ProcessInfoConstPtr
Definition: ProcessInfo.h:36
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: ProcessInfo.h:38
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
#define DOTS_GENERATED_Safir_API
Definition: ProcessInfo.h:17
The baseclass for all entities.
Definition: Entity.h:43
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