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 <VCardRToken.h>
00025
00026
#include <VCardLangValue.h>
00027
00028
#include <VCardValue.h>
00029
00030
using namespace VCARD;
00031
00032 LangValue::LangValue()
00033 : Value()
00034 {
00035 }
00036
00037 LangValue::LangValue(
const LangValue & x)
00038 : Value(x)
00039 {
00040 }
00041
00042 LangValue::LangValue(
const QCString & s)
00043 : Value(s)
00044 {
00045 }
00046
00047 LangValue &
00048 LangValue::operator = (LangValue & x)
00049 {
00050
if (*
this == x)
return *
this;
00051
00052 Value::operator = (x);
00053
return *
this;
00054 }
00055
00056 LangValue &
00057 LangValue::operator = (
const QCString & s)
00058 {
00059 Value::operator = (s);
00060
return *
this;
00061 }
00062
00063
bool
00064 LangValue::operator == (LangValue & x)
00065 {
00066 x.parse();
00067
return false;
00068 }
00069
00070 LangValue::~LangValue()
00071 {
00072 }
00073
00074
void
00075 LangValue::_parse()
00076 {
00077
QStrList l;
00078 RTokenise(strRep_,
"-", l);
00079
00080
if (l.count() == 0)
return;
00081
00082 primary_ = l.at(0);
00083
00084 l.remove(0u);
00085
00086 subtags_ = l;
00087 }
00088
00089
void
00090 LangValue::_assemble()
00091 {
00092 strRep_ = primary_;
00093
00094
QStrListIterator it(subtags_);
00095
00096
for (; it.current(); ++it)
00097 strRep_ +=
QCString(
'-') + it.current();
00098 }
00099
00100
QCString
00101 LangValue::primary()
00102 {
00103 parse();
00104
return primary_;
00105 }
00106
00107
QStrList
00108 LangValue::subtags()
00109 {
00110 parse();
00111
return subtags_;
00112 }
00113
00114
void
00115 LangValue::setPrimary(
const QCString & s)
00116 {
00117 parse();
00118 primary_ = s;
00119 }
00120
00121
void
00122 LangValue::setSubTags(
const QStrList & l)
00123 {
00124 parse();
00125 subtags_ = l;
00126 }
00127