Ember
A C++ 20 'game engine' built with SDL3 with wide platform support.
system_info.h
Go to the documentation of this file.
1 #pragma once
2 #include "systems/logging_sys.h"
3 
6 };
7 
16 class SystemInfo {
17 
18 public:
19  void operator=(const SystemInfo&) = delete;
20 
21 
33  static std::string platform_name();
34 
35 
44  static bool is_mobile();
45 
46  // TODO: implement
47  static std::string get_device_type();
48 
55  static std::string get_device_name();
56 
63  static std::string get_device_model();
64 
74  static std::string get_device_unique_identifier();
75 
88  static int get_battery_percentage();
89 
90 
91 private:
92  SystemInfo() = default;
93 };
94 
95 
96 extern "C" {
97 
98 const char* DeviceName_Injected();
99 
100 const char* DeviceModel_Injected();
101 
102 const char* DeviceUniqueIdentifier_Injected();
103 }
SystemInfo class.
Definition: system_info.h:16
static std::string platform_name()
Get the current platform.
Definition: system_info.cpp:4
void operator=(const SystemInfo &)=delete
static std::string get_device_type()
static bool is_mobile()
Check if the app is running on a mobile device.
Definition: system_info.cpp:9
static std::string get_device_unique_identifier()
get device UUID (cross-platform)
Definition: system_info.cpp:29
static std::string get_device_model()
get device model (cross-platform)
Definition: system_info.cpp:25
static std::string get_device_name()
get device name (cross-platform)
Definition: system_info.cpp:20
static int get_battery_percentage()
Get the battery percentage.
Definition: system_info.cpp:33
const char * DeviceModel_Injected()
Definition: system_info_android.c:9
const char * DeviceName_Injected()
Definition: system_info_android.c:4
BatteryLevel
Definition: system_info.h:4
@ BatteryLevel_Unknown
Definition: system_info.h:5
const char * DeviceUniqueIdentifier_Injected()
Definition: system_info_android.c:15