summaryrefslogtreecommitdiffstats
path: root/libraries/systeminfo/include
diff options
context:
space:
mode:
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();