QXmpp Version: 1.8.1
 
Loading...
Searching...
No Matches
QXmppPresence.h
1// SPDX-FileCopyrightText: 2009 Manjeet Dahiya <manjeetdahiya@gmail.com>
2// SPDX-FileCopyrightText: 2022 Melvin Keskin <melvo@olomono.de>
3//
4// SPDX-License-Identifier: LGPL-2.1-or-later
5
6#ifndef QXMPPPRESENCE_H
7#define QXMPPPRESENCE_H
8
9#include "QXmppJingleIq.h"
10#include "QXmppMucIq.h"
11#include "QXmppStanza.h"
12
13class QXmppPresencePrivate;
14
20class QXMPP_EXPORT QXmppPresence : public QXmppStanza
21{
22public:
34
44
56
60 ~QXmppPresence() override;
61
64
65 bool isXmppStanza() const override;
66
69
70 int priority() const;
71 void setPriority(int priority);
72
75
76 QString statusText() const;
77 void setStatusText(const QString &statusText);
78
79 // XEP-0045: Multi-User Chat
80 QXmppMucItem mucItem() const;
81 void setMucItem(const QXmppMucItem &item);
82
83 QString mucPassword() const;
84 void setMucPassword(const QString &password);
85
86 QList<int> mucStatusCodes() const;
87 void setMucStatusCodes(const QList<int> &codes);
88
89 bool isMucSupported() const;
90 void setMucSupported(bool supported);
91
92 // XEP-0153: vCard-Based Avatars
93 QByteArray photoHash() const;
94 void setPhotoHash(const QByteArray &);
95
98
99 // XEP-0115: Entity Capabilities
100 QString capabilityHash() const;
101 void setCapabilityHash(const QString &);
102
103 QString capabilityNode() const;
104 void setCapabilityNode(const QString &);
105
106 QByteArray capabilityVer() const;
107 void setCapabilityVer(const QByteArray &);
108
109 QStringList capabilityExt() const;
110
111 // XEP-0272: Multiparty Jingle (Muji)
112 bool isPreparingMujiSession() const;
114
115 QVector<QXmppJingleIq::Content> mujiContents() const;
116 void setMujiContents(const QVector<QXmppJingleIq::Content> &mujiContents);
117
118 // XEP-0319: Last User Interaction in Presence
119 QDateTime lastUserInteraction() const;
120 void setLastUserInteraction(const QDateTime &);
121
122 // XEP-0405: Mediated Information eXchange (MIX): Participant Server Requirements
123 QString mixUserJid() const;
124 void setMixUserJid(const QString &);
125
126 QString mixUserNick() const;
127 void setMixUserNick(const QString &);
128
130 void parse(const QDomElement &element) override;
131 void toXml(QXmlStreamWriter *writer) const override;
133
134private:
136 void parseExtension(const QDomElement &element, QXmppElementList &unknownElements);
138
139 QSharedDataPointer<QXmppPresencePrivate> d;
140};
141
142#endif // QXMPPPRESENCE_H
The QXmppMucItem class represents a chat room "item".
Definition QXmppMucIq.h:18
virtual void parse(const QDomElement &)=0
virtual void toXml(QXmlStreamWriter *writer) const =0
virtual bool isXmppStanza() const
Definition QXmppNonza.h:19
The QXmppPresence class represents an XMPP presence stanza.
Definition QXmppPresence.h:21
void setType(QXmppPresence::Type)
Sets the presence type.
Definition QXmppPresence.cpp:180
void setMixUserNick(const QString &)
Definition QXmppPresence.cpp:408
void setCapabilityNode(const QString &)
XEP-0115: Entity Capabilities
Definition QXmppPresence.cpp:232
void setVCardUpdateType(VCardUpdateType type)
Sets the type of VCardUpdate.
Definition QXmppPresence.cpp:208
QXmppMucItem mucItem() const
Returns the MUC item.
Definition QXmppPresence.cpp:304
int priority() const
Returns the priority level of the resource.
Definition QXmppPresence.cpp:139
QXmppPresence & operator=(const QXmppPresence &other)
Assignemnt operator.
bool isPreparingMujiSession() const
Definition QXmppPresence.cpp:262
void setMucStatusCodes(const QList< int > &codes)
Sets the MUC status codes.
Definition QXmppPresence.cpp:334
void setMucSupported(bool supported)
Sets whether MUC is supported.
Definition QXmppPresence.cpp:346
void setMucItem(const QXmppMucItem &item)
Sets the MUC item.
Definition QXmppPresence.cpp:310
AvailableStatusType availableStatusType() const
Definition QXmppPresence.cpp:127
void setStatusText(const QString &statusText)
Definition QXmppPresence.cpp:161
QXmppPresence::Type type() const
Definition QXmppPresence.cpp:174
Type
This enum is used to describe a presence type.
Definition QXmppPresence.h:24
@ Unsubscribe
The sender is unsubscribing from another entity's presence.
Definition QXmppPresence.h:30
@ Subscribe
The sender wishes to subscribe to the recipient's presence.
Definition QXmppPresence.h:28
@ Subscribed
The sender has allowed the recipient to receive their presence.
Definition QXmppPresence.h:29
@ Unavailable
Signals that the sender is no longer available for communication.
Definition QXmppPresence.h:27
@ Unsubscribed
The subscription request has been denied or a previously-granted subscription has been cancelled.
Definition QXmppPresence.h:31
@ Probe
A request for an entity's current presence; SHOULD be generated only by a server on behalf of a user.
Definition QXmppPresence.h:32
@ Available
Signals that the sender is online and available for communication.
Definition QXmppPresence.h:26
@ Error
An error has occurred regarding processing or delivery of a previously-sent presence stanza.
Definition QXmppPresence.h:25
QByteArray capabilityVer() const
XEP-0115: Entity Capabilities
Definition QXmppPresence.cpp:238
void setCapabilityHash(const QString &)
XEP-0115: Entity Capabilities
Definition QXmppPresence.cpp:220
QByteArray photoHash() const
Returns the photo-hash of the VCardUpdate.
Definition QXmppPresence.cpp:186
void setMixUserJid(const QString &)
Definition QXmppPresence.cpp:388
VCardUpdateType
Definition QXmppPresence.h:47
@ VCardUpdateNoPhoto
User is not using any image.
Definition QXmppPresence.h:49
@ VCardUpdateNotReady
User is not ready to advertise an image.
Definition QXmppPresence.h:51
@ VCardUpdateValidPhoto
User is advertising an image.
Definition QXmppPresence.h:50
@ VCardUpdateNone
Protocol is not supported.
Definition QXmppPresence.h:48
void setLastUserInteraction(const QDateTime &)
Definition QXmppPresence.cpp:368
QList< int > mucStatusCodes() const
Returns the MUC status codes.
Definition QXmppPresence.cpp:328
QXmppPresence(const QXmppPresence &other)
Copy-constructor.
void setMucPassword(const QString &password)
Sets the password used to join a MUC room.
Definition QXmppPresence.cpp:322
void setMujiContents(const QVector< QXmppJingleIq::Content > &mujiContents)
Definition QXmppPresence.cpp:298
QXmppPresence(QXmppPresence &&)
Move-constructor.
void setIsPreparingMujiSession(bool isPreparingMujiSession)
Definition QXmppPresence.cpp:274
QXmppPresence & operator=(QXmppPresence &&)
Move-assignemnt operator.
void setAvailableStatusType(AvailableStatusType type)
Sets the availability status type, for instance busy or away.
Definition QXmppPresence.cpp:133
QDateTime lastUserInteraction() const
Definition QXmppPresence.cpp:357
QString capabilityHash() const
XEP-0115: Entity Capabilities
Definition QXmppPresence.cpp:214
QXmppPresence(QXmppPresence::Type type=QXmppPresence::Available)
Definition QXmppPresence.cpp:93
void setCapabilityVer(const QByteArray &)
XEP-0115: Entity Capabilities
Definition QXmppPresence.cpp:244
~QXmppPresence() override
Destroys a QXmppPresence.
QString mixUserJid() const
Definition QXmppPresence.cpp:378
void setPhotoHash(const QByteArray &)
Definition QXmppPresence.cpp:196
QStringList capabilityExt() const
Legacy XEP-0115: Entity Capabilities.
Definition QXmppPresence.cpp:250
QString capabilityNode() const
XEP-0115: Entity Capabilities
Definition QXmppPresence.cpp:226
AvailableStatusType
This enum is used to describe an availability status.
Definition QXmppPresence.h:36
@ Invisible
obsolete XEP-0018: Invisible Presence
Definition QXmppPresence.h:42
@ Online
The entity or resource is online.
Definition QXmppPresence.h:37
@ Chat
The entity or resource is actively interested in chatting.
Definition QXmppPresence.h:41
@ DND
The entity or resource is busy ("Do Not Disturb").
Definition QXmppPresence.h:40
@ Away
The entity or resource is temporarily away.
Definition QXmppPresence.h:38
@ XA
The entity or resource is away for an extended period.
Definition QXmppPresence.h:39
QVector< QXmppJingleIq::Content > mujiContents() const
Definition QXmppPresence.cpp:286
void setPriority(int priority)
Sets the priority level of the resource.
Definition QXmppPresence.cpp:145
VCardUpdateType vCardUpdateType() const
Returns the type of VCardUpdate.
Definition QXmppPresence.cpp:202
QString mixUserNick() const
Definition QXmppPresence.cpp:398
QString mucPassword() const
Returns the password used to join a MUC room.
Definition QXmppPresence.cpp:316
QString statusText() const
Returns the status text, a textual description of the user's status.
Definition QXmppPresence.cpp:151
bool isMucSupported() const
Returns true if the sender has indicated MUC support.
Definition QXmppPresence.cpp:340
QXmppStanza(const QString &from=QString(), const QString &to=QString())
Definition QXmppStanza.cpp:810