X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Scheduler%2FClockService.cci;h=f5369314462f01da5aba2555b3e2c5631f44c5e9;hb=ef4c5558d6a52367bd7040530d40c7616f6f5b71;hp=b0ab1ca9499a91d20bfeb2b8937fa816757bd22f;hpb=4ec38ecb3c79f853e9ebc92e30735e6fc62ac0c9;p=senf.git diff --git a/Scheduler/ClockService.cci b/Scheduler/ClockService.cci index b0ab1ca..f536931 100644 --- a/Scheduler/ClockService.cci +++ b/Scheduler/ClockService.cci @@ -1,8 +1,8 @@ // $Id$ // -// Copyright (C) 2007 -// Fraunhofer Institut fuer offene Kommunikationssysteme (FOKUS) -// Kompetenzzentrum fuer Satelitenkommunikation (SatCom) +// Copyright (C) 2007 +// Fraunhofer Institute for Open Communication Systems (FOKUS) +// Competence Center NETwork research (NET), St. Augustin, GERMANY // Stefan Bund // // This program is free software; you can redistribute it and/or modify @@ -24,7 +24,7 @@ \brief ClockService inline non-template implementation */ // Custom includes -#include "boost/date_time/posix_time/posix_time_types.hpp" +#include #define prefix_ inline ///////////////////////////////cci.p/////////////////////////////////////// @@ -47,41 +47,86 @@ prefix_ senf::ClockService::clock_type senf::ClockService::clock(abstime_type ti return instance().clock_m(time); } -prefix_ senf::ClockService::clock_type senf::ClockService::nanoseconds(clock_type v) +prefix_ senf::ClockService::clock_type senf::ClockService::from_time_t(time_t const & time) +{ + return clock( boost::posix_time::from_time_t(time) ); +} + +prefix_ senf::ClockService::clock_type senf::ClockService::from_timeval(timeval const & time) +{ + return from_time_t(time.tv_sec) + ClockService::microseconds(time.tv_usec); +} + +prefix_ senf::ClockService::clock_type senf::ClockService::nanoseconds(int64_type v) { return v; } -prefix_ senf::ClockService::clock_type senf::ClockService::microseconds(clock_type v) +prefix_ senf::ClockService::clock_type senf::ClockService::microseconds(int64_type v) { return v * nanoseconds(1000); } -prefix_ senf::ClockService::clock_type senf::ClockService::milliseconds(clock_type v) +prefix_ senf::ClockService::clock_type senf::ClockService::milliseconds(int64_type v) { return v * microseconds(1000); } -prefix_ senf::ClockService::clock_type senf::ClockService::seconds(clock_type v) +prefix_ senf::ClockService::clock_type senf::ClockService::seconds(int64_type v) { return v * milliseconds(1000); } -prefix_ senf::ClockService::clock_type senf::ClockService::minutes(clock_type v) +prefix_ senf::ClockService::clock_type senf::ClockService::minutes(int64_type v) { return v * seconds(60); } -prefix_ senf::ClockService::clock_type senf::ClockService::hours(clock_type v) +prefix_ senf::ClockService::clock_type senf::ClockService::hours(int64_type v) { return v * minutes(60); } -prefix_ senf::ClockService::clock_type senf::ClockService::days(clock_type v) +prefix_ senf::ClockService::clock_type senf::ClockService::days(int64_type v) { return v * hours(24); } +prefix_ senf::ClockService::clock_type senf::ClockService::in_nanoseconds(int64_type v) +{ + return v; +} + +prefix_ senf::ClockService::clock_type senf::ClockService::in_microseconds(int64_type v) +{ + return v / nanoseconds(1000); +} + +prefix_ senf::ClockService::clock_type senf::ClockService::in_milliseconds(int64_type v) +{ + return v / microseconds(1000); +} + +prefix_ senf::ClockService::clock_type senf::ClockService::in_seconds(int64_type v) +{ + return v / milliseconds(1000); +} + +prefix_ senf::ClockService::clock_type senf::ClockService::in_minutes(int64_type v) +{ + return v / seconds(60); +} + +prefix_ senf::ClockService::clock_type senf::ClockService::in_hours(int64_type v) +{ + return v / minutes(60); +} + +prefix_ senf::ClockService::clock_type senf::ClockService::in_days(int64_type v) +{ + return v / hours(24); +} + prefix_ void senf::ClockService::restart() { instance().restart_m();