00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
#include <VCardUTCValue.h>
00025
00026
#include <VCardValue.h>
00027
00028
using namespace VCARD;
00029
00030 UTCValue::UTCValue()
00031 : Value()
00032 {
00033 }
00034
00035 UTCValue::UTCValue(
const UTCValue & x)
00036 : Value(x), positive_(x.positive_), hour_(x.hour_), minute_(x.minute_)
00037
00038 {
00039 }
00040
00041 UTCValue::UTCValue(
const QCString & s)
00042 : Value(s)
00043 {
00044 }
00045
00046 UTCValue &
00047 UTCValue::operator = (UTCValue & x)
00048 {
00049
if (*
this == x)
return *
this;
00050
00051 positive_ = x.positive_;
00052 hour_ = x.hour_;
00053 minute_ = x.minute_;
00054
00055 Value::operator = (x);
00056
return *
this;
00057 }
00058
00059 UTCValue &
00060 UTCValue::operator = (
const QCString & s)
00061 {
00062 Value::operator = (s);
00063
return *
this;
00064 }
00065
00066
bool
00067 UTCValue::operator == (UTCValue & x)
00068 {
00069 x.parse();
00070
00071
if (positive_ != x.positive_)
return false;
00072
if (hour_ != x.hour_)
return false;
00073
if (minute_ != x.minute_)
return false;
00074
00075
return true;
00076 }
00077
00078 UTCValue::~UTCValue()
00079 {
00080 }
00081
00082 UTCValue *
00083 UTCValue::clone()
00084 {
00085
return new UTCValue( *
this );
00086 }
00087
00088
void
00089 UTCValue::_parse()
00090 {
00091
if ( strRep_.isEmpty() )
00092
return;
00093
00094 positive_ = ( strRep_[0] ==
'+' );
00095
00096
int colon = strRep_.find(
':' );
00097
00098
if ( colon == -1 )
00099
return;
00100
00101 hour_ = strRep_.mid( 1, 2 ).toInt();
00102 minute_ = strRep_.right( 2 ).toInt();
00103 }
00104
00105
void
00106 UTCValue::_assemble()
00107 {
00108 strRep_.sprintf(
"%c%.2i:%.2i", (positive_ ?
'+' :
'-'), hour_, minute_ );
00109 }
00110