From c9f52b7223685d2e7fca925594171f94dd8c6e3b Mon Sep 17 00:00:00 2001 From: TrickyLeifa Date: Wed, 15 May 2024 00:00:17 +0200 Subject: Ported to CMake, ... * Ported the project to CMake * Android and Mac support dropped for the time being. * Tests, BASS and Discord-RPC are now options * Restructured and reformated the project. * Merged `include` and `src` * Renamed `resource` to `data` * Renamed various files * External libraries headers are no longer included in `src` * Replaced header guards with #pragma once * Multiple refactors (keywords, headers) * Added Qt6 compatibility * Removed various unused functions and headers * Reworked AOPacket * When content is passed to AOPacket, it should be ensured that the content is already decoded. * Encoding/decoding are now static methods. * Fixed various memory leaks * Removed animation code for AOImage * AOImage is always using static images * Simplified ChatLogPiece --- src/hardware_functions.cpp | 81 ++++++++++++++++++++++++---------------------- 1 file changed, 43 insertions(+), 38 deletions(-) (limited to 'src/hardware_functions.cpp') diff --git a/src/hardware_functions.cpp b/src/hardware_functions.cpp index 14296803..67b5cafa 100644 --- a/src/hardware_functions.cpp +++ b/src/hardware_functions.cpp @@ -3,50 +3,54 @@ #include #include +#include + #if (defined(_WIN32) || defined(_WIN64)) +// clang-format off #include #include +// clang-format on QString get_hdid() { - HANDLE hToken; - HANDLE pHandle; - PTOKEN_USER pToken; - DWORD uSize = 0; - LPWSTR HDIDParam; - - pHandle = GetCurrentProcess(); - OpenProcessToken(pHandle, TOKEN_QUERY, &hToken); - if (!GetTokenInformation(hToken, (TOKEN_INFORMATION_CLASS)1, NULL, 0, &uSize)) + HANDLE hToken; + HANDLE pHandle; + PTOKEN_USER pToken; + DWORD uSize = 0; + LPWSTR HDIDParam; + + pHandle = GetCurrentProcess(); + OpenProcessToken(pHandle, TOKEN_QUERY, &hToken); + if (!GetTokenInformation(hToken, (TOKEN_INFORMATION_CLASS)1, NULL, 0, &uSize)) + { + if (GetLastError() != ERROR_INSUFFICIENT_BUFFER) { - if (GetLastError() != ERROR_INSUFFICIENT_BUFFER) { - CloseHandle(hToken); - return "gxsps32sa9fnwic92mfbs1"; - } + CloseHandle(hToken); + return "gxsps32sa9fnwic92mfbs1"; } + } - pToken = (PTOKEN_USER)GlobalAlloc(GPTR, uSize); - - if (!GetTokenInformation(hToken, (TOKEN_INFORMATION_CLASS)1, pToken, uSize, &uSize)) - { - CloseHandle(hToken); - return "gxsps32sa9fnwic92mfbs2"; - } + pToken = (PTOKEN_USER)GlobalAlloc(GPTR, uSize); - ConvertSidToStringSidW(pToken->User.Sid, &HDIDParam); - QString returnHDID = QString::fromWCharArray(HDIDParam); + if (!GetTokenInformation(hToken, (TOKEN_INFORMATION_CLASS)1, pToken, uSize, &uSize)) + { CloseHandle(hToken); - return returnHDID; + return "gxsps32sa9fnwic92mfbs2"; + } + + ConvertSidToStringSidW(pToken->User.Sid, &HDIDParam); + QString returnHDID = QString::fromWCharArray(HDIDParam); + CloseHandle(hToken); + return returnHDID; } #elif defined(ANDROID) +#include + QString get_hdid() { - QAndroidJniObject appctx = QAndroidJniObject::callStaticObjectMethod("org/qtproject/qt5/android/QtNative", "activity", "()Landroid/app/Activity;").callObjectMethod("getApplicationContext","()Landroid/content/Context;"); - QAndroidJniObject androidId = QAndroidJniObject::callStaticObjectMethod("android/provider/Settings$Secure","getString", - "(Landroid/content/ContentResolver;Ljava/lang/String;)Ljava/lang/String;", - appctx.callObjectMethod("getContentResolver", "()Landroid/content/ContentResolver;").object(), - QAndroidJniObject::fromString("android_id").object()); - return androidId.toString(); + QAndroidJniObject appctx = QAndroidJniObject::callStaticObjectMethod("org/qtproject/qt5/android/QtNative", "activity", "()Landroid/app/Activity;").callObjectMethod("getApplicationContext", "()Landroid/content/Context;"); + QAndroidJniObject androidId = QAndroidJniObject::callStaticObjectMethod("android/provider/Settings$Secure", "getString", "(Landroid/content/ContentResolver;Ljava/lang/String;)Ljava/lang/String;", appctx.callObjectMethod("getContentResolver", "()Landroid/content/ContentResolver;").object(), QAndroidJniObject::fromString("android_id").object()); + return androidId.toString(); } #elif QT_VERSION < QT_VERSION_CHECK(5, 11, 0) #if (defined(LINUX) || defined(__linux__)) @@ -58,7 +62,8 @@ QString get_hdid() { machineId = QSysInfo::machineUniqueId(); - if (machineId.isEmpty()) { + if (machineId.isEmpty()) + { return "gxsps32sa9fnwic92mfbs2"; } return QString(machineId); @@ -74,16 +79,16 @@ QString get_hdid() CFStringRef serial; char buffer[64] = {0}; QString hdid; - io_service_t platformExpert = IOServiceGetMatchingService( - kIOMasterPortDefault, IOServiceMatching("IOPlatformExpertDevice")); - if (platformExpert) { - CFTypeRef serialNumberAsCFString = IORegistryEntryCreateCFProperty( - platformExpert, CFSTR(kIOPlatformSerialNumberKey), kCFAllocatorDefault, - 0); - if (serialNumberAsCFString) { + io_service_t platformExpert = IOServiceGetMatchingService(kIOMasterPortDefault, IOServiceMatching("IOPlatformExpertDevice")); + if (platformExpert) + { + CFTypeRef serialNumberAsCFString = IORegistryEntryCreateCFProperty(platformExpert, CFSTR(kIOPlatformSerialNumberKey), kCFAllocatorDefault, 0); + if (serialNumberAsCFString) + { serial = (CFStringRef)serialNumberAsCFString; } - if (CFStringGetCString(serial, buffer, 64, kCFStringEncodingUTF8)) { + if (CFStringGetCString(serial, buffer, 64, kCFStringEncodingUTF8)) + { hdid = buffer; } -- cgit