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 "helpers/logging.h"
3 
6 };
7 
15 class SystemInfo {
16 
17 public:
18  void operator=(const SystemInfo&) = delete;
19 
20 
32  static std::string GetPlatform();
33 
34 
43  static bool IsMobile();
44 
45  // TODO: implement
46  static std::string GetDeviceType();
47 
48  // TODO: implement
49  static std::string GetDeviceName();
50 
51  // TODO: implement
52  static std::string GetDeviceModel();
53 
54  // TODO: implement
55  static std::string GetDeviceUniqueIdentifier();
56 
69  static int GetBatteryPercentage();
70 
71 
72 private:
73  SystemInfo() = default;
74 };
75 
76 
77 extern "C" {
78 
79  const char* DeviceName_Injected();
80 
81  const char* DeviceModel_Injected();
82 
83  const char* DeviceUniqueIdentifier_Injected();
84 }
SystemInfo class.
Definition: system_info.h:15
static bool IsMobile()
Check if the app is running on a mobile device.
Definition: system_info.cpp:9
void operator=(const SystemInfo &)=delete
static std::string GetDeviceModel()
Definition: system_info.cpp:25
static int GetBatteryPercentage()
Get the battery percentage.
Definition: system_info.cpp:33
static std::string GetDeviceName()
Definition: system_info.cpp:20
static std::string GetPlatform()
Get the current platform.
Definition: system_info.cpp:4
static std::string GetDeviceType()
static std::string GetDeviceUniqueIdentifier()
Definition: system_info.cpp:29
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