]> 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 faa200c6590cb9ae14de30cc69286193fd83222f..8c16ee32c28d598f17cb1a9c935e315de2f0be45 100644 (file)
@@ -1,7 +1,7 @@
 /* $Id$
 
 This file is part of libmspcore     
-Copyright © 2006  Mikko Rasa, Mikkosoft Productions
+Copyright © 2006, 2009  Mikko Rasa, Mikkosoft Productions
 Distributed under the LGPL
 */
 
@@ -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,6 +44,8 @@ public:
        */
        RawTime raw() const { return usec; }
 
+       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; }
        TimeStamp operator-(const TimeDelta &t) const  { return TimeStamp(usec-t.raw()); }
@@ -59,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); }
 };