vtkPVSystemInformation.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Kitware Inc.
2 // SPDX-License-Identifier: BSD-3-Clause
13 #ifndef vtkPVSystemInformation_h
14 #define vtkPVSystemInformation_h
15 
16 #include "vtkPVInformation.h"
17 #include "vtkProcessModule.h" // needed for vtkProcessModule::ProcessTypes
18 #include "vtkRemotingCoreModule.h" //needed for exports
19 #include <vector> // needed for std::vector
20 
21 class VTKREMOTINGCORE_EXPORT vtkPVSystemInformation : public vtkPVInformation
22 {
23 public:
24  static vtkPVSystemInformation* New();
26  void PrintSelf(ostream& os, vtkIndent indent) override;
27 
31  void CopyFromObject(vtkObject*) override;
32 
36  void AddInformation(vtkPVInformation*) override;
37 
39 
42  void CopyToStream(vtkClientServerStream*) override;
43  void CopyFromStream(const vtkClientServerStream*) override;
45 
47  {
49  int ProcessId; // for parallel processes, this indicates the process id.
51  std::string Hostname;
52  std::string OSName;
53  std::string OSRelease;
54  std::string OSVersion;
55  std::string OSPlatform;
56  bool Is64Bits;
57  unsigned int NumberOfPhyicalCPUs;
58  unsigned int NumberOfLogicalCPUs; // per physical cpu
63  };
64 
65  // Provides access to the vector of information.
66  const std::vector<SystemInformationType>& GetSystemInformations()
67  {
68  return this->SystemInformations;
69  }
70 
71 protected:
73  ~vtkPVSystemInformation() override;
74 
75  std::vector<SystemInformationType> SystemInformations;
76 
77 private:
79  void operator=(const vtkPVSystemInformation&) = delete;
80 };
81 
82 #endif
vtkPVSystemInformation::SystemInformationType::ProcessId
int ProcessId
Definition: vtkPVSystemInformation.h:49
vtkPVSystemInformation::SystemInformationType::Is64Bits
bool Is64Bits
Definition: vtkPVSystemInformation.h:56
vtkPVSystemInformation::SystemInformationType::AvailableVirtualMemory
size_t AvailableVirtualMemory
Definition: vtkPVSystemInformation.h:62
vtkPVInformation::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
vtkProcessModule.h
vtkPVSystemInformation::SystemInformationType::OSVersion
std::string OSVersion
Definition: vtkPVSystemInformation.h:54
vtkPVSystemInformation::SystemInformationType::Hostname
std::string Hostname
Definition: vtkPVSystemInformation.h:51
vtkObject::New
static vtkObject * New()
vtkPVSystemInformation::SystemInformationType::NumberOfPhyicalCPUs
unsigned int NumberOfPhyicalCPUs
Definition: vtkPVSystemInformation.h:57
vtkClientServerStream
Store messages for the interpreter.
Definition: vtkClientServerStream.h:23
vtkPVInformation.h
vtkObject
vtkPVInformation::operator=
void operator=(const vtkPVInformation &)=delete
vtkPVSystemInformation::SystemInformationType::TotalVirtualMemory
size_t TotalVirtualMemory
Definition: vtkPVSystemInformation.h:61
vtkPVSystemInformation::SystemInformations
std::vector< SystemInformationType > SystemInformations
Definition: vtkPVSystemInformation.h:75
vtkPVInformation::AddInformation
virtual void AddInformation(vtkPVInformation *)
Merge another information object.
vtkPVSystemInformation::SystemInformationType::OSName
std::string OSName
Definition: vtkPVSystemInformation.h:52
vtkIndent
vtkPVSystemInformation::SystemInformationType::AvailablePhysicalMemory
size_t AvailablePhysicalMemory
Definition: vtkPVSystemInformation.h:60
vtkProcessModule::ProcessTypes
ProcessTypes
Definition: vtkProcessModule.h:36
vtkPVInformation::CopyFromObject
virtual void CopyFromObject(vtkObject *)
Transfer information about a single object into this object.
vtkPVSystemInformation
Definition: vtkPVSystemInformation.h:21
vtkPVSystemInformation::SystemInformationType::OSPlatform
std::string OSPlatform
Definition: vtkPVSystemInformation.h:55
vtkPVSystemInformation::SystemInformationType::ProcessType
vtkProcessModule::ProcessTypes ProcessType
Definition: vtkPVSystemInformation.h:48
vtkPVInformation
Superclass for information objects.
Definition: vtkPVInformation.h:19
vtkPVSystemInformation::GetSystemInformations
const std::vector< SystemInformationType > & GetSystemInformations()
Definition: vtkPVSystemInformation.h:66
vtkPVSystemInformation::SystemInformationType::TotalPhysicalMemory
size_t TotalPhysicalMemory
Definition: vtkPVSystemInformation.h:59
vtkPVSystemInformation::SystemInformationType
Definition: vtkPVSystemInformation.h:46
vtkPVSystemInformation::SystemInformationType::OSRelease
std::string OSRelease
Definition: vtkPVSystemInformation.h:53
vtkPVInformation::CopyToStream
virtual void CopyToStream(vtkClientServerStream *)=0
Manage a serialized version of the information.
vtkPVSystemInformation::SystemInformationType::NumberOfLogicalCPUs
unsigned int NumberOfLogicalCPUs
Definition: vtkPVSystemInformation.h:58
vtkPVInformation::CopyFromStream
virtual void CopyFromStream(const vtkClientServerStream *)
Manage a serialized version of the information.
vtkPVSystemInformation::SystemInformationType::NumberOfProcesses
int NumberOfProcesses
Definition: vtkPVSystemInformation.h:50