kabc Library API Documentation

LangValue.cpp

00001 /* 00002 libvcard - vCard parsing library for vCard version 3.0 00003 00004 Copyright (C) 1998 Rik Hemsley rik@kde.org 00005 00006 Permission is hereby granted, free of charge, to any person obtaining a copy 00007 of this software and associated documentation files (the "Software"), to 00008 deal in the Software without restriction, including without limitation the 00009 rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 00010 sell copies of the Software, and to permit persons to whom the Software is 00011 furnished to do so, subject to the following conditions: 00012 00013 The above copyright notice and this permission notice shall be included in 00014 all copies or substantial portions of the Software. 00015 00016 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 00017 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 00018 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 00019 AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN 00020 ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 00021 WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 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
KDE Logo
This file is part of the documentation for kabc Library Version 3.3.0.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Wed Sep 29 09:44:37 2004 by doxygen 1.3.8 written by Dimitri van Heesch, © 1997-2003