diff options
Diffstat (limited to 'libraries/ganalytics')
-rw-r--r-- | libraries/ganalytics/CMakeLists.txt | 18 | ||||
-rw-r--r-- | libraries/ganalytics/include/sys.h | 19 | ||||
-rw-r--r-- | libraries/ganalytics/src/sys_apple.cpp | 41 | ||||
-rw-r--r-- | libraries/ganalytics/src/sys_test.cpp | 22 | ||||
-rw-r--r-- | libraries/ganalytics/src/sys_unix.cpp | 49 | ||||
-rw-r--r-- | libraries/ganalytics/src/sys_win32.cpp | 46 |
6 files changed, 1 insertions, 194 deletions
diff --git a/libraries/ganalytics/CMakeLists.txt b/libraries/ganalytics/CMakeLists.txt index 9d218c6d..26b1b47c 100644 --- a/libraries/ganalytics/CMakeLists.txt +++ b/libraries/ganalytics/CMakeLists.txt @@ -8,26 +8,10 @@ set(ganalytics_SOURCES src/ganalytics.cpp src/ganalytics_worker.cpp src/ganalytics_worker.h -include/sys.h include/ganalytics.h ) -if (WIN32) - list(APPEND ganalytics_SOURCES src/sys_win32.cpp) -elseif (UNIX) - if(APPLE) - list(APPEND ganalytics_SOURCES src/sys_apple.cpp) - else() - list(APPEND ganalytics_SOURCES src/sys_unix.cpp) - endif() -endif() - add_library(ganalytics STATIC ${ganalytics_SOURCES}) qt5_use_modules(ganalytics Core Gui Network) target_include_directories(ganalytics PUBLIC include) - -include (UnitTest) -add_unit_test(sys - SOURCES src/sys_test.cpp - LIBS ganalytics -) +target_link_libraries(ganalytics systeminfo) diff --git a/libraries/ganalytics/include/sys.h b/libraries/ganalytics/include/sys.h deleted file mode 100644 index 36f7d9cd..00000000 --- a/libraries/ganalytics/include/sys.h +++ /dev/null @@ -1,19 +0,0 @@ -#pragma once -#include <QString> - -namespace Sys -{ -struct KernelInfo -{ - QString kernelName; - QString kernelVersion; -}; - -KernelInfo getKernelInfo(); - -uint64_t getSystemRam(); - -bool isSystem64bit(); - -bool isCPU64bit(); -} diff --git a/libraries/ganalytics/src/sys_apple.cpp b/libraries/ganalytics/src/sys_apple.cpp deleted file mode 100644 index 49a61165..00000000 --- a/libraries/ganalytics/src/sys_apple.cpp +++ /dev/null @@ -1,41 +0,0 @@ -#include "sys.h" - -#include <sys/utsname.h> - -Sys::KernelInfo Sys::getKernelInfo() -{ - Sys::KernelInfo out; - struct utsname buf; - uname(&buf); - out.kernelName = buf.sysname; - out.kernelVersion = buf.release; - return out; -} - -#include <sys/sysctl.h> - -uint64_t Sys::getSystemRam() -{ - uint64_t memsize; - size_t memsizesize = sizeof(memsize); - if(!sysctlbyname("hw.memsize", &memsize, &memsizesize, NULL, 0)) - { - return memsize; - } - else - { - return 0; - } -} - -bool Sys::isCPU64bit() -{ - // not even going to pretend I'm going to support anything else - return true; -} - -bool Sys::isSystem64bit() -{ - // yep. maybe when we have 128bit CPUs on consumer devices. - return true; -} diff --git a/libraries/ganalytics/src/sys_test.cpp b/libraries/ganalytics/src/sys_test.cpp deleted file mode 100644 index 6221da45..00000000 --- a/libraries/ganalytics/src/sys_test.cpp +++ /dev/null @@ -1,22 +0,0 @@ -#include <QTest> -#include "TestUtil.h" - -#include <sys.h> - -class SysTest : public QObject -{ - Q_OBJECT -private -slots: - - void test_kernelNotNull() - { - auto kinfo = Sys::getKernelInfo(); - QVERIFY(!kinfo.kernelName.isEmpty()); - QVERIFY(kinfo.kernelVersion != "0.0"); - } -}; - -QTEST_GUILESS_MAIN(SysTest) - -#include "sys_test.moc" diff --git a/libraries/ganalytics/src/sys_unix.cpp b/libraries/ganalytics/src/sys_unix.cpp deleted file mode 100644 index 866c9fdb..00000000 --- a/libraries/ganalytics/src/sys_unix.cpp +++ /dev/null @@ -1,49 +0,0 @@ -#include "sys.h" - -#include <sys/utsname.h> -#include <fstream> - -Sys::KernelInfo Sys::getKernelInfo() -{ - Sys::KernelInfo out; - struct utsname buf; - uname(&buf); - out.kernelName = buf.sysname; - out.kernelVersion = buf.release; - return out; -} - -uint64_t Sys::getSystemRam() -{ - std::string token; - std::ifstream file("/proc/meminfo"); - while(file >> token) - { - if(token == "MemTotal:") - { - uint64_t mem; - if(file >> mem) - { - return mem * 1024ull; - } - else - { - return 0; - } - } - // ignore rest of the line - file.ignore(std::numeric_limits<std::streamsize>::max(), '\n'); - } - return 0; // nothing found -} - -bool Sys::isCPU64bit() -{ - return isSystem64bit(); -} - -bool Sys::isSystem64bit() -{ - // kernel build arch on linux - return QSysInfo::currentCpuArchitecture() == "x86_64"; -} diff --git a/libraries/ganalytics/src/sys_win32.cpp b/libraries/ganalytics/src/sys_win32.cpp deleted file mode 100644 index 502b980d..00000000 --- a/libraries/ganalytics/src/sys_win32.cpp +++ /dev/null @@ -1,46 +0,0 @@ -#include "sys.h" - -#include <windows.h> - -Sys::KernelInfo Sys::getKernelInfo() -{ - Sys::KernelInfo out; - out.kernelName = "Windows"; - OSVERSIONINFOW osvi; - ZeroMemory(&osvi, sizeof(OSVERSIONINFOW)); - osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFOW); - GetVersionExW(&osvi); - out.kernelVersion = QString("%1.%2").arg(osvi.dwMajorVersion).arg(osvi.dwMinorVersion); - return out; -} - -uint64_t Sys::getSystemRam() -{ - MEMORYSTATUSEX status; - status.dwLength = sizeof(status); - GlobalMemoryStatusEx( &status ); - // bytes - return (uint64_t)status.ullTotalPhys; -} - -bool Sys::isSystem64bit() -{ -#if defined(_WIN64) - return true; -#elif defined(_WIN32) - BOOL f64 = false; - return IsWow64Process(GetCurrentProcess(), &f64) && f64; -#else - // it's some other kind of system... - return false; -#endif -} - -bool Sys::isCPU64bit() -{ - SYSTEM_INFO info; - ZeroMemory(&info, sizeof(SYSTEM_INFO)); - GetNativeSystemInfo(&info); - auto arch = info.wProcessorArchitecture; - return arch == PROCESSOR_ARCHITECTURE_AMD64 || arch == PROCESSOR_ARCHITECTURE_IA64; -} |