diff options
author | Piotr Dziwinski <piotrdz@gmail.com> | 2013-03-19 23:07:39 +0100 |
---|---|---|
committer | Piotr Dziwinski <piotrdz@gmail.com> | 2013-03-19 23:07:39 +0100 |
commit | 025bedecfb2c264b1f3d6a04de72160001173cc1 (patch) | |
tree | e6dc3af619e479c556153735c021d2f5e54d1fa7 /src/app/system_linux.h | |
parent | 4abcaae0f718ab861fcde194250b7ffe3bf1c521 (diff) | |
download | colobot-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.h | 71 |
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); |