127 lines
2.3 KiB
C++
127 lines
2.3 KiB
C++
#ifndef _COM_VARIANTTIME_HPP_
|
|
#define _COM_VARIANTTIME_HPP_
|
|
#ifndef _COMMON_SYSTEMTIME_HPP_
|
|
#include <common/systime.hpp>
|
|
#endif
|
|
#ifndef _COM_COM_HPP_
|
|
#include <com/com.hpp>
|
|
#endif
|
|
|
|
class VariantTime
|
|
{
|
|
public:
|
|
VariantTime(void);
|
|
VariantTime(const VariantTime &someVariantTime);
|
|
VariantTime(const SystemTime &systemTime);
|
|
VariantTime(const DATE &someDATE);
|
|
virtual ~VariantTime();
|
|
VariantTime &operator=(const VariantTime &variantTime);
|
|
VariantTime &operator=(const DATE &someDATE);
|
|
VariantTime &operator=(const SystemTime &systemTime);
|
|
bool operator==(const VariantTime &variantTime)const;
|
|
bool operator==(const DATE &someDATE)const;
|
|
bool operator==(const SystemTime &systemTime)const;
|
|
void getTime(DATE &someDATE);
|
|
void getTime(SystemTime &systemTime);
|
|
void refresh(void);
|
|
DATE &getDATE(void);
|
|
private:
|
|
DATE mDate;
|
|
};
|
|
|
|
inline
|
|
VariantTime::VariantTime(void)
|
|
{
|
|
refresh();
|
|
}
|
|
|
|
inline
|
|
VariantTime::VariantTime(const SystemTime &systemTime)
|
|
{
|
|
*this=systemTime;
|
|
}
|
|
|
|
inline
|
|
VariantTime::VariantTime(const DATE &someDATE)
|
|
{
|
|
*this=someDATE;
|
|
}
|
|
|
|
inline
|
|
VariantTime::VariantTime(const VariantTime &someVariantTime)
|
|
{
|
|
*this=someVariantTime;
|
|
}
|
|
|
|
inline
|
|
VariantTime::~VariantTime()
|
|
{
|
|
}
|
|
|
|
inline
|
|
VariantTime &VariantTime::operator=(const VariantTime &variantTime)
|
|
{
|
|
mDate=variantTime.mDate;
|
|
return *this;
|
|
}
|
|
|
|
inline
|
|
VariantTime &VariantTime::operator=(const DATE &someDATE)
|
|
{
|
|
mDate=someDATE;
|
|
return *this;
|
|
}
|
|
|
|
inline
|
|
VariantTime &VariantTime::operator=(const SystemTime &systemTime)
|
|
{
|
|
::SystemTimeToVariantTime(&((SystemTime&)systemTime).getSYSTEMTIME(),&mDate);
|
|
return *this;
|
|
}
|
|
|
|
inline
|
|
bool VariantTime::operator==(const VariantTime &variantTime)const
|
|
{
|
|
return mDate==variantTime.mDate;
|
|
}
|
|
|
|
inline
|
|
bool VariantTime::operator==(const DATE &someDATE)const
|
|
{
|
|
return mDate==someDATE;
|
|
}
|
|
|
|
inline
|
|
bool VariantTime::operator==(const SystemTime &systemTime)const
|
|
{
|
|
DATE date;
|
|
::SystemTimeToVariantTime(&((SystemTime&)systemTime).getSYSTEMTIME(),&date);
|
|
return mDate==date;
|
|
}
|
|
|
|
inline
|
|
void VariantTime::getTime(DATE &someDATE)
|
|
{
|
|
someDATE=mDate;
|
|
}
|
|
|
|
inline
|
|
void VariantTime::getTime(SystemTime &systemTime)
|
|
{
|
|
::VariantTimeToSystemTime(mDate,&systemTime.getSYSTEMTIME());
|
|
}
|
|
|
|
inline
|
|
void VariantTime::refresh(void)
|
|
{
|
|
SystemTime systemTime;
|
|
::SystemTimeToVariantTime(&systemTime.getSYSTEMTIME(),&mDate);
|
|
}
|
|
|
|
inline
|
|
DATE &VariantTime::getDATE(void)
|
|
{
|
|
return mDate;
|
|
}
|
|
#endif
|