aboutsummaryrefslogtreecommitdiff
path: root/src/QXmppPresence.h
diff options
context:
space:
mode:
authorJeremy Lainé <jeremy.laine@m4x.org>2012-02-08 12:51:15 +0000
committerJeremy Lainé <jeremy.laine@m4x.org>2012-02-08 12:51:15 +0000
commitdeb9d6cb53057ca8b90d10d6a3bdc5dcfd1b3ee4 (patch)
treed956bad28e28aadc3c83dbf88b3eddb5e1d9a9f4 /src/QXmppPresence.h
parente8a1ad0cc608f12874ba4bafbd8282fa537ec9fb (diff)
downloadqxmpp-deb9d6cb53057ca8b90d10d6a3bdc5dcfd1b3ee4.tar.gz
move files common to client/server into "base"
Diffstat (limited to 'src/QXmppPresence.h')
-rw-r--r--src/QXmppPresence.h176
1 files changed, 0 insertions, 176 deletions
diff --git a/src/QXmppPresence.h b/src/QXmppPresence.h
deleted file mode 100644
index 8b85e01b..00000000
--- a/src/QXmppPresence.h
+++ /dev/null
@@ -1,176 +0,0 @@
-/*
- * Copyright (C) 2008-2011 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 QXMPPPRESENCE_H
-#define QXMPPPRESENCE_H
-
-#include "QXmppStanza.h"
-#include "QXmppMucIq.h"
-
-/// \brief The QXmppPresence class represents an XMPP presence stanza.
-///
-/// \ingroup Stanzas
-class QXmppPresence : public QXmppStanza
-{
-public:
- /// This enum is used to describe a presence type.
- enum Type
- {
- Error = 0, ///< An error has occurred regarding processing or delivery of a previously-sent presence stanza.
- Available, ///< Signals that the sender is online and available for communication.
- Unavailable, ///< Signals that the sender is no longer available for communication.
- Subscribe, ///< The sender wishes to subscribe to the recipient's presence.
- Subscribed, ///< The sender has allowed the recipient to receive their presence.
- Unsubscribe, ///< The sender is unsubscribing from another entity's presence.
- Unsubscribed, ///< The subscription request has been denied or a previously-granted subscription has been cancelled.
- Probe ///< A request for an entity's current presence; SHOULD be generated only by a server on behalf of a user.
- };
-
- // XEP-0153: vCard-Based Avatars
- enum VCardUpdateType
- {
- VCardUpdateNone = 0, ///< Protocol is not supported
- VCardUpdateNoPhoto, ///< User is not using any image
- VCardUpdateValidPhoto, ///< User is advertising an image
- VCardUpdateNotReady ///< User is not ready to advertise an image
-
-/// \note This enables recipients to distinguish between the absence of an image
-/// (empty photo element) and mere support for the protocol (empty update child).
- };
-
- /// \brief The QXmppPresence::Status class represents the status of an XMPP entity.
- ///
- /// It stores information such as the "away", "busy" status of a user, or
- /// a human-readable description.
-
- class Status
- {
- public:
- /// This enum is used to describe an availability status.
- enum Type
- {
- Offline = 0,
- Online, ///< The entity or resource is online.
- Away, ///< The entity or resource is temporarily away.
- XA, ///< The entity or resource is away for an extended period.
- DND, ///< The entity or resource is busy ("Do Not Disturb").
- Chat, ///< The entity or resource is actively interested in chatting.
- };
-
- Status(QXmppPresence::Status::Type type = QXmppPresence::Status::Online,
- const QString statusText = "", int priority = 0);
-
- QXmppPresence::Status::Type type() const;
- void setType(QXmppPresence::Status::Type);
-
- QString statusText() const;
- void setStatusText(const QString&);
-
- int priority() const;
- void setPriority(int);
-
- /// \cond
- void parse(const QDomElement &element);
- void toXml(QXmlStreamWriter *writer) const;
- /// \endcond
-
- private:
- QString getTypeStr() const;
- void setTypeFromStr(const QString&);
-
- QXmppPresence::Status::Type m_type;
- QString m_statusText;
- int m_priority;
- };
-
- QXmppPresence(QXmppPresence::Type type = QXmppPresence::Available,
- const QXmppPresence::Status& status = QXmppPresence::Status());
- ~QXmppPresence();
-
- QXmppPresence::Type type() const;
- void setType(QXmppPresence::Type);
-
- QXmppPresence::Status& status();
- const QXmppPresence::Status& status() const;
- void setStatus(const QXmppPresence::Status&);
-
- /// \cond
- void parse(const QDomElement &element);
- void toXml(QXmlStreamWriter *writer) const;
- /// \endcond
-
- // XEP-0045: Multi-User Chat
- QXmppMucItem mucItem() const;
- void setMucItem(const QXmppMucItem &item);
-
- QList<int> mucStatusCodes() const;
- void setMucStatusCodes(const QList<int> &codes);
-
- /// XEP-0153: vCard-Based Avatars
- QByteArray photoHash() const;
- void setPhotoHash(const QByteArray&);
-
- VCardUpdateType vCardUpdateType() const;
- void setVCardUpdateType(VCardUpdateType type);
-
- // XEP-0115: Entity Capabilities
- QString capabilityHash() const;
- void setCapabilityHash(const QString&);
-
- QString capabilityNode() const;
- void setCapabilityNode(const QString&);
-
- QByteArray capabilityVer() const;
- void setCapabilityVer(const QByteArray&);
-
- QStringList capabilityExt() const;
-
-private:
- QString getTypeStr() const;
- void setTypeFromStr(const QString&);
-
- Type m_type;
- QXmppPresence::Status m_status;
-
-
- /// XEP-0153: vCard-Based Avatars
-
- /// m_photoHash: the SHA1 hash of the avatar image data itself (not the base64-encoded version)
- /// in accordance with RFC 3174
- QByteArray m_photoHash;
- VCardUpdateType m_vCardUpdateType;
-
- // XEP-0115: Entity Capabilities
- QString m_capabilityHash;
- QString m_capabilityNode;
- QByteArray m_capabilityVer;
- // Legacy XEP-0115: Entity Capabilities
- QStringList m_capabilityExt;
-
- // XEP-0045: Multi-User Chat
- QXmppMucItem m_mucItem;
- QList<int> m_mucStatusCodes;
-};
-
-#endif // QXMPPPRESENCE_H