Remoting
Core
vtkPVSystemInformation.h
Go to the documentation of this file.
1
/*=========================================================================
2
3
Program: ParaView
4
Module: $RCSfile$
5
6
Copyright (c) Kitware, Inc.
7
All rights reserved.
8
See Copyright.txt or http://www.paraview.org/HTML/Copyright.html for details.
9
10
This software is distributed WITHOUT ANY WARRANTY; without even
11
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12
PURPOSE. See the above copyright notice for more information.
13
14
=========================================================================*/
25
#ifndef vtkPVSystemInformation_h
26
#define vtkPVSystemInformation_h
27
28
#include "
vtkPVInformation.h
"
29
#include "
vtkProcessModule.h
"
// needed for vtkProcessModule::ProcessTypes
30
#include "
vtkRemotingCoreModule.h
"
//needed for exports
31
#include <vector>
// needed for std::vector
32
33
class
VTKREMOTINGCORE_EXPORT
vtkPVSystemInformation
:
public
vtkPVInformation
34
{
35
public
:
36
static
vtkPVSystemInformation
*
New
();
37
vtkTypeMacro(
vtkPVSystemInformation
,
vtkPVInformation
);
38
void
PrintSelf
(ostream& os,
vtkIndent
indent)
override
;
39
43
void
CopyFromObject
(
vtkObject
*)
override
;
44
48
void
AddInformation
(
vtkPVInformation
*)
override
;
49
51
54
void
CopyToStream
(
vtkClientServerStream
*)
override
;
55
void
CopyFromStream
(
const
vtkClientServerStream
*)
override
;
57
58
struct
SystemInformationType
59
{
60
vtkProcessModule::ProcessTypes
ProcessType
;
61
int
ProcessId
;
// for parallel processes, this indicates the process id.
62
int
NumberOfProcesses
;
63
std::string
Hostname
;
64
std::string
OSName
;
65
std::string
OSRelease
;
66
std::string
OSVersion
;
67
std::string
OSPlatform
;
68
bool
Is64Bits
;
69
unsigned
int
NumberOfPhyicalCPUs
;
70
unsigned
int
NumberOfLogicalCPUs
;
// per physical cpu
71
size_t
TotalPhysicalMemory
;
72
size_t
AvailablePhysicalMemory
;
73
size_t
TotalVirtualMemory
;
74
size_t
AvailableVirtualMemory
;
75
};
76
77
// Provides access to the vector of information.
78
const
std::vector<SystemInformationType>&
GetSystemInformations
()
79
{
80
return
this->SystemInformations;
81
}
82
83
protected
:
84
vtkPVSystemInformation
();
85
~
vtkPVSystemInformation
()
override
;
86
87
std::vector<SystemInformationType>
SystemInformations
;
88
89
private
:
90
vtkPVSystemInformation
(
const
vtkPVSystemInformation
&) =
delete
;
91
void
operator=(
const
vtkPVSystemInformation
&) =
delete
;
92
};
93
94
#endif
vtkPVSystemInformation::SystemInformationType::OSName
std::string OSName
Definition:
vtkPVSystemInformation.h:64
vtkPVInformation::CopyFromStream
virtual void CopyFromStream(const vtkClientServerStream *)
Manage a serialized version of the information.
vtkObject
vtkPVSystemInformation
Information object used to collect miscellaneous system and memory information from all processes...
Definition:
vtkPVSystemInformation.h:33
vtkRemotingCoreModule.h
vtkPVInformation::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
vtkPVSystemInformation::SystemInformationType::TotalPhysicalMemory
size_t TotalPhysicalMemory
Definition:
vtkPVSystemInformation.h:71
vtkPVSystemInformation::SystemInformationType::TotalVirtualMemory
size_t TotalVirtualMemory
Definition:
vtkPVSystemInformation.h:73
vtkPVSystemInformation::SystemInformationType::ProcessType
vtkProcessModule::ProcessTypes ProcessType
Definition:
vtkPVSystemInformation.h:60
vtkPVSystemInformation::SystemInformationType::NumberOfPhyicalCPUs
unsigned int NumberOfPhyicalCPUs
Definition:
vtkPVSystemInformation.h:69
vtkPVSystemInformation::SystemInformationType::AvailablePhysicalMemory
size_t AvailablePhysicalMemory
Definition:
vtkPVSystemInformation.h:72
vtkClientServerStream
Store messages for the interpreter.
Definition:
vtkClientServerStream.h:35
vtkPVSystemInformation::SystemInformationType::OSPlatform
std::string OSPlatform
Definition:
vtkPVSystemInformation.h:67
vtkPVSystemInformation::SystemInformationType::NumberOfLogicalCPUs
unsigned int NumberOfLogicalCPUs
Definition:
vtkPVSystemInformation.h:70
vtkIndent
vtkPVSystemInformation::SystemInformationType::ProcessId
int ProcessId
Definition:
vtkPVSystemInformation.h:61
vtkPVSystemInformation::SystemInformationType::Is64Bits
bool Is64Bits
Definition:
vtkPVSystemInformation.h:68
vtkPVSystemInformation::SystemInformations
std::vector< SystemInformationType > SystemInformations
Definition:
vtkPVSystemInformation.h:87
vtkPVSystemInformation::SystemInformationType::NumberOfProcesses
int NumberOfProcesses
Definition:
vtkPVSystemInformation.h:62
vtkPVSystemInformation::GetSystemInformations
const std::vector< SystemInformationType > & GetSystemInformations()
Definition:
vtkPVSystemInformation.h:78
vtkPVSystemInformation::SystemInformationType::OSVersion
std::string OSVersion
Definition:
vtkPVSystemInformation.h:66
VTKREMOTINGCORE_EXPORT
#define VTKREMOTINGCORE_EXPORT
Definition:
vtkRemotingCoreModule.h:15
vtkProcessModule.h
vtkProcessModule::ProcessTypes
ProcessTypes
Definition:
vtkProcessModule.h:46
vtkPVInformation::AddInformation
virtual void AddInformation(vtkPVInformation *)
Merge another information object.
vtkPVInformation::CopyToStream
virtual void CopyToStream(vtkClientServerStream *)=0
Manage a serialized version of the information.
vtkPVInformation.h
vtkPVSystemInformation::SystemInformationType
Definition:
vtkPVSystemInformation.h:58
vtkPVInformation::CopyFromObject
virtual void CopyFromObject(vtkObject *)
Transfer information about a single object into this object.
vtkPVSystemInformation::SystemInformationType::AvailableVirtualMemory
size_t AvailableVirtualMemory
Definition:
vtkPVSystemInformation.h:74
vtkObject::New
static vtkObject * New()
vtkPVSystemInformation::SystemInformationType::OSRelease
std::string OSRelease
Definition:
vtkPVSystemInformation.h:65
vtkPVInformation
Superclass for information objects.
Definition:
vtkPVInformation.h:31
vtkPVSystemInformation::SystemInformationType::Hostname
std::string Hostname
Definition:
vtkPVSystemInformation.h:63
Generated by
1.8.13 on Mon Mar 27 2023