diff options
author | Petr Mrázek <peterix@gmail.com> | 2018-03-11 23:00:54 +0100 |
---|---|---|
committer | Petr Mrázek <peterix@gmail.com> | 2018-03-13 00:28:51 +0100 |
commit | 82208be49eecc07f9c6a38365876c28273529192 (patch) | |
tree | f900b2acfc8f205208be4cc97abe3e3f4b109c20 /libraries/systeminfo/include | |
parent | b497aee9201541459cef41a68f572f9aed2d1dbb (diff) | |
download | PrismLauncher-82208be49eecc07f9c6a38365876c28273529192.tar.gz PrismLauncher-82208be49eecc07f9c6a38365876c28273529192.tar.bz2 PrismLauncher-82208be49eecc07f9c6a38365876c28273529192.zip |
NOISSUE add linux distro name and release stats to analytics
Hopefully this can serve as some sort of guideline for focusing
effort towards the right distro packages to make.
Diffstat (limited to 'libraries/systeminfo/include')
-rw-r--r-- | libraries/systeminfo/include/distroutils.h | 23 | ||||
-rw-r--r-- | libraries/systeminfo/include/sys.h | 29 |
2 files changed, 52 insertions, 0 deletions
diff --git a/libraries/systeminfo/include/distroutils.h b/libraries/systeminfo/include/distroutils.h new file mode 100644 index 00000000..5ff8d591 --- /dev/null +++ b/libraries/systeminfo/include/distroutils.h @@ -0,0 +1,23 @@ +#include "sys.h" +#include <QString> + +namespace Sys { +struct LsbInfo +{ + QString distributor; + QString version; + QString description; + QString codename; +}; + +bool main_lsb_info(LsbInfo & out); +bool fallback_lsb_info(Sys::LsbInfo & out); +void lsb_postprocess(Sys::LsbInfo & lsb, Sys::DistributionInfo & out); +Sys::DistributionInfo read_lsb_release(); + +QString _extract_distribution(const QString & x); +QString _extract_version(const QString & x); +Sys::DistributionInfo read_legacy_release(); + +Sys::DistributionInfo read_os_release(); +} diff --git a/libraries/systeminfo/include/sys.h b/libraries/systeminfo/include/sys.h index e40d9a92..c573eb53 100644 --- a/libraries/systeminfo/include/sys.h +++ b/libraries/systeminfo/include/sys.h @@ -12,6 +12,35 @@ struct KernelInfo KernelInfo getKernelInfo(); +struct DistributionInfo +{ + DistributionInfo operator+(const DistributionInfo& rhs) const + { + DistributionInfo out; + if(!distributionName.isEmpty()) + { + out.distributionName = distributionName; + } + else + { + out.distributionName = rhs.distributionName; + } + if(!distributionVersion.isEmpty()) + { + out.distributionVersion = distributionVersion; + } + else + { + out.distributionVersion = rhs.distributionVersion; + } + return out; + } + QString distributionName; + QString distributionVersion; +}; + +DistributionInfo getDistributionInfo(); + uint64_t getSystemRam(); bool isSystem64bit(); |