00001 00002 #ifndef DataFormats_Scalers_TimeSpec_h 00003 #define DataFormats_Scalers_TimeSpec_h 00004 00005 #include <ctime> 00006 00007 class TimeSpec { 00008 00009 public: 00010 00011 TimeSpec() : 00012 tv_sec_(0), 00013 tv_nsec_(0) {} 00014 00015 TimeSpec(long tv_sec, long tv_nsec) : 00016 tv_sec_(tv_sec), 00017 tv_nsec_(tv_nsec) {} 00018 00019 TimeSpec(timespec const& ts) : 00020 tv_sec_(static_cast<long>(ts.tv_sec)), 00021 tv_nsec_(static_cast<long>(ts.tv_nsec)) {} 00022 00023 long tv_sec() const { return tv_sec_; } 00024 long tv_nsec() const { return tv_nsec_; } 00025 00026 void set_tv_sec(long value) { tv_sec_ = value; } 00027 void set_tv_nsec(long value) { tv_nsec_ = value; } 00028 00029 timespec get_timespec() const; 00030 00031 private: 00032 00033 long tv_sec_; // seconds 00034 long tv_nsec_; // nanoseconds 00035 }; 00036 00037 #endif