PSystemInfo.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2015-2018 Digital Barriers plc. All rights reserved.
3  * Contact: http://www.digitalbarriers.com/
4  *
5  * This file is part of the Papillon SDK.
6  *
7  * You can't use, modify or distribute any part of this file without
8  * the explicit written agreements of Digital Barriers.
9  */
10 
15 #pragma once
16 #include <PapillonCommon.h>
17 
18 PAPILLON_BEGIN_NAMESPACE
19 
20 class PStringList;
21 
27 class PAPILLON_API_CORE PSystemInfo
28 {
29 public:
33  static void Log();
34 
38  static PString GetOS();
39 
44  static PString GetArchitecture();
45 
49  static PString GetCPU();
50 
54  static PString GetCPUInstructionSets();
55 
60  static int32 GetPhysicallyInstalledRAMInMB();
61 
65  static int32 GetTotalRAM();
66 
71  static PString GetGPU();
72 
77  static PResult GetNVidiaDriverVersion(int& major, int& minor);
78 
82  static PString GetMACAddress();
83 
87  static PStringList GetAllMACAddresses();
88 
94  static bool IsCudaCompatibleGPU(papillon::int32 major, papillon::int32 minor);
95 
100  static int GetCudaCompatibleGPU(papillon::int32 major, papillon::int32 minor);
101 
106  static void GetMemoryStatistics(float& currentMemoryUsageMB, float& peakMemoryUsageMB, papillon::uint32& pageFaultCount);
107 
111  static void GetPrimaryScreenResolution(papillon::int32& width, papillon::int32& height);
112 
113 private:
114  PSystemInfo();
115 };
116 
117 PAPILLON_END_NAMESPACE
The PString class provides an Unicode character strings.
Definition: PString.h:37
The PResult class represents the result returned by most of Papillon functions; this class is used to...
Definition: PResult.h:159
The PStringList class represents a list of PString; NOT thread-safe.
Definition: PStringList.h:26
The PSystemInfo class is an helper class to determine capabilities (CPU, RAM, GPU) of the host system...
Definition: PSystemInfo.h:27