Skip to content

Commit

Permalink
WIP: Implement MIX
Browse files Browse the repository at this point in the history
TODO: Create PR that includes xsf/xeps#919 and a version block
  • Loading branch information
melvo committed Oct 24, 2023
1 parent 4e6202f commit c985d1c
Show file tree
Hide file tree
Showing 15 changed files with 3,655 additions and 114 deletions.
19 changes: 14 additions & 5 deletions doc/doap.xml
Original file line number Diff line number Diff line change
Expand Up @@ -540,10 +540,10 @@ SPDX-License-Identifier: CC0-1.0
<implements>
<xmpp:SupportedXep>
<xmpp:xep rdf:resource='https://xmpp.org/extensions/xep-0369.html'/>
<xmpp:status>partial</xmpp:status>
<xmpp:status>complete</xmpp:status>
<xmpp:version>0.14</xmpp:version>
<xmpp:since>1.1</xmpp:since>
<xmpp:note>Only IQ queries implemented</xmpp:note>
<xmpp:note>IQ stanzas for participants and channel information since 1.5; Manager since 1.6</xmpp:note>
</xmpp:SupportedXep>
</implements>
<implements>
Expand Down Expand Up @@ -573,10 +573,19 @@ SPDX-License-Identifier: CC0-1.0
<implements>
<xmpp:SupportedXep>
<xmpp:xep rdf:resource='https://xmpp.org/extensions/xep-0405.html'/>
<xmpp:status>partial</xmpp:status>
<xmpp:status>complete</xmpp:status>
<xmpp:version>0.5</xmpp:version>
<xmpp:since>1.3</xmpp:since>
<xmpp:note>Only IQ queries implemented</xmpp:note>
<xmpp:note>Manager since 1.6</xmpp:note>
</xmpp:SupportedXep>
</implements>
<implements>
<xmpp:SupportedXep>
<xmpp:xep rdf:resource='https://xmpp.org/extensions/xep-0406.html'/>
<xmpp:status>partial</xmpp:status>
<xmpp:version>0.3</xmpp:version>
<xmpp:since>1.6</xmpp:since>
<xmpp:note>Channel configuration not implemented</xmpp:note>
</xmpp:SupportedXep>
</implements>
<implements>
Expand All @@ -585,7 +594,7 @@ SPDX-License-Identifier: CC0-1.0
<xmpp:status>partial</xmpp:status>
<xmpp:version>0.1</xmpp:version>
<xmpp:since>1.4</xmpp:since>
<xmpp:note>Only invitations implemented</xmpp:note>
<xmpp:note>Only invitations implemented; Manager since 1.6</xmpp:note>
</xmpp:SupportedXep>
</implements>
<implements>
Expand Down
2 changes: 2 additions & 0 deletions src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,7 @@ set(INSTALL_HEADER_FILES
client/QXmppMamManager.h
client/QXmppMessageHandler.h
client/QXmppMessageReceiptManager.h
client/QXmppMixManager.h
client/QXmppMucManager.h
client/QXmppOutgoingClient.h
client/QXmppRegistrationManager.h
Expand Down Expand Up @@ -252,6 +253,7 @@ set(SOURCE_FILES
client/QXmppJingleMessageInitiationManager.cpp
client/QXmppMamManager.cpp
client/QXmppMessageReceiptManager.cpp
client/QXmppMixManager.cpp
client/QXmppMucManager.cpp
client/QXmppOutgoingClient.cpp
client/QXmppRosterManager.cpp
Expand Down
5 changes: 4 additions & 1 deletion src/base/QXmppConstants.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -181,6 +181,8 @@ const char *ns_mix_node_participants = "urn:xmpp:mix:nodes:participants";
const char *ns_mix_node_presence = "urn:xmpp:mix:nodes:presence";
const char *ns_mix_node_config = "urn:xmpp:mix:nodes:config";
const char *ns_mix_node_info = "urn:xmpp:mix:nodes:info";
const char *ns_mix_node_allowed = "urn:xmpp:mix:nodes:allowed";
const char *ns_mix_node_banned = "urn:xmpp:mix:nodes:banned";
// XEP-0373: OpenPGP for XMPP
const char *ns_ox = "urn:xmpp:openpgp:0";
// XEP-0380: Explicit Message Encryption
Expand All @@ -194,7 +196,8 @@ const char *ns_omemo_2 = "urn:xmpp:omemo:2";
const char *ns_omemo_2_bundles = "urn:xmpp:omemo:2:bundles";
const char *ns_omemo_2_devices = "urn:xmpp:omemo:2:devices";
// XEP-0405: Mediated Information eXchange (MIX): Participant Server Requirements
const char *ns_mix_pam = "urn:xmpp:mix:pam:1";
const char *ns_mix_pam = "urn:xmpp:mix:pam:2";
const char *ns_mix_pam_archiving = "urn:xmpp:mix:pam:2#archive";
const char *ns_mix_roster = "urn:xmpp:mix:roster:0";
const char *ns_mix_presence = "urn:xmpp:presence:0";
// XEP-0407: Mediated Information eXchange (MIX): Miscellaneous Capabilities
Expand Down
3 changes: 3 additions & 0 deletions src/base/QXmppConstants_p.h
Original file line number Diff line number Diff line change
Expand Up @@ -193,6 +193,8 @@ extern const char *ns_mix_node_participants;
extern const char *ns_mix_node_presence;
extern const char *ns_mix_node_config;
extern const char *ns_mix_node_info;
extern const char *ns_mix_node_allowed;
extern const char *ns_mix_node_banned;
// XEP-0373: OpenPGP for XMPP
extern const char *ns_ox;
// XEP-0380: Explicit Message Encryption
Expand All @@ -207,6 +209,7 @@ extern const char *ns_omemo_2_bundles;
extern const char *ns_omemo_2_devices;
// XEP-0405: Mediated Information eXchange (MIX): Participant Server Requirements
extern const char *ns_mix_pam;
extern const char *ns_mix_pam_archiving;
extern const char *ns_mix_roster;
extern const char *ns_mix_presence;
// XEP-0407: Mediated Information eXchange (MIX): Miscellaneous Capabilities
Expand Down
4 changes: 4 additions & 0 deletions src/base/QXmppMixInfoItem.h
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
#ifndef QXMPPMIXINFOITEM_H
#define QXMPPMIXINFOITEM_H

#include "QXmppDataForm.h"
#include "QXmppPubSubBaseItem.h"

class QXmppMixInfoItemPrivate;
Expand All @@ -20,6 +21,9 @@ class QXMPP_EXPORT QXmppMixInfoItem : public QXmppPubSubBaseItem
QXmppMixInfoItem &operator=(const QXmppMixInfoItem &);
QXmppMixInfoItem &operator=(QXmppMixInfoItem &&);

const QXmppDataForm::Type formType() const;
void setFormType(QXmppDataForm::Type formType);

const QString &name() const;
void setName(QString);

Expand Down
Loading

0 comments on commit c985d1c

Please sign in to comment.