- Tested with Eclipse, likely to work with other GDB/MI compatible GUIs. - Some but not all MI commands have been implemented. See MIReadme.txt for more info. - Written from scratch, no GPL code, based on LLDB Public API. - Built for Linux, Windows and OSX. Tested on Linux and Windows. - GDB/MI Command Reference, https://sourceware.org/gdb/onlinedocs/gdb/GDB_002fMI.html llvm-svn: 208972
110 lines
3.1 KiB
C++
110 lines
3.1 KiB
C++
//===-- MIUtilDateTimeStd.cpp -----------------------------------*- C++ -*-===//
|
|
//
|
|
// The LLVM Compiler Infrastructure
|
|
//
|
|
// This file is distributed under the University of Illinois Open Source
|
|
// License. See LICENSE.TXT for details.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
//++
|
|
// File: MIUtilDateTimeStd.cpp
|
|
//
|
|
// Overview: CMIUtilDateTimeStd implementation.
|
|
//
|
|
// Environment: Compilers: Visual C++ 12.
|
|
// gcc (Ubuntu/Linaro 4.8.1-10ubuntu9) 4.8.1
|
|
// Libraries: See MIReadmetxt.
|
|
//
|
|
// Copyright: None.
|
|
//--
|
|
|
|
// Include compiler configuration
|
|
#include "MICmnConfig.h"
|
|
|
|
// Third party headers
|
|
#include <time.h>
|
|
|
|
// In-house headers:
|
|
#include "MIUtilDateTimeStd.h"
|
|
#include "MICmnResources.h"
|
|
|
|
//++ ------------------------------------------------------------------------------------
|
|
// Details: CMIUtilDateTimeStd constructor.
|
|
// Type: Method.
|
|
// Args: None.
|
|
// Return: None.
|
|
// Throws: None.
|
|
//--
|
|
CMIUtilDateTimeStd::CMIUtilDateTimeStd( void )
|
|
{
|
|
}
|
|
|
|
//++ ------------------------------------------------------------------------------------
|
|
// Details: CMIUtilDateTimeStd destructor.
|
|
// Type: Method.
|
|
// Args: None.
|
|
// Return: None.
|
|
// Throws: None.
|
|
//--
|
|
CMIUtilDateTimeStd::~CMIUtilDateTimeStd( void )
|
|
{
|
|
}
|
|
|
|
//++ ------------------------------------------------------------------------------------
|
|
// Details: Retrieve system local current date. Format is DD/MM/YYYY.
|
|
// Type: Method.
|
|
// Args: None.
|
|
// Return: CMIUtilString - Text description.
|
|
// Throws: None.
|
|
//--
|
|
CMIUtilString CMIUtilDateTimeStd::GetDate( void ) const
|
|
{
|
|
CMIUtilString strDate( MIRSRC( IDS_WORD_INVALIDBRKTS ) );
|
|
CMIUtilString localDate;
|
|
CMIUtilString localTime;
|
|
if( GetDateTimeShort( localDate, localTime ) )
|
|
strDate = localDate;
|
|
|
|
return strDate;
|
|
}
|
|
|
|
//++ ------------------------------------------------------------------------------------
|
|
// Details: Retrieve system local current time. Format is HH:MM:SS 24 hour clock.
|
|
// Type: Method.
|
|
// Args: None.
|
|
// Return: CMIUtilString - Text description.
|
|
// Throws: None.
|
|
//--
|
|
CMIUtilString CMIUtilDateTimeStd::GetTime( void ) const
|
|
{
|
|
CMIUtilString strTime( MIRSRC( IDS_WORD_INVALIDBRKTS ) );
|
|
CMIUtilString localDate;
|
|
CMIUtilString localTime;
|
|
if( GetDateTimeShort( localDate, localTime ) )
|
|
strTime = localTime;
|
|
|
|
return strTime;
|
|
}
|
|
|
|
//++ ------------------------------------------------------------------------------------
|
|
// Details: Retrieve system local time and date, short version.
|
|
// Type: Method.
|
|
// Args: vrwLocalDate - (W) Text date. Format is DD/MM/YYYY.
|
|
// vrwLocalTime - (W) Text time. Format is HH:MM:SS 24 hour clock.
|
|
// Return: MIstatus::success - Functional succeeded.
|
|
// MIstatus::failure - Functional failed.
|
|
// Throws: None.
|
|
//--
|
|
bool CMIUtilDateTimeStd::GetDateTimeShort( CMIUtilString & vrwLocalDate, CMIUtilString & vrwLocalTime ) const
|
|
{
|
|
time_t rawTime;
|
|
::time( &rawTime );
|
|
struct tm * pTi = ::localtime( &rawTime );
|
|
|
|
vrwLocalDate = CMIUtilString::Format( "%d/%d/%d", pTi->tm_wday, pTi->tm_mon, pTi->tm_year );
|
|
vrwLocalTime = CMIUtilString::Format( "%d:%d:%d", pTi->tm_hour, pTi->tm_min, pTi->tm_sec );
|
|
|
|
return MIstatus::success;
|
|
}
|