aboutsummaryrefslogtreecommitdiffstats
path: root/src/libs/utils/hostosinfo.h
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@nokia.com>2012-08-30 20:47:19 +0200
committerhjk <qthjk@ovi.com>2012-08-31 08:43:28 +0200
commit91d81443ed53a8c4f1b5f592d3a0a9d2bc6d4ab2 (patch)
tree636590030639b64ec5c02e9c3eb93da5704231e9 /src/libs/utils/hostosinfo.h
parenta897a3b00a2010ce291c3060d2a77e3668fc1621 (diff)
make Utils::HostOsInfo have zero runtime cost
Change-Id: I2d5bf2324a81bedcbe6ea0bb8d8a0eead94e52e4 Reviewed-by: hjk <qthjk@ovi.com>
Diffstat (limited to 'src/libs/utils/hostosinfo.h')
-rw-r--r--src/libs/utils/hostosinfo.h28
1 files changed, 26 insertions, 2 deletions
diff --git a/src/libs/utils/hostosinfo.h b/src/libs/utils/hostosinfo.h
index e456ff7e73f..84df1f05479 100644
--- a/src/libs/utils/hostosinfo.h
+++ b/src/libs/utils/hostosinfo.h
@@ -40,14 +40,38 @@ public:
// Add more as needed.
enum HostOs { HostOsWindows, HostOsLinux, HostOsMac, HostOsOtherUnix, HostOsOther };
- static HostOs hostOs();
+ static inline HostOs hostOs();
static bool isWindowsHost() { return hostOs() == HostOsWindows; }
static bool isLinuxHost() { return hostOs() == HostOsLinux; }
static bool isMacHost() { return hostOs() == HostOsMac; }
- static bool isAnyUnixHost();
+ static inline bool isAnyUnixHost();
};
+HostOsInfo::HostOs HostOsInfo::hostOs()
+{
+#if defined(Q_OS_WIN)
+ return HostOsWindows;
+#elif defined(Q_OS_LINUX)
+ return HostOsLinux;
+#elif defined(Q_OS_MAC)
+ return HostOsMac;
+#elif defined(Q_OS_UNIX)
+ return HostOsOtherUnix;
+#else
+ return HostOsOther;
+#endif
+}
+
+bool HostOsInfo::isAnyUnixHost()
+{
+#ifdef Q_OS_UNIX
+ return true;
+#else
+ return false;
+#endif
+}
+
} // namespace Utils
#endif // HOSTOSINFO_H