summaryrefslogtreecommitdiffstats
path: root/libraries/systeminfo/include
diff options
context:
space:
mode:
authorPetr Mrázek <peterix@gmail.com>2018-03-11 23:00:54 +0100
committerPetr Mrázek <peterix@gmail.com>2018-03-13 00:28:51 +0100
commit82208be49eecc07f9c6a38365876c28273529192 (patch)
treef900b2acfc8f205208be4cc97abe3e3f4b109c20 /libraries/systeminfo/include
parentb497aee9201541459cef41a68f572f9aed2d1dbb (diff)
downloadMultiMC-82208be49eecc07f9c6a38365876c28273529192.tar
MultiMC-82208be49eecc07f9c6a38365876c28273529192.tar.gz
MultiMC-82208be49eecc07f9c6a38365876c28273529192.tar.lz
MultiMC-82208be49eecc07f9c6a38365876c28273529192.tar.xz
MultiMC-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.h23
-rw-r--r--libraries/systeminfo/include/sys.h29
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();