UTCValue.cpp00001
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
|