diff options
Diffstat (limited to 'lib/csapi/definitions')
-rw-r--r-- | lib/csapi/definitions/auth_data.h | 10 | ||||
-rw-r--r-- | lib/csapi/definitions/client_device.h | 23 | ||||
-rw-r--r-- | lib/csapi/definitions/device_keys.h | 35 | ||||
-rw-r--r-- | lib/csapi/definitions/event_filter.h | 13 | ||||
-rw-r--r-- | lib/csapi/definitions/public_rooms_response.h | 47 | ||||
-rw-r--r-- | lib/csapi/definitions/push_condition.h | 32 | ||||
-rw-r--r-- | lib/csapi/definitions/push_rule.h | 22 | ||||
-rw-r--r-- | lib/csapi/definitions/push_ruleset.h | 10 | ||||
-rw-r--r-- | lib/csapi/definitions/room_event_filter.h | 11 | ||||
-rw-r--r-- | lib/csapi/definitions/sync_filter.h | 69 | ||||
-rw-r--r-- | lib/csapi/definitions/user_identifier.h | 9 | ||||
-rw-r--r-- | lib/csapi/definitions/wellknown/full.h | 20 | ||||
-rw-r--r-- | lib/csapi/definitions/wellknown/homeserver.h | 9 | ||||
-rw-r--r-- | lib/csapi/definitions/wellknown/identity_server.h | 9 |
14 files changed, 160 insertions, 159 deletions
diff --git a/lib/csapi/definitions/auth_data.h b/lib/csapi/definitions/auth_data.h index 1aeea6c2..e564f7f3 100644 --- a/lib/csapi/definitions/auth_data.h +++ b/lib/csapi/definitions/auth_data.h @@ -9,17 +9,16 @@ #include <QtCore/QHash> #include <QtCore/QJsonObject> -namespace Quotient -{ +namespace Quotient { // Data structures /// Used by clients to submit authentication information to the /// interactive-authentication API -struct AuthenticationData -{ +struct AuthenticationData { /// The login type that the client is attempting to complete. QString type; + /// The value of the session key given by the homeserver. QString session; @@ -28,8 +27,7 @@ struct AuthenticationData }; template <> -struct JsonObjectConverter<AuthenticationData> -{ +struct JsonObjectConverter<AuthenticationData> { static void dumpTo(QJsonObject& jo, const AuthenticationData& pod); static void fillFrom(QJsonObject jo, AuthenticationData& pod); }; diff --git a/lib/csapi/definitions/client_device.h b/lib/csapi/definitions/client_device.h index f076c4da..2cf75950 100644 --- a/lib/csapi/definitions/client_device.h +++ b/lib/csapi/definitions/client_device.h @@ -6,30 +6,31 @@ #include "converters.h" -namespace Quotient -{ +namespace Quotient { // Data structures /// A client device -struct Device -{ +struct Device { /// Identifier of this device. QString deviceId; - /// Display name set by the user for this device. Absent if no name has - /// beenset. + + /// Display name set by the user for this device. Absent if no name has been + /// set. QString displayName; + /// The IP address where this device was last seen. (May be a few minutes - /// outof date, for efficiency reasons). + /// out of date, for efficiency reasons). QString lastSeenIp; - /// The timestamp (in milliseconds since the unix epoch) when this deviceswas - /// last seen. (May be a few minutes out of date, for efficiencyreasons). + + /// The timestamp (in milliseconds since the unix epoch) when this devices + /// was last seen. (May be a few minutes out of date, for efficiency + /// reasons). Omittable<qint64> lastSeenTs; }; template <> -struct JsonObjectConverter<Device> -{ +struct JsonObjectConverter<Device> { static void dumpTo(QJsonObject& jo, const Device& pod); static void fillFrom(const QJsonObject& jo, Device& pod); }; diff --git a/lib/csapi/definitions/device_keys.h b/lib/csapi/definitions/device_keys.h index d1d8abef..a067b4f3 100644 --- a/lib/csapi/definitions/device_keys.h +++ b/lib/csapi/definitions/device_keys.h @@ -8,35 +8,38 @@ #include <QtCore/QHash> -namespace Quotient -{ +namespace Quotient { // Data structures /// Device identity keys -struct DeviceKeys -{ - /// The ID of the user the device belongs to. Must match the user ID - /// usedwhen logging in. +struct DeviceKeys { + /// The ID of the user the device belongs to. Must match the user ID used + /// when logging in. QString userId; - /// The ID of the device these keys belong to. Must match the device ID - /// usedwhen logging in. + + /// The ID of the device these keys belong to. Must match the device ID used + /// when logging in. QString deviceId; + /// The encryption algorithms supported by this device. QStringList algorithms; - /// Public identity keys. The names of the properties should be in theformat - /// ``<algorithm>:<device_id>``. The keys themselves should beencoded as - /// specified by the key algorithm. + + /// Public identity keys. The names of the properties should be in the + /// format ``<algorithm>:<device_id>``. The keys themselves should be + /// encoded as specified by the key algorithm. QHash<QString, QString> keys; - /// Signatures for the device key object. A map from user ID, to a map - /// from``<algorithm>:<device_id>`` to the signature.The signature is - /// calculated using the process described at `SigningJSON`_. + + /// Signatures for the device key object. A map from user ID, to a map from + /// ``<algorithm>:<device_id>`` to the signature. + /// + /// The signature is calculated using the process described at `Signing + /// JSON`_. QHash<QString, QHash<QString, QString>> signatures; }; template <> -struct JsonObjectConverter<DeviceKeys> -{ +struct JsonObjectConverter<DeviceKeys> { static void dumpTo(QJsonObject& jo, const DeviceKeys& pod); static void fillFrom(const QJsonObject& jo, DeviceKeys& pod); }; diff --git a/lib/csapi/definitions/event_filter.h b/lib/csapi/definitions/event_filter.h index b41e2e9e..3958b125 100644 --- a/lib/csapi/definitions/event_filter.h +++ b/lib/csapi/definitions/event_filter.h @@ -6,27 +6,29 @@ #include "converters.h" -namespace Quotient -{ +namespace Quotient { // Data structures -struct EventFilter -{ +struct EventFilter { /// The maximum number of events to return. Omittable<int> limit; + /// A list of sender IDs to exclude. If this list is absent then no senders /// are excluded. A matching sender will be excluded even if it is listed in /// the ``'senders'`` filter. QStringList notSenders; + /// A list of event types to exclude. If this list is absent then no event /// types are excluded. A matching type will be excluded even if it is /// listed in the ``'types'`` filter. A '*' can be used as a wildcard to /// match any sequence of characters. QStringList notTypes; + /// A list of senders IDs to include. If this list is absent then all /// senders are included. QStringList senders; + /// A list of event types to include. If this list is absent then all event /// types are included. A ``'*'`` can be used as a wildcard to match any /// sequence of characters. @@ -34,8 +36,7 @@ struct EventFilter }; template <> -struct JsonObjectConverter<EventFilter> -{ +struct JsonObjectConverter<EventFilter> { static void dumpTo(QJsonObject& jo, const EventFilter& pod); static void fillFrom(const QJsonObject& jo, EventFilter& pod); }; diff --git a/lib/csapi/definitions/public_rooms_response.h b/lib/csapi/definitions/public_rooms_response.h index 1cb3aad5..36aa52b9 100644 --- a/lib/csapi/definitions/public_rooms_response.h +++ b/lib/csapi/definitions/public_rooms_response.h @@ -8,61 +8,68 @@ #include <QtCore/QVector> -namespace Quotient -{ +namespace Quotient { // Data structures -struct PublicRoomsChunk -{ +struct PublicRoomsChunk { /// Aliases of the room. May be empty. QStringList aliases; + /// The canonical alias of the room, if any. QString canonicalAlias; + /// The name of the room, if any. QString name; + /// The number of members joined to the room. int numJoinedMembers; + /// The ID of the room. QString roomId; + /// The topic of the room, if any. QString topic; + /// Whether the room may be viewed by guest users without joining. bool worldReadable; - /// Whether guest users may join the room and participate in it.If they can, - /// they will be subject to ordinary power levelrules like any other user. + + /// Whether guest users may join the room and participate in it. + /// If they can, they will be subject to ordinary power level + /// rules like any other user. bool guestCanJoin; + /// The URL for the room's avatar, if one is set. QString avatarUrl; }; template <> -struct JsonObjectConverter<PublicRoomsChunk> -{ +struct JsonObjectConverter<PublicRoomsChunk> { static void dumpTo(QJsonObject& jo, const PublicRoomsChunk& pod); static void fillFrom(const QJsonObject& jo, PublicRoomsChunk& pod); }; - /// A list of the rooms on the server. -struct PublicRoomsResponse -{ +struct PublicRoomsResponse { /// A paginated chunk of public rooms. QVector<PublicRoomsChunk> chunk; - /// A pagination token for the response. The absence of this tokenmeans - /// there are no more results to fetch and the client shouldstop paginating. + + /// A pagination token for the response. The absence of this token + /// means there are no more results to fetch and the client should + /// stop paginating. QString nextBatch; - /// A pagination token that allows fetching previous results. Theabsence of - /// this token means there are no results before thisbatch, i.e. this is the - /// first batch. + + /// A pagination token that allows fetching previous results. The + /// absence of this token means there are no results before this + /// batch, i.e. this is the first batch. QString prevBatch; - /// An estimate on the total number of public rooms, if theserver has an - /// estimate. + + /// An estimate on the total number of public rooms, if the + /// server has an estimate. Omittable<int> totalRoomCountEstimate; }; template <> -struct JsonObjectConverter<PublicRoomsResponse> -{ +struct JsonObjectConverter<PublicRoomsResponse> { static void dumpTo(QJsonObject& jo, const PublicRoomsResponse& pod); static void fillFrom(const QJsonObject& jo, PublicRoomsResponse& pod); }; diff --git a/lib/csapi/definitions/push_condition.h b/lib/csapi/definitions/push_condition.h index 34a183de..189153b3 100644 --- a/lib/csapi/definitions/push_condition.h +++ b/lib/csapi/definitions/push_condition.h @@ -6,32 +6,32 @@ #include "converters.h" -namespace Quotient -{ +namespace Quotient { // Data structures -struct PushCondition -{ - +struct PushCondition { QString kind; - /// Required for ``event_match`` conditions. The dot-separated field of - /// theevent to match. + + /// Required for ``event_match`` conditions. The dot-separated field of the + /// event to match. QString key; - /// Required for ``event_match`` conditions. The glob-style pattern tomatch - /// against. Patterns with no special glob characters should betreated as - /// having asterisks prepended and appended when testing thecondition. + + /// Required for ``event_match`` conditions. The glob-style pattern to + /// match against. Patterns with no special glob characters should be + /// treated as having asterisks prepended and appended when testing the + /// condition. QString pattern; - /// Required for ``room_member_count`` conditions. A decimal integeroptionally - /// prefixed by one of, ==, <, >, >= or <=. A prefix of < matchesrooms where - /// the member count is strictly less than the given number andso forth. If - /// no prefix is present, this parameter defaults to ==. + + /// Required for ``room_member_count`` conditions. A decimal integer + /// optionally prefixed by one of, ==, <, >, >= or <=. A prefix of < matches + /// rooms where the member count is strictly less than the given number and + /// so forth. If no prefix is present, this parameter defaults to ==. QString is; }; template <> -struct JsonObjectConverter<PushCondition> -{ +struct JsonObjectConverter<PushCondition> { static void dumpTo(QJsonObject& jo, const PushCondition& pod); static void fillFrom(const QJsonObject& jo, PushCondition& pod); }; diff --git a/lib/csapi/definitions/push_rule.h b/lib/csapi/definitions/push_rule.h index e64d6ba8..c09d063f 100644 --- a/lib/csapi/definitions/push_rule.h +++ b/lib/csapi/definitions/push_rule.h @@ -12,33 +12,35 @@ #include <QtCore/QVariant> #include <QtCore/QVector> -namespace Quotient -{ +namespace Quotient { // Data structures -struct PushRule -{ +struct PushRule { /// The actions to perform when this rule is matched. QVector<QVariant> actions; + /// Whether this is a default rule, or has been set explicitly. bool isDefault; + /// Whether the push rule is enabled or not. bool enabled; + /// The ID of this rule. QString ruleId; + /// The conditions that must hold true for an event in order for a rule to - /// beapplied to an event. A rule with no conditions always matches. - /// Onlyapplicable to ``underride`` and ``override`` rules. + /// be applied to an event. A rule with no conditions always matches. Only + /// applicable to ``underride`` and ``override`` rules. QVector<PushCondition> conditions; - /// The glob-style pattern to match against. Only applicable to - /// ``content``rules. + + /// The glob-style pattern to match against. Only applicable to ``content`` + /// rules. QString pattern; }; template <> -struct JsonObjectConverter<PushRule> -{ +struct JsonObjectConverter<PushRule> { static void dumpTo(QJsonObject& jo, const PushRule& pod); static void fillFrom(const QJsonObject& jo, PushRule& pod); }; diff --git a/lib/csapi/definitions/push_ruleset.h b/lib/csapi/definitions/push_ruleset.h index b6b9670e..98a21408 100644 --- a/lib/csapi/definitions/push_ruleset.h +++ b/lib/csapi/definitions/push_ruleset.h @@ -10,14 +10,11 @@ #include <QtCore/QVector> -namespace Quotient -{ +namespace Quotient { // Data structures -struct PushRuleset -{ - +struct PushRuleset { QVector<PushRule> content; QVector<PushRule> override; @@ -30,8 +27,7 @@ struct PushRuleset }; template <> -struct JsonObjectConverter<PushRuleset> -{ +struct JsonObjectConverter<PushRuleset> { static void dumpTo(QJsonObject& jo, const PushRuleset& pod); static void fillFrom(const QJsonObject& jo, PushRuleset& pod); }; diff --git a/lib/csapi/definitions/room_event_filter.h b/lib/csapi/definitions/room_event_filter.h index ae06a615..756f9ada 100644 --- a/lib/csapi/definitions/room_event_filter.h +++ b/lib/csapi/definitions/room_event_filter.h @@ -8,20 +8,20 @@ #include "csapi/definitions/event_filter.h" -namespace Quotient -{ +namespace Quotient { // Data structures -struct RoomEventFilter : EventFilter -{ +struct RoomEventFilter : EventFilter { /// A list of room IDs to exclude. If this list is absent then no rooms are /// excluded. A matching room will be excluded even if it is listed in the /// ``'rooms'`` filter. QStringList notRooms; + /// A list of room IDs to include. If this list is absent then all rooms are /// included. QStringList rooms; + /// If ``true``, includes only events with a ``url`` key in their content. /// If ``false``, excludes those events. If omitted, ``url`` key is not /// considered for filtering. @@ -29,8 +29,7 @@ struct RoomEventFilter : EventFilter }; template <> -struct JsonObjectConverter<RoomEventFilter> -{ +struct JsonObjectConverter<RoomEventFilter> { static void dumpTo(QJsonObject& jo, const RoomEventFilter& pod); static void fillFrom(const QJsonObject& jo, RoomEventFilter& pod); }; diff --git a/lib/csapi/definitions/sync_filter.h b/lib/csapi/definitions/sync_filter.h index 9ea39a65..ad8d055d 100644 --- a/lib/csapi/definitions/sync_filter.h +++ b/lib/csapi/definitions/sync_filter.h @@ -9,97 +9,102 @@ #include "csapi/definitions/event_filter.h" #include "csapi/definitions/room_event_filter.h" -namespace Quotient -{ +namespace Quotient { // Data structures /// The state events to include for rooms. -struct StateFilter : RoomEventFilter -{ - /// If ``true``, the only ``m.room.member`` events returned inthe ``state`` - /// section of the ``/sync`` response are thosewhich are definitely necessary - /// for a client to displaythe ``sender`` of the timeline events in that - /// response.If ``false``, ``m.room.member`` events are not filtered.By - /// default, servers should suppress duplicate redundantlazy-loaded - /// ``m.room.member`` events from being sent to a givenclient across multiple - /// calls to ``/sync``, given that most clientscache membership events (see - /// ``include_redundant_members``to change this behaviour). +struct StateFilter : RoomEventFilter { + /// If ``true``, the only ``m.room.member`` events returned in + /// the ``state`` section of the ``/sync`` response are those + /// which are definitely necessary for a client to display + /// the ``sender`` of the timeline events in that response. + /// If ``false``, ``m.room.member`` events are not filtered. + /// By default, servers should suppress duplicate redundant + /// lazy-loaded ``m.room.member`` events from being sent to a given + /// client across multiple calls to ``/sync``, given that most clients + /// cache membership events (see ``include_redundant_members`` + /// to change this behaviour). Omittable<bool> lazyLoadMembers; - /// If ``true``, the ``state`` section of the ``/sync`` response willalways - /// contain the ``m.room.member`` events required to displaythe ``sender`` - /// of the timeline events in that response, assuming``lazy_load_members`` - /// is enabled. This means that redundantduplicate member events may be - /// returned across multiple calls to``/sync``. This is useful for naive - /// clients who never trackmembership data. If ``false``, duplicate - /// ``m.room.member`` eventsmay be suppressed by the server across multiple - /// calls to ``/sync``.If ``lazy_load_members`` is ``false`` this field is - /// ignored. + + /// If ``true``, the ``state`` section of the ``/sync`` response will + /// always contain the ``m.room.member`` events required to display + /// the ``sender`` of the timeline events in that response, assuming + /// ``lazy_load_members`` is enabled. This means that redundant + /// duplicate member events may be returned across multiple calls to + /// ``/sync``. This is useful for naive clients who never track + /// membership data. If ``false``, duplicate ``m.room.member`` events + /// may be suppressed by the server across multiple calls to ``/sync``. + /// If ``lazy_load_members`` is ``false`` this field is ignored. Omittable<bool> includeRedundantMembers; }; template <> -struct JsonObjectConverter<StateFilter> -{ +struct JsonObjectConverter<StateFilter> { static void dumpTo(QJsonObject& jo, const StateFilter& pod); static void fillFrom(const QJsonObject& jo, StateFilter& pod); }; - /// Filters to be applied to room data. -struct RoomFilter -{ +struct RoomFilter { /// A list of room IDs to exclude. If this list is absent then no rooms are /// excluded. A matching room will be excluded even if it is listed in the /// ``'rooms'`` filter. This filter is applied before the filters in /// ``ephemeral``, ``state``, ``timeline`` or ``account_data`` QStringList notRooms; + /// A list of room IDs to include. If this list is absent then all rooms are /// included. This filter is applied before the filters in ``ephemeral``, /// ``state``, ``timeline`` or ``account_data`` QStringList rooms; + /// The events that aren't recorded in the room history, e.g. typing and /// receipts, to include for rooms. Omittable<RoomEventFilter> ephemeral; + /// Include rooms that the user has left in the sync, default false Omittable<bool> includeLeave; + /// The state events to include for rooms. Omittable<StateFilter> state; + /// The message and state update events to include for rooms. Omittable<RoomEventFilter> timeline; + /// The per user account data to include for rooms. Omittable<RoomEventFilter> accountData; }; template <> -struct JsonObjectConverter<RoomFilter> -{ +struct JsonObjectConverter<RoomFilter> { static void dumpTo(QJsonObject& jo, const RoomFilter& pod); static void fillFrom(const QJsonObject& jo, RoomFilter& pod); }; -struct Filter -{ +struct Filter { /// List of event fields to include. If this list is absent then all fields /// are included. The entries may include '.' charaters to indicate /// sub-fields. So ['content.body'] will include the 'body' field of the /// 'content' object. A literal '.' character in a field name may be escaped /// using a '\\'. A server may include more fields than were requested. QStringList eventFields; + /// The format to use for events. 'client' will return the events in a /// format suitable for clients. 'federation' will return the raw event as /// receieved over federation. The default is 'client'. QString eventFormat; + /// The presence updates to include. Omittable<EventFilter> presence; + /// The user account data that isn't associated with rooms to include. Omittable<EventFilter> accountData; + /// Filters to be applied to room data. Omittable<RoomFilter> room; }; template <> -struct JsonObjectConverter<Filter> -{ +struct JsonObjectConverter<Filter> { static void dumpTo(QJsonObject& jo, const Filter& pod); static void fillFrom(const QJsonObject& jo, Filter& pod); }; diff --git a/lib/csapi/definitions/user_identifier.h b/lib/csapi/definitions/user_identifier.h index 74e6ce2b..72a81677 100644 --- a/lib/csapi/definitions/user_identifier.h +++ b/lib/csapi/definitions/user_identifier.h @@ -8,14 +8,12 @@ #include <QtCore/QVariant> -namespace Quotient -{ +namespace Quotient { // Data structures /// Identification information for a user -struct UserIdentifier -{ +struct UserIdentifier { /// The type of identification. See `Identifier types`_ for supported /// values and additional property descriptions. QString type; @@ -25,8 +23,7 @@ struct UserIdentifier }; template <> -struct JsonObjectConverter<UserIdentifier> -{ +struct JsonObjectConverter<UserIdentifier> { static void dumpTo(QJsonObject& jo, const UserIdentifier& pod); static void fillFrom(QJsonObject jo, UserIdentifier& pod); }; diff --git a/lib/csapi/definitions/wellknown/full.h b/lib/csapi/definitions/wellknown/full.h index 92c8afff..88d7da79 100644 --- a/lib/csapi/definitions/wellknown/full.h +++ b/lib/csapi/definitions/wellknown/full.h @@ -12,20 +12,19 @@ #include <QtCore/QHash> #include <QtCore/QJsonObject> -namespace Quotient -{ +namespace Quotient { // Data structures -/// Used by clients to determine the homeserver, identity server, and other/// +/// Used by clients to determine the homeserver, identity server, and other /// optional components they should be interacting with. -struct DiscoveryInformation -{ - /// Used by clients to determine the homeserver, identity server, and - /// otheroptional components they should be interacting with. +struct DiscoveryInformation { + /// Used by clients to determine the homeserver, identity server, and other + /// optional components they should be interacting with. HomeserverInformation homeserver; - /// Used by clients to determine the homeserver, identity server, and - /// otheroptional components they should be interacting with. + + /// Used by clients to determine the homeserver, identity server, and other + /// optional components they should be interacting with. Omittable<IdentityServerInformation> identityServer; /// Application-dependent keys using Java package naming convention. @@ -33,8 +32,7 @@ struct DiscoveryInformation }; template <> -struct JsonObjectConverter<DiscoveryInformation> -{ +struct JsonObjectConverter<DiscoveryInformation> { static void dumpTo(QJsonObject& jo, const DiscoveryInformation& pod); static void fillFrom(QJsonObject jo, DiscoveryInformation& pod); }; diff --git a/lib/csapi/definitions/wellknown/homeserver.h b/lib/csapi/definitions/wellknown/homeserver.h index 606df88b..7607c8b5 100644 --- a/lib/csapi/definitions/wellknown/homeserver.h +++ b/lib/csapi/definitions/wellknown/homeserver.h @@ -6,21 +6,18 @@ #include "converters.h" -namespace Quotient -{ +namespace Quotient { // Data structures /// Used by clients to discover homeserver information. -struct HomeserverInformation -{ +struct HomeserverInformation { /// The base URL for the homeserver for client-server connections. QString baseUrl; }; template <> -struct JsonObjectConverter<HomeserverInformation> -{ +struct JsonObjectConverter<HomeserverInformation> { static void dumpTo(QJsonObject& jo, const HomeserverInformation& pod); static void fillFrom(const QJsonObject& jo, HomeserverInformation& pod); }; diff --git a/lib/csapi/definitions/wellknown/identity_server.h b/lib/csapi/definitions/wellknown/identity_server.h index b4304ef7..d272e527 100644 --- a/lib/csapi/definitions/wellknown/identity_server.h +++ b/lib/csapi/definitions/wellknown/identity_server.h @@ -6,21 +6,18 @@ #include "converters.h" -namespace Quotient -{ +namespace Quotient { // Data structures /// Used by clients to discover identity server information. -struct IdentityServerInformation -{ +struct IdentityServerInformation { /// The base URL for the identity server for client-server connections. QString baseUrl; }; template <> -struct JsonObjectConverter<IdentityServerInformation> -{ +struct JsonObjectConverter<IdentityServerInformation> { static void dumpTo(QJsonObject& jo, const IdentityServerInformation& pod); static void fillFrom(const QJsonObject& jo, IdentityServerInformation& pod); }; |