X-Git-Url: https://git.teslayout.com/public/public/public/?a=blobdiff_plain;f=source%2Ftime%2Ffunctions.cpp;h=e3ef33d9463f570a8acde73793854d21cccc53b0;hb=7512c4429857d8b048c89ac94b9b631a5e912280;hp=b044fd2dba5e61848623e0991668fd9ccc432792;hpb=3e258840b15577cb8bda3cdedd0b9b88e16404b3;p=anna.git diff --git a/source/time/functions.cpp b/source/time/functions.cpp index b044fd2..e3ef33d 100644 --- a/source/time/functions.cpp +++ b/source/time/functions.cpp @@ -36,7 +36,7 @@ // Local #include -#include +#include // Standard #include // getenv @@ -49,27 +49,16 @@ namespace anna { namespace time { -TZ shell_local_tz; +Timezone SystemTimezone; unsigned long long int SecondsReference; } } void anna::time::functions::initialize() throw() { -//throw(anna::RuntimeException) { -// If the system is configured properly, the default time zone will be correct. You might set TZ if you are -// using a computer over a network from a different time zone, and would like times reported to you in the -// time zone local to you, rather than what is local to the computer. static bool cached = false; - if(!cached) { - // The getenv() function need not be reentrant. A function that is not required to be reentrant is not - // required to be thread-safe. - const char *local_tz = getenv("TZ"); - shell_local_tz.set(local_tz); -// if (shell_local_tz.isUnset()) -// std::cout << "'TZ' enviroment variable is not defined on shell (it shouldn't be necesary)" << std::endl; -// setControlPoint(); + SystemTimezone.set(getenv("TZ")); SecondsReference = 0; cached = true; } @@ -83,12 +72,12 @@ unsigned long long int anna::time::functions::getSecondsReference() throw() { return SecondsReference; } -const anna::time::TZ & anna::time::functions::getLocalTz(void) throw() { - return (shell_local_tz); +const anna::time::Timezone & anna::time::functions::getSystemTimezone(void) throw() { + return (SystemTimezone); } bool anna::time::functions::initialized(void) throw() { - return (shell_local_tz.isInitialized()); + return (SystemTimezone.isInitialized()); } unsigned long long int anna::time::functions::unixSeconds(void) throw() {