QXmpp Version: 0.9.3
QXmppPresence.h
1/*
2 * Copyright (C) 2008-2014 The QXmpp developers
3 *
4 * Author:
5 * Manjeet Dahiya
6 *
7 * Source:
8 * https://github.com/qxmpp-project/qxmpp
9 *
10 * This file is a part of QXmpp library.
11 *
12 * This library is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU Lesser General Public
14 * License as published by the Free Software Foundation; either
15 * version 2.1 of the License, or (at your option) any later version.
16 *
17 * This library is distributed in the hope that it will be useful,
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
20 * Lesser General Public License for more details.
21 *
22 */
23
24
25#ifndef QXMPPPRESENCE_H
26#define QXMPPPRESENCE_H
27
28#include "QXmppStanza.h"
29#include "QXmppMucIq.h"
30
31class QXmppPresencePrivate;
32
36class QXMPP_EXPORT QXmppPresence : public QXmppStanza
37{
38public:
40 enum Type
41 {
42 Error = 0,
49 Probe
50 };
51
54 {
55 Online = 0,
60 Invisible
61 };
62
66 {
67 VCardUpdateNone = 0,
70 VCardUpdateNotReady
71
74 };
75
77 QXmppPresence(const QXmppPresence &other);
79
81
82 AvailableStatusType availableStatusType() const;
83 void setAvailableStatusType(AvailableStatusType type);
84
85 int priority() const;
86 void setPriority(int priority);
87
88 QXmppPresence::Type type() const;
89 void setType(QXmppPresence::Type);
90
91 QString statusText() const;
92 void setStatusText(const QString& statusText);
93
95 void parse(const QDomElement &element);
96 void toXml(QXmlStreamWriter *writer) const;
98
99 // XEP-0045: Multi-User Chat
100 QXmppMucItem mucItem() const;
101 void setMucItem(const QXmppMucItem &item);
102
103 QString mucPassword() const;
104 void setMucPassword(const QString &password);
105
106 QList<int> mucStatusCodes() const;
107 void setMucStatusCodes(const QList<int> &codes);
108
109 bool isMucSupported() const;
110 void setMucSupported(bool supported);
111
113 QByteArray photoHash() const;
114 void setPhotoHash(const QByteArray&);
115
116 VCardUpdateType vCardUpdateType() const;
117 void setVCardUpdateType(VCardUpdateType type);
118
119 // XEP-0115: Entity Capabilities
120 QString capabilityHash() const;
121 void setCapabilityHash(const QString&);
122
123 QString capabilityNode() const;
124 void setCapabilityNode(const QString&);
125
126 QByteArray capabilityVer() const;
127 void setCapabilityVer(const QByteArray&);
128
129 QStringList capabilityExt() const;
130
131private:
132 QSharedDataPointer<QXmppPresencePrivate> d;
133};
134
135#endif // QXMPPPRESENCE_H
The QXmppMucItem class represents a chat room "item".
Definition: QXmppMucIq.h:37
The QXmppPresence class represents an XMPP presence stanza.
Definition: QXmppPresence.h:37
Type
This enum is used to describe a presence type.
Definition: QXmppPresence.h:41
@ Unsubscribe
The sender is unsubscribing from another entity's presence.
Definition: QXmppPresence.h:47
@ Subscribe
The sender wishes to subscribe to the recipient's presence.
Definition: QXmppPresence.h:45
@ Subscribed
The sender has allowed the recipient to receive their presence.
Definition: QXmppPresence.h:46
@ Unavailable
Signals that the sender is no longer available for communication.
Definition: QXmppPresence.h:44
@ Unsubscribed
The subscription request has been denied or a previously-granted subscription has been cancelled.
Definition: QXmppPresence.h:48
@ Available
Signals that the sender is online and available for communication.
Definition: QXmppPresence.h:43
VCardUpdateType
Definition: QXmppPresence.h:66
@ VCardUpdateNoPhoto
User is not using any image.
Definition: QXmppPresence.h:68
@ VCardUpdateValidPhoto
User is advertising an image.
Definition: QXmppPresence.h:69
AvailableStatusType
This enum is used to describe an availability status.
Definition: QXmppPresence.h:54
@ Chat
The entity or resource is actively interested in chatting.
Definition: QXmppPresence.h:59
@ DND
The entity or resource is busy ("Do Not Disturb").
Definition: QXmppPresence.h:58
@ Away
The entity or resource is temporarily away.
Definition: QXmppPresence.h:56
@ XA
The entity or resource is away for an extended period.
Definition: QXmppPresence.h:57
The QXmppStanza class is the base class for all XMPP stanzas.
Definition: QXmppStanza.h:91
QXmppStanza & operator=(const QXmppStanza &other)
Assigns other to this stanza.
Definition: QXmppStanza.cpp:460