diff options
Diffstat (limited to 'source/Host/common/TimeValue.cpp')
-rw-r--r-- | source/Host/common/TimeValue.cpp | 222 |
1 files changed, 0 insertions, 222 deletions
diff --git a/source/Host/common/TimeValue.cpp b/source/Host/common/TimeValue.cpp deleted file mode 100644 index b471a3dd1f15..000000000000 --- a/source/Host/common/TimeValue.cpp +++ /dev/null @@ -1,222 +0,0 @@ -//===-- TimeValue.cpp -------------------------------------------*- C++ -*-===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// - -#include "lldb/Host/TimeValue.h" -#include "lldb/Host/Config.h" - -// C Includes -#include <stddef.h> -#include <time.h> -#include <cstring> - -#ifdef _MSC_VER -#include "lldb/Host/windows/windows.h" -#endif - -// C++ Includes -// Other libraries and framework includes -// Project includes -#include "lldb/Core/Stream.h" - - -using namespace lldb_private; - -//---------------------------------------------------------------------- -// TimeValue constructor -//---------------------------------------------------------------------- -TimeValue::TimeValue() : - m_nano_seconds (0) -{ -} - -//---------------------------------------------------------------------- -// TimeValue copy constructor -//---------------------------------------------------------------------- -TimeValue::TimeValue(const TimeValue& rhs) : - m_nano_seconds (rhs.m_nano_seconds) -{ -} - -TimeValue::TimeValue(const struct timespec& ts) : - m_nano_seconds ((uint64_t) ts.tv_sec * NanoSecPerSec + ts.tv_nsec) -{ -} - -TimeValue::TimeValue(uint32_t seconds, uint32_t nanos) : - m_nano_seconds((uint64_t) seconds * NanoSecPerSec + nanos) -{ -} - -//---------------------------------------------------------------------- -// Destructor -//---------------------------------------------------------------------- -TimeValue::~TimeValue() -{ -} - - -uint64_t -TimeValue::GetAsNanoSecondsSinceJan1_1970() const -{ - return m_nano_seconds; -} - -uint64_t -TimeValue::GetAsMicroSecondsSinceJan1_1970() const -{ - return m_nano_seconds / NanoSecPerMicroSec; -} - -uint64_t -TimeValue::GetAsSecondsSinceJan1_1970() const -{ - return m_nano_seconds / NanoSecPerSec; -} - - - -struct timespec -TimeValue::GetAsTimeSpec () const -{ - struct timespec ts; - ts.tv_sec = m_nano_seconds / NanoSecPerSec; - ts.tv_nsec = m_nano_seconds % NanoSecPerSec; - return ts; -} - -void -TimeValue::Clear () -{ - m_nano_seconds = 0; -} - -bool -TimeValue::IsValid () const -{ - return m_nano_seconds != 0; -} - -void -TimeValue::OffsetWithSeconds (uint64_t sec) -{ - m_nano_seconds += sec * NanoSecPerSec; -} - -void -TimeValue::OffsetWithMicroSeconds (uint64_t usec) -{ - m_nano_seconds += usec * NanoSecPerMicroSec; -} - -void -TimeValue::OffsetWithNanoSeconds (uint64_t nsec) -{ - m_nano_seconds += nsec; -} - -TimeValue -TimeValue::Now() -{ - uint32_t seconds, nanoseconds; -#if _MSC_VER - SYSTEMTIME st; - GetSystemTime(&st); - nanoseconds = st.wMilliseconds * 1000000; - FILETIME ft; - SystemTimeToFileTime(&st, &ft); - - seconds = ((((uint64_t)ft.dwHighDateTime) << 32 | ft.dwLowDateTime) / 10000000) - 11644473600ULL; -#else - struct timeval tv; - gettimeofday(&tv, NULL); - seconds = tv.tv_sec; - nanoseconds = tv.tv_usec * NanoSecPerMicroSec; -#endif - TimeValue now(seconds, nanoseconds); - return now; -} - -//---------------------------------------------------------------------- -// TimeValue assignment operator -//---------------------------------------------------------------------- -const TimeValue& -TimeValue::operator=(const TimeValue& rhs) -{ - m_nano_seconds = rhs.m_nano_seconds; - return *this; -} - -void -TimeValue::Dump (Stream *s, uint32_t width) const -{ - if (s == NULL) - return; - -#ifndef LLDB_DISABLE_POSIX - char time_buf[32]; - time_t time = GetAsSecondsSinceJan1_1970(); - char *time_cstr = ::ctime_r(&time, time_buf); - if (time_cstr) - { - char *newline = ::strpbrk(time_cstr, "\n\r"); - if (newline) - *newline = '\0'; - if (width > 0) - s->Printf("%-*s", width, time_cstr); - else - s->PutCString(time_cstr); - } - else if (width > 0) - s->Printf("%-*s", width, ""); -#endif -} - -bool -lldb_private::operator == (const TimeValue &lhs, const TimeValue &rhs) -{ - return lhs.GetAsNanoSecondsSinceJan1_1970() == rhs.GetAsNanoSecondsSinceJan1_1970(); -} - -bool -lldb_private::operator != (const TimeValue &lhs, const TimeValue &rhs) -{ - return lhs.GetAsNanoSecondsSinceJan1_1970() != rhs.GetAsNanoSecondsSinceJan1_1970(); -} - -bool -lldb_private::operator < (const TimeValue &lhs, const TimeValue &rhs) -{ - return lhs.GetAsNanoSecondsSinceJan1_1970() < rhs.GetAsNanoSecondsSinceJan1_1970(); -} - -bool -lldb_private::operator <= (const TimeValue &lhs, const TimeValue &rhs) -{ - return lhs.GetAsNanoSecondsSinceJan1_1970() <= rhs.GetAsNanoSecondsSinceJan1_1970(); -} - -bool -lldb_private::operator > (const TimeValue &lhs, const TimeValue &rhs) -{ - return lhs.GetAsNanoSecondsSinceJan1_1970() > rhs.GetAsNanoSecondsSinceJan1_1970(); -} - -bool -lldb_private::operator >= (const TimeValue &lhs, const TimeValue &rhs) -{ - return lhs.GetAsNanoSecondsSinceJan1_1970() >= rhs.GetAsNanoSecondsSinceJan1_1970(); -} - -uint64_t -lldb_private::operator - (const TimeValue &lhs, const TimeValue &rhs) -{ - return lhs.GetAsNanoSecondsSinceJan1_1970() - rhs.GetAsNanoSecondsSinceJan1_1970(); -} - - |