summaryrefslogtreecommitdiffstats
path: root/src/app/system_linux.h
diff options
context:
space:
mode:
authorPiotr Dziwinski <piotrdz@gmail.com>2013-03-19 23:07:39 +0100
committerPiotr Dziwinski <piotrdz@gmail.com>2013-03-19 23:07:39 +0100
commit025bedecfb2c264b1f3d6a04de72160001173cc1 (patch)
treee6dc3af619e479c556153735c021d2f5e54d1fa7 /src/app/system_linux.h
parent4abcaae0f718ab861fcde194250b7ffe3bf1c521 (diff)
downloadcolobot-025bedecfb2c264b1f3d6a04de72160001173cc1.tar.gz
colobot-025bedecfb2c264b1f3d6a04de72160001173cc1.tar.bz2
colobot-025bedecfb2c264b1f3d6a04de72160001173cc1.zip
Refactored platform-specific code
Moved functions from .h to .cpp files
Diffstat (limited to 'src/app/system_linux.h')
-rw-r--r--src/app/system_linux.h71
1 files changed, 5 insertions, 66 deletions
diff --git a/src/app/system_linux.h b/src/app/system_linux.h
index 69893de..bc07c31 100644
--- a/src/app/system_linux.h
+++ b/src/app/system_linux.h
@@ -20,20 +20,11 @@
* \brief Linux-specific implementation of system functions
*/
-/* NOTE: code is contained in this header;
- * there is no separate .cpp module for simplicity */
+#include "app/system.h"
#include <sys/time.h>
-#include <time.h>
-#include <stdlib.h>
-SystemDialogResult SystemDialog_Linux(SystemDialogType type, const std::string& title, const std::string& message);
-
-void GetCurrentTimeStamp_Linux(SystemTimeStamp *stamp);
-long long GetTimeStampExactResolution_Linux();
-long long TimeStampExactDiff_Linux(SystemTimeStamp *before, SystemTimeStamp *after);
-
struct SystemTimeStamp
{
timespec clockTime;
@@ -45,60 +36,8 @@ struct SystemTimeStamp
};
-SystemDialogResult SystemDialog_Linux(SystemDialogType type, const std::string& title, const std::string& message)
-{
- std::string options = "";
- switch (type)
- {
- case SDT_INFO:
- default:
- options = "--info";
- break;
- case SDT_WARNING:
- options = "--warning";
- break;
- case SDT_ERROR:
- options = "--error";
- break;
- case SDT_YES_NO:
- options = "--question --ok-label=\"Yes\" --cancel-label=\"No\"";
- break;
- case SDT_OK_CANCEL:
- options = "--question --ok-label=\"OK\" --cancel-label=\"Cancel\"";
- break;
- }
-
- std::string command = "zenity " + options + " --text=\"" + message + "\" --title=\"" + title + "\"";
- int code = system(command.c_str());
-
- SystemDialogResult result = SDR_OK;
- switch (type)
- {
- case SDT_YES_NO:
- result = code ? SDR_NO : SDR_YES;
- break;
- case SDT_OK_CANCEL:
- result = code ? SDR_CANCEL : SDR_OK;
- break;
- default:
- break;
- }
-
- return result;
-}
-
-void GetCurrentTimeStamp_Linux(SystemTimeStamp *stamp)
-{
- clock_gettime(CLOCK_MONOTONIC, &stamp->clockTime);
-}
-
-long long GetTimeStampExactResolution_Linux()
-{
- return 1ll;
-}
+SystemDialogResult SystemDialog_Linux(SystemDialogType type, const std::string& title, const std::string& message);
-long long TimeStampExactDiff_Linux(SystemTimeStamp *before, SystemTimeStamp *after)
-{
- return (after->clockTime.tv_nsec - before->clockTime.tv_nsec) +
- (after->clockTime.tv_sec - before->clockTime.tv_sec) * 1000000000ll;
-}
+void GetCurrentTimeStamp_Linux(SystemTimeStamp *stamp);
+long long GetTimeStampExactResolution_Linux();
+long long TimeStampExactDiff_Linux(SystemTimeStamp *before, SystemTimeStamp *after);