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 
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
virtual void CopyFromStream(const vtkClientServerStream *)
Manage a serialized version of the information.
Information object used to collect miscellaneous system and memory information from all processes...
void PrintSelf(ostream &os, vtkIndent indent) override
Store messages for the interpreter.
std::vector< SystemInformationType > SystemInformations
const std::vector< SystemInformationType > & GetSystemInformations()
#define VTKREMOTINGCORE_EXPORT
virtual void AddInformation(vtkPVInformation *)
Merge another information object.
virtual void CopyToStream(vtkClientServerStream *)=0
Manage a serialized version of the information.
virtual void CopyFromObject(vtkObject *)
Transfer information about a single object into this object.
static vtkObject * New()
Superclass for information objects.