aboutsummaryrefslogtreecommitdiff
path: root/lib/csapi/pusher.h
diff options
context:
space:
mode:
authorMarc Deop <marc@marcdeop.com>2019-03-02 12:26:57 +0100
committerMarc Deop <marc@marcdeop.com>2019-03-02 12:26:57 +0100
commitaacc4bcb4a487871daae6717f77605aaba444341 (patch)
tree4f50b6874821667ccb6b91c017e5d041e3846112 /lib/csapi/pusher.h
parentc971b924cd62822ed6fb1a0291c483ae73a3ecda (diff)
downloadlibquotient-aacc4bcb4a487871daae6717f77605aaba444341.tar.gz
libquotient-aacc4bcb4a487871daae6717f77605aaba444341.zip
style: apply .clang-format to all .cpp and .h files
Diffstat (limited to 'lib/csapi/pusher.h')
-rw-r--r--lib/csapi/pusher.h274
1 files changed, 138 insertions, 136 deletions
diff --git a/lib/csapi/pusher.h b/lib/csapi/pusher.h
index da3303fe..947d7fc8 100644
--- a/lib/csapi/pusher.h
+++ b/lib/csapi/pusher.h
@@ -6,11 +6,10 @@
#include "jobs/basejob.h"
-#include <QtCore/QVector>
#include "converters.h"
+#include <QtCore/QVector>
-namespace QMatrixClient
-{
+namespace QMatrixClient {
// Operations
/// Gets the current pushers for the authenticated user
@@ -19,151 +18,154 @@ namespace QMatrixClient
class GetPushersJob : public BaseJob
{
public:
- // Inner data structures
-
+ // Inner data structures
+
+ /// A dictionary of information for the pusher implementation
+ /// itself.
+ struct PusherData {
+ /// Required if ``kind`` is ``http``. The URL to use to send
+ /// notifications to.
+ QString url;
+ /// The format to use when sending notifications to the Push
+ /// Gateway.
+ QString format;
+ };
+
+ /// Gets all currently active pushers for the authenticated user.
+ struct Pusher {
+ /// This is a unique identifier for this pusher. See ``/set`` for
+ /// more detail.
+ /// Max length, 512 bytes.
+ QString pushkey;
+ /// The kind of pusher. ``"http"`` is a pusher that
+ /// sends HTTP pokes.
+ QString kind;
+ /// This is a reverse-DNS style identifier for the application.
+ /// Max length, 64 chars.
+ QString appId;
+ /// A string that will allow the user to identify what application
+ /// owns this pusher.
+ QString appDisplayName;
+ /// A string that will allow the user to identify what device owns
+ /// this pusher.
+ QString deviceDisplayName;
+ /// This string determines which set of device specific rules this
+ /// pusher executes.
+ QString profileTag;
+ /// The preferred language for receiving notifications (e.g. 'en'
+ /// or 'en-US')
+ QString lang;
/// A dictionary of information for the pusher implementation
/// itself.
- struct PusherData
- {
- /// Required if ``kind`` is ``http``. The URL to use to send
- /// notifications to.
- QString url;
- /// The format to use when sending notifications to the Push
- /// Gateway.
- QString format;
- };
-
- /// Gets all currently active pushers for the authenticated user.
- struct Pusher
- {
- /// This is a unique identifier for this pusher. See ``/set`` for
- /// more detail.
- /// Max length, 512 bytes.
- QString pushkey;
- /// The kind of pusher. ``"http"`` is a pusher that
- /// sends HTTP pokes.
- QString kind;
- /// This is a reverse-DNS style identifier for the application.
- /// Max length, 64 chars.
- QString appId;
- /// A string that will allow the user to identify what application
- /// owns this pusher.
- QString appDisplayName;
- /// A string that will allow the user to identify what device owns
- /// this pusher.
- QString deviceDisplayName;
- /// This string determines which set of device specific rules this
- /// pusher executes.
- QString profileTag;
- /// The preferred language for receiving notifications (e.g. 'en'
- /// or 'en-US')
- QString lang;
- /// A dictionary of information for the pusher implementation
- /// itself.
- PusherData data;
- };
-
- // Construction/destruction
-
- explicit GetPushersJob();
-
- /*! Construct a URL without creating a full-fledged job object
- *
- * This function can be used when a URL for
- * GetPushersJob is necessary but the job
- * itself isn't.
- */
- static QUrl makeRequestUrl(QUrl baseUrl);
-
- ~GetPushersJob() override;
-
- // Result properties
-
- /// An array containing the current pushers for the user
- const QVector<Pusher>& pushers() const;
+ PusherData data;
+ };
+
+ // Construction/destruction
+
+ explicit GetPushersJob();
+
+ /*! Construct a URL without creating a full-fledged job object
+ *
+ * This function can be used when a URL for
+ * GetPushersJob is necessary but the job
+ * itself isn't.
+ */
+ static QUrl makeRequestUrl(QUrl baseUrl);
+
+ ~GetPushersJob() override;
+
+ // Result properties
+
+ /// An array containing the current pushers for the user
+ const QVector<Pusher>& pushers() const;
protected:
- Status parseJson(const QJsonDocument& data) override;
+ Status parseJson(const QJsonDocument& data) override;
private:
- class Private;
- QScopedPointer<Private> d;
+ class Private;
+ QScopedPointer<Private> d;
};
/// Modify a pusher for this user on the homeserver.
///
- /// This endpoint allows the creation, modification and deletion of `pushers`_
- /// for this user ID. The behaviour of this endpoint varies depending on the
- /// values in the JSON body.
+ /// This endpoint allows the creation, modification and deletion of
+ /// `pushers`_ for this user ID. The behaviour of this endpoint varies
+ /// depending on the values in the JSON body.
class PostPusherJob : public BaseJob
{
public:
- // Inner data structures
-
- /// A dictionary of information for the pusher implementation
- /// itself. If ``kind`` is ``http``, this should contain ``url``
- /// which is the URL to use to send notifications to.
- struct PusherData
- {
- /// Required if ``kind`` is ``http``. The URL to use to send
- /// notifications to. MUST be an HTTPS URL with a path of
- /// ``/_matrix/push/v1/notify``.
- QString url;
- /// The format to send notifications in to Push Gateways if the
- /// ``kind`` is ``http``. The details about what fields the
- /// homeserver should send to the push gateway are defined in the
- /// `Push Gateway Specification`_. Currently the only format
- /// available is 'event_id_only'.
- QString format;
- };
-
- // Construction/destruction
-
- /*! Modify a pusher for this user on the homeserver.
- * \param pushkey
- * This is a unique identifier for this pusher. The value you
- * should use for this is the routing or destination address
- * information for the notification, for example, the APNS token
- * for APNS or the Registration ID for GCM. If your notification
- * client has no such concept, use any unique identifier.
- * Max length, 512 bytes.
- *
- * If the ``kind`` is ``"email"``, this is the email address to
- * send notifications to.
- * \param kind
- * The kind of pusher to configure. ``"http"`` makes a pusher that
- * sends HTTP pokes. ``"email"`` makes a pusher that emails the
- * user with unread notifications. ``null`` deletes the pusher.
- * \param appId
- * This is a reverse-DNS style identifier for the application.
- * It is recommended that this end with the platform, such that
- * different platform versions get different app identifiers.
- * Max length, 64 chars.
- *
- * If the ``kind`` is ``"email"``, this is ``"m.email"``.
- * \param appDisplayName
- * A string that will allow the user to identify what application
- * owns this pusher.
- * \param deviceDisplayName
- * A string that will allow the user to identify what device owns
- * this pusher.
- * \param lang
- * The preferred language for receiving notifications (e.g. 'en'
- * or 'en-US').
- * \param data
- * A dictionary of information for the pusher implementation
- * itself. If ``kind`` is ``http``, this should contain ``url``
- * which is the URL to use to send notifications to.
- * \param profileTag
- * This string determines which set of device specific rules this
- * pusher executes.
- * \param append
- * If true, the homeserver should add another pusher with the
- * given pushkey and App ID in addition to any others with
- * different user IDs. Otherwise, the homeserver must remove any
- * other pushers with the same App ID and pushkey for different
- * users. The default is ``false``.
- */
- explicit PostPusherJob(const QString& pushkey, const QString& kind, const QString& appId, const QString& appDisplayName, const QString& deviceDisplayName, const QString& lang, const PusherData& data, const QString& profileTag = {}, Omittable<bool> append = none);
+ // Inner data structures
+
+ /// A dictionary of information for the pusher implementation
+ /// itself. If ``kind`` is ``http``, this should contain ``url``
+ /// which is the URL to use to send notifications to.
+ struct PusherData {
+ /// Required if ``kind`` is ``http``. The URL to use to send
+ /// notifications to. MUST be an HTTPS URL with a path of
+ /// ``/_matrix/push/v1/notify``.
+ QString url;
+ /// The format to send notifications in to Push Gateways if the
+ /// ``kind`` is ``http``. The details about what fields the
+ /// homeserver should send to the push gateway are defined in the
+ /// `Push Gateway Specification`_. Currently the only format
+ /// available is 'event_id_only'.
+ QString format;
+ };
+
+ // Construction/destruction
+
+ /*! Modify a pusher for this user on the homeserver.
+ * \param pushkey
+ * This is a unique identifier for this pusher. The value you
+ * should use for this is the routing or destination address
+ * information for the notification, for example, the APNS token
+ * for APNS or the Registration ID for GCM. If your notification
+ * client has no such concept, use any unique identifier.
+ * Max length, 512 bytes.
+ *
+ * If the ``kind`` is ``"email"``, this is the email address to
+ * send notifications to.
+ * \param kind
+ * The kind of pusher to configure. ``"http"`` makes a pusher that
+ * sends HTTP pokes. ``"email"`` makes a pusher that emails the
+ * user with unread notifications. ``null`` deletes the pusher.
+ * \param appId
+ * This is a reverse-DNS style identifier for the application.
+ * It is recommended that this end with the platform, such that
+ * different platform versions get different app identifiers.
+ * Max length, 64 chars.
+ *
+ * If the ``kind`` is ``"email"``, this is ``"m.email"``.
+ * \param appDisplayName
+ * A string that will allow the user to identify what application
+ * owns this pusher.
+ * \param deviceDisplayName
+ * A string that will allow the user to identify what device owns
+ * this pusher.
+ * \param lang
+ * The preferred language for receiving notifications (e.g. 'en'
+ * or 'en-US').
+ * \param data
+ * A dictionary of information for the pusher implementation
+ * itself. If ``kind`` is ``http``, this should contain ``url``
+ * which is the URL to use to send notifications to.
+ * \param profileTag
+ * This string determines which set of device specific rules this
+ * pusher executes.
+ * \param append
+ * If true, the homeserver should add another pusher with the
+ * given pushkey and App ID in addition to any others with
+ * different user IDs. Otherwise, the homeserver must remove any
+ * other pushers with the same App ID and pushkey for different
+ * users. The default is ``false``.
+ */
+ explicit PostPusherJob(const QString& pushkey, const QString& kind,
+ const QString& appId,
+ const QString& appDisplayName,
+ const QString& deviceDisplayName,
+ const QString& lang, const PusherData& data,
+ const QString& profileTag = {},
+ Omittable<bool> append = none);
};
} // namespace QMatrixClient