LMMS
Loading...
Searching...
No Matches
juce_SystemStats.h
Go to the documentation of this file.
1/*
2 ==============================================================================
3
4 This file is part of the JUCE library.
5 Copyright (c) 2022 - Raw Material Software Limited
6
7 JUCE is an open source library subject to commercial or open-source
8 licensing.
9
10 The code included in this file is provided under the terms of the ISC license
11 http://www.isc.org/downloads/software-support-policy/isc-license. Permission
12 To use, copy, modify, and/or distribute this software for any purpose with or
13 without fee is hereby granted provided that the above copyright notice and
14 this permission notice appear in all copies.
15
16 JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
17 EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
18 DISCLAIMED.
19
20 ==============================================================================
21*/
22
23namespace juce
24{
25
26//==============================================================================
33{
34public:
35 //==============================================================================
39 static String getJUCEVersion();
40
41 //==============================================================================
76
82 static OperatingSystemType getOperatingSystemType();
83
89 static String getOperatingSystemName();
90
92 static bool isOperatingSystem64Bit();
93
97 static String getEnvironmentVariable (const String& name, const String& defaultValue);
98
99 //==============================================================================
103 static String getLogonName();
104
109 static String getFullUserName();
110
112 static String getComputerName();
113
117 static String getUserLanguage();
118
122 static String getUserRegion();
123
129 static String getDisplayLanguage();
130
135 static String getDeviceDescription();
136
140 static String getDeviceManufacturer();
141
147 static StringArray getDeviceIdentifiers();
148
149 //==============================================================================
150 // CPU and memory information..
151
153 static int getNumCpus() noexcept;
154
156 static int getNumPhysicalCpus() noexcept;
157
162 static int getCpuSpeedInMegahertz();
163
167 static String getCpuVendor();
168
172 static String getCpuModel();
173
174 static bool hasMMX() noexcept;
175 static bool has3DNow() noexcept;
176 static bool hasFMA3() noexcept;
177 static bool hasFMA4() noexcept;
178 static bool hasSSE() noexcept;
179 static bool hasSSE2() noexcept;
180 static bool hasSSE3() noexcept;
181 static bool hasSSSE3() noexcept;
182 static bool hasSSE41() noexcept;
183 static bool hasSSE42() noexcept;
184 static bool hasAVX() noexcept;
185 static bool hasAVX2() noexcept;
186 static bool hasAVX512F() noexcept;
187 static bool hasAVX512BW() noexcept;
188 static bool hasAVX512CD() noexcept;
189 static bool hasAVX512DQ() noexcept;
190 static bool hasAVX512ER() noexcept;
191 static bool hasAVX512IFMA() noexcept;
192 static bool hasAVX512PF() noexcept;
193 static bool hasAVX512VBMI() noexcept;
194 static bool hasAVX512VL() noexcept;
195 static bool hasAVX512VPOPCNTDQ() noexcept;
196 static bool hasNeon() noexcept;
197
198 //==============================================================================
203 static int getMemorySizeInMegabytes();
204
208 static int getPageSize();
209
210 //==============================================================================
215 static String getStackBacktrace();
216
220 using CrashHandlerFunction = void(*)(void*);
221
229
234
235
236 //==============================================================================
237 #ifndef DOXYGEN
238 [[deprecated ("This method was spelt wrong! Please change your code to use getCpuSpeedInMegahertz instead.")]]
240 #endif
241
242private:
243 SystemStats() = delete; // uses only static methods
245};
246
247} // namespace juce
#define noexcept
Definition DistrhoDefines.h:72
#define final
Definition DistrhoDefines.h:74
Definition juce_StringArray.h:35
Definition juce_String.h:53
static void setApplicationCrashHandler(CrashHandlerFunction)
Definition juce_SystemStats.cpp:205
void(*)(void *) CrashHandlerFunction
Definition juce_SystemStats.h:220
static bool isRunningInAppExtensionSandbox() noexcept
Definition juce_SystemStats.cpp:225
SystemStats()=delete
static int getCpuSpeedInMegaherz()
Definition juce_SystemStats.h:239
OperatingSystemType
Definition juce_SystemStats.h:44
@ Android
Definition juce_SystemStats.h:52
@ MacOS_12
Definition juce_SystemStats.h:66
@ MacOSX_10_7
Definition juce_SystemStats.h:56
@ MacOSX_10_14
Definition juce_SystemStats.h:63
@ WASM
Definition juce_SystemStats.h:54
@ Windows8_1
Definition juce_SystemStats.h:73
@ MacOSX_10_11
Definition juce_SystemStats.h:60
@ MacOSX_10_10
Definition juce_SystemStats.h:59
@ Windows8_0
Definition juce_SystemStats.h:72
@ MacOS_11
Definition juce_SystemStats.h:65
@ Windows7
Definition juce_SystemStats.h:71
@ Linux
Definition juce_SystemStats.h:51
@ MacOSX_10_13
Definition juce_SystemStats.h:62
@ Windows10
Definition juce_SystemStats.h:74
@ iOS
Definition juce_SystemStats.h:53
@ WinVista
Definition juce_SystemStats.h:70
@ MacOSX_10_15
Definition juce_SystemStats.h:64
@ MacOSX_10_12
Definition juce_SystemStats.h:61
@ MacOSX_10_9
Definition juce_SystemStats.h:58
@ Win2000
Definition juce_SystemStats.h:68
@ MacOSX_10_8
Definition juce_SystemStats.h:57
@ MacOSX
Definition juce_SystemStats.h:47
@ UnknownOS
Definition juce_SystemStats.h:45
@ Windows
Definition juce_SystemStats.h:49
@ WinXP
Definition juce_SystemStats.h:69
static String getJUCEVersion()
Definition juce_SystemStats.cpp:26
static int getCpuSpeedInMegahertz()
Definition juce_linux_SystemStats.cpp:134
static const char * name
Definition pugl.h:1582
#define JUCE_DECLARE_NON_COPYABLE(className)
#define JUCE_API
Definition juce_StandardHeader.h:152
Definition carla_juce.cpp:31