aboutsummaryrefslogtreecommitdiff
path: root/src/QXmppVCard.cpp
diff options
context:
space:
mode:
authorJeremy Lainé <jeremy.laine@m4x.org>2010-08-29 02:09:50 +0000
committerJeremy Lainé <jeremy.laine@m4x.org>2010-08-29 02:09:50 +0000
commit494df25dd3d965321551602567057770d7893ced (patch)
treedede4559bd50a7c58bf663ae37a3e9433f355d07 /src/QXmppVCard.cpp
parente0b41e7779323cd0df6ba061e83d21bad6d0d9d9 (diff)
downloadqxmpp-494df25dd3d965321551602567057770d7893ced.tar.gz
add support for birthday & email to vCard
Diffstat (limited to 'src/QXmppVCard.cpp')
-rw-r--r--src/QXmppVCard.cpp32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/QXmppVCard.cpp b/src/QXmppVCard.cpp
index 598ed1f7..77c9e2a4 100644
--- a/src/QXmppVCard.cpp
+++ b/src/QXmppVCard.cpp
@@ -67,6 +67,26 @@ QXmppVCard::QXmppVCard(const QString& jid) : QXmppIq(QXmppIq::Get)
setTo(jid);
}
+QDate QXmppVCard::birthday() const
+{
+ return m_birthday;
+}
+
+void QXmppVCard::setBirthday(const QDate &birthday)
+{
+ m_birthday = birthday;
+}
+
+QString QXmppVCard::email() const
+{
+ return m_email;
+}
+
+void QXmppVCard::setEmail(const QString &email)
+{
+ m_email = email;
+}
+
QString QXmppVCard::firstName() const
{
return m_firstName;
@@ -158,6 +178,9 @@ void QXmppVCard::parseElementFromChild(const QDomElement& nodeRecv)
{
// vCard
QDomElement cardElement = nodeRecv.firstChildElement("vCard");
+ m_birthday = QDate::fromString(cardElement.firstChildElement("BDAY").text(), "yyyy-MM-dd");
+ QDomElement emailElement = cardElement.firstChildElement("EMAIL");
+ m_email = emailElement.firstChildElement("USERID").text();
m_fullName = cardElement.firstChildElement("FN").text();
m_nickName = cardElement.firstChildElement("NICKNAME").text();
QDomElement nameElement = cardElement.firstChildElement("N");
@@ -175,6 +198,15 @@ void QXmppVCard::toXmlElementFromChild(QXmlStreamWriter *writer) const
{
writer->writeStartElement("vCard");
helperToXmlAddAttribute(writer,"xmlns", ns_vcard);
+ if (m_birthday.isValid())
+ helperToXmlAddTextElement(writer, "BDAY", m_birthday.toString("yyyy-MM-dd"));
+ if (!m_email.isEmpty())
+ {
+ writer->writeStartElement("EMAIL");
+ writer->writeEmptyElement("INTERNET");
+ helperToXmlAddTextElement(writer, "USERID", m_email);
+ writer->writeEndElement();
+ }
if (!m_fullName.isEmpty())
helperToXmlAddTextElement(writer, "FN", m_fullName);
if(!m_nickName.isEmpty())