aboutsummaryrefslogtreecommitdiff
path: root/src/QXmppVCardIq.h
diff options
context:
space:
mode:
authorManjeet Dahiya <manjeetdahiya@gmail.com>2010-09-07 06:57:12 +0000
committerManjeet Dahiya <manjeetdahiya@gmail.com>2010-09-07 06:57:12 +0000
commit966a6f2f63f089624dbd50844069f2b86e13dd81 (patch)
tree7e0d09a354c2e64e9cb0c7d0cf211792eea44099 /src/QXmppVCardIq.h
parentd70690296ad04d77b4b2791281025405fc8f0a65 (diff)
downloadqxmpp-966a6f2f63f089624dbd50844069f2b86e13dd81.tar.gz
QXmppVCard to QXmppVCardIq
Diffstat (limited to 'src/QXmppVCardIq.h')
-rw-r--r--src/QXmppVCardIq.h121
1 files changed, 121 insertions, 0 deletions
diff --git a/src/QXmppVCardIq.h b/src/QXmppVCardIq.h
new file mode 100644
index 00000000..cdb5d8b7
--- /dev/null
+++ b/src/QXmppVCardIq.h
@@ -0,0 +1,121 @@
+/*
+ * Copyright (C) 2008-2010 The QXmpp developers
+ *
+ * Author:
+ * Manjeet Dahiya
+ *
+ * Source:
+ * http://code.google.com/p/qxmpp
+ *
+ * This file is a part of QXmpp library.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ */
+
+
+#ifndef QXMPPVCARDIQ_H
+#define QXMPPVCARDIQ_H
+
+#include "QXmppIq.h"
+#include <QDate>
+#include <QMap>
+#include <QDomElement>
+
+class QImage;
+
+/// \brief Represents the XMPP vCard.
+///
+/// The functions names are self explanatory.
+/// Look at QXmppVCardManager and <B>XEP-0054: vcard-temp</B> for more details.
+///
+/// There are many field of XMPP vCard which are not present in
+/// this class. File a issue for the same. We will add the requested
+/// field to this class.
+///
+
+class QXmppVCardIq : public QXmppIq
+{
+public:
+ QXmppVCardIq(const QString& bareJid = "");
+
+ QDate birthday() const;
+ void setBirthday(const QDate &birthday);
+
+ QString email() const;
+ void setEmail(const QString&);
+
+ QString firstName() const;
+ void setFirstName(const QString&);
+
+ QString fullName() const;
+ void setFullName(const QString&);
+
+ QString lastName() const;
+ void setLastName(const QString&);
+
+ QString middleName() const;
+ void setMiddleName(const QString&);
+
+ QString nickName() const;
+ void setNickName(const QString&);
+
+ QByteArray photo() const;
+ void setPhoto(const QByteArray&);
+
+ QString photoType() const;
+ void setPhotoType(const QString &type);
+
+ QString url() const;
+ void setUrl(const QString&);
+
+ static bool isVCard(const QDomElement &element);
+
+ /// \cond
+// deprecated in release 0.3.0, as it drags in a dependency
+// on QtGui, whilst the rest of QXmpp does not require QtGui
+#ifndef QXMPP_NO_GUI
+ QImage Q_DECL_DEPRECATED photoAsImage() const;
+ void Q_DECL_DEPRECATED setPhoto(const QImage&);
+#endif
+
+// deprecated accessors, use the form without "get" instead
+// deprecated in release 0.2.0
+ QString Q_DECL_DEPRECATED getFullName() const;
+ QString Q_DECL_DEPRECATED getNickName() const;
+#ifndef QXMPP_NO_GUI
+ QImage Q_DECL_DEPRECATED getPhotoAsImage() const;
+#endif
+ const QByteArray Q_DECL_DEPRECATED & getPhoto() const;
+ /// \endcond
+
+protected:
+ /// \cond
+ void parseElementFromChild(const QDomElement&);
+ void toXmlElementFromChild(QXmlStreamWriter *writer) const;
+ /// \endcond
+
+private:
+ QDate m_birthday;
+ QString m_email;
+ QString m_firstName;
+ QString m_fullName;
+ QString m_lastName;
+ QString m_middleName;
+ QString m_nickName;
+ QString m_url;
+
+ // not as 64 base
+ QByteArray m_photo;
+ QString m_photoType;
+};
+
+#endif // QXMPPVCARDIQ_H