cmake: avoid de-duplication of user's CXXFLAGS
[quassel.git] / src / common / irccap.h
index 29042b1..22aa1e6 100644 (file)
@@ -1,5 +1,5 @@
 /***************************************************************************
- *   Copyright (C) 2005-2019 by the Quassel Project                        *
+ *   Copyright (C) 2005-2022 by the Quassel Project                        *
  *   devel@quassel-irc.org                                                 *
  *                                                                         *
  *   This program is free software; you can redistribute it and/or modify  *
@@ -48,6 +48,13 @@ namespace IrcCap {
      */
     const uint ACCOUNT_NOTIFY_WHOX_NUM = 369;
 
+    /**
+     * Send account information as a tag with all commands sent by a user.
+     *
+     * http://ircv3.net/specs/extensions/account-notify-3.1.html
+     */
+    const QString ACCOUNT_TAG = "account-tag";
+
     /**
      * Away change notification.
      *
@@ -72,6 +79,13 @@ namespace IrcCap {
      */
     const QString CHGHOST = "chghost";
 
+    /**
+     * Server sending own messages back.
+     *
+     * https://ircv3.net/specs/extensions/echo-message-3.2.html
+     */
+    const QString ECHO_MESSAGE = "echo-message";
+
     /**
      * Extended join information.
      *
@@ -79,6 +93,20 @@ namespace IrcCap {
      */
     const QString EXTENDED_JOIN = "extended-join";
 
+    /**
+     * Standardized invite notifications.
+     *
+     * https://ircv3.net/specs/extensions/invite-notify-3.2
+     */
+    const QString INVITE_NOTIFY = "invite-notify";
+
+    /**
+     * Additional metadata on a per-message basis
+     *
+     * https://ircv3.net/specs/extensions/message-tags
+     */
+    const QString MESSAGE_TAGS = "message-tags";
+
     /**
      * Multiple mode prefixes in MODE and WHO replies.
      *
@@ -93,6 +121,13 @@ namespace IrcCap {
      */
     const QString SASL = "sasl";
 
+    /**
+     * Allows updating realname without reconnecting
+     *
+     * https://ircv3.net/specs/extensions/setname
+     */
+    const QString SETNAME = "setname";
+
     /**
      * Userhost in names replies.
      *
@@ -100,6 +135,13 @@ namespace IrcCap {
      */
     const QString USERHOST_IN_NAMES = "userhost-in-names";
 
+    /**
+     * Server time for messages.
+     *
+     * https://ircv3.net/specs/extensions/server-time-3.2.html
+     */
+    const QString SERVER_TIME = "server-time";
+
     /**
      * Vendor-specific capabilities
      */
@@ -134,13 +176,19 @@ namespace IrcCap {
      * List of capabilities currently implemented and requested during capability negotiation.
      */
     const QStringList knownCaps = QStringList{ACCOUNT_NOTIFY,
+                                              ACCOUNT_TAG,
                                               AWAY_NOTIFY,
                                               CAP_NOTIFY,
                                               CHGHOST,
+                                              //ECHO_MESSAGE, // Postponed for message pending UI with batch + labeled-response
                                               EXTENDED_JOIN,
+                                              INVITE_NOTIFY,
+                                              MESSAGE_TAGS,
                                               MULTI_PREFIX,
                                               SASL,
+                                              SETNAME,
                                               USERHOST_IN_NAMES,
+                                              SERVER_TIME,
                                               Vendor::TWITCH_MEMBERSHIP,
                                               Vendor::ZNC_SELF_MESSAGE};
     // NOTE: If you modify the knownCaps list, update the constants above as needed.