UTCValue.cpp
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 
 
This file is part of the documentation for kabc Library Version 3.2.0.