]> git.tdb.fi Git - libs/core.git/blobdiff - source/time/timestamp.h
Select RawTime definition based on compiler, not platform
[libs/core.git] / source / time / timestamp.h
index db3587a253e915787aa6f643e80d02124b6f49cc..8c16ee32c28d598f17cb1a9c935e315de2f0be45 100644 (file)
@@ -9,7 +9,7 @@ Distributed under the LGPL
 #define MSP_TIME_TIMESTAMP_H_
 
 #include "timedelta.h"
-#include "types.h"
+#include "rawtime.h"
 
 namespace Msp {
 namespace Time {
@@ -44,7 +44,7 @@ public:
        */
        RawTime raw() const { return usec; }
 
-       time_t to_unixtime() { return usec/1000000LL; }
+       time_t to_unixtime() const { return usec/1000000LL; }
 
        TimeStamp operator+(const TimeDelta &t) const  { return TimeStamp(usec+t.raw()); }
        TimeStamp &operator+=(const TimeDelta &t)      { usec+=t.raw(); return *this; }
@@ -61,6 +61,11 @@ public:
 
        operator const void *() const                  { return usec>0 ? this : 0; }
 
+#ifndef WIN32
+       operator timeval() const { return rawtime_to_timeval(usec); }
+       operator timespec() const { return rawtime_to_timespec(usec); }
+#endif
+
        static TimeStamp from_unixtime(time_t t) { return TimeStamp(t*1000000LL); }
 };