aboutsummaryrefslogtreecommitdiff
path: root/lib/csapi
diff options
context:
space:
mode:
Diffstat (limited to 'lib/csapi')
-rw-r--r--lib/csapi/account-data.h8
-rw-r--r--lib/csapi/admin.h2
-rw-r--r--lib/csapi/administrative_contact.h16
-rw-r--r--lib/csapi/appservice_room_directory.h3
-rw-r--r--lib/csapi/banning.h4
-rw-r--r--lib/csapi/capabilities.h2
-rw-r--r--lib/csapi/content-repo.h12
-rw-r--r--lib/csapi/create_room.h2
-rw-r--r--lib/csapi/cross_signing.h4
-rw-r--r--lib/csapi/device_management.h10
-rw-r--r--lib/csapi/directory.h8
-rw-r--r--lib/csapi/event_context.h2
-rw-r--r--lib/csapi/filter.h4
-rw-r--r--lib/csapi/inviting.h2
-rw-r--r--lib/csapi/joining.h4
-rw-r--r--lib/csapi/keys.h8
-rw-r--r--lib/csapi/kicking.h2
-rw-r--r--lib/csapi/knocking.h2
-rw-r--r--lib/csapi/leaving.h4
-rw-r--r--lib/csapi/list_joined_rooms.h2
-rw-r--r--lib/csapi/list_public_rooms.h8
-rw-r--r--lib/csapi/login.h4
-rw-r--r--lib/csapi/logout.h4
-rw-r--r--lib/csapi/message_pagination.h2
-rw-r--r--lib/csapi/notifications.h2
-rw-r--r--lib/csapi/openid.h2
-rw-r--r--lib/csapi/peeking_events.h2
-rw-r--r--lib/csapi/presence.h4
-rw-r--r--lib/csapi/profile.h10
-rw-r--r--lib/csapi/pusher.h4
-rw-r--r--lib/csapi/pushrules.h16
-rw-r--r--lib/csapi/read_markers.h2
-rw-r--r--lib/csapi/receipts.h2
-rw-r--r--lib/csapi/redaction.h2
-rw-r--r--lib/csapi/registration.h16
-rw-r--r--lib/csapi/report_content.h2
-rw-r--r--lib/csapi/room_send.h2
-rw-r--r--lib/csapi/room_state.h2
-rw-r--r--lib/csapi/room_upgrades.h2
-rw-r--r--lib/csapi/rooms.h10
-rw-r--r--lib/csapi/search.h2
-rw-r--r--lib/csapi/sso_login_redirect.h4
-rw-r--r--lib/csapi/tags.h6
-rw-r--r--lib/csapi/third_party_lookup.h12
-rw-r--r--lib/csapi/third_party_membership.h2
-rw-r--r--lib/csapi/to_device.h2
-rw-r--r--lib/csapi/typing.h2
-rw-r--r--lib/csapi/users.h2
-rw-r--r--lib/csapi/versions.h2
-rw-r--r--lib/csapi/voip.h2
-rw-r--r--lib/csapi/wellknown.h2
-rw-r--r--lib/csapi/whoami.h2
52 files changed, 120 insertions, 119 deletions
diff --git a/lib/csapi/account-data.h b/lib/csapi/account-data.h
index 0c760e80..5140d340 100644
--- a/lib/csapi/account-data.h
+++ b/lib/csapi/account-data.h
@@ -14,7 +14,7 @@ namespace Quotient {
* that set the account_data. The config will be synced to clients in the
* top-level `account_data`.
*/
-class SetAccountDataJob : public BaseJob {
+class QUOTIENT_API SetAccountDataJob : public BaseJob {
public:
/*! \brief Set some account_data for the user.
*
@@ -38,7 +38,7 @@ public:
* Get some account_data for the client. This config is only visible to the user
* that set the account_data.
*/
-class GetAccountDataJob : public BaseJob {
+class QUOTIENT_API GetAccountDataJob : public BaseJob {
public:
/*! \brief Get some account_data for the user.
*
@@ -67,7 +67,7 @@ public:
* visible to the user that set the account_data. The config will be synced to
* clients in the per-room `account_data`.
*/
-class SetAccountDataPerRoomJob : public BaseJob {
+class QUOTIENT_API SetAccountDataPerRoomJob : public BaseJob {
public:
/*! \brief Set some account_data for the user.
*
@@ -95,7 +95,7 @@ public:
* Get some account_data for the client on a given room. This config is only
* visible to the user that set the account_data.
*/
-class GetAccountDataPerRoomJob : public BaseJob {
+class QUOTIENT_API GetAccountDataPerRoomJob : public BaseJob {
public:
/*! \brief Get some account_data for the user.
*
diff --git a/lib/csapi/admin.h b/lib/csapi/admin.h
index 570bf24a..c53ddd7e 100644
--- a/lib/csapi/admin.h
+++ b/lib/csapi/admin.h
@@ -16,7 +16,7 @@ namespace Quotient {
* up, or by a server admin. Server-local administrator privileges are not
* specified in this document.
*/
-class GetWhoIsJob : public BaseJob {
+class QUOTIENT_API GetWhoIsJob : public BaseJob {
public:
// Inner data structures
diff --git a/lib/csapi/administrative_contact.h b/lib/csapi/administrative_contact.h
index e436971d..e636b12a 100644
--- a/lib/csapi/administrative_contact.h
+++ b/lib/csapi/administrative_contact.h
@@ -24,7 +24,7 @@ namespace Quotient {
* Identifiers in this list may be used by the homeserver as, for example,
* identifiers that it will accept to reset the user's account password.
*/
-class GetAccount3PIDsJob : public BaseJob {
+class QUOTIENT_API GetAccount3PIDsJob : public BaseJob {
public:
// Inner data structures
@@ -102,7 +102,7 @@ struct JsonObjectConverter<GetAccount3PIDsJob::ThirdPartyIdentifier> {
* This results in this endpoint being an equivalent to `/3pid/bind` rather
* than dual-purpose.
*/
-class Post3PIDsJob : public BaseJob {
+class QUOTIENT_API Post3PIDsJob : public BaseJob {
public:
// Inner data structures
@@ -154,7 +154,7 @@ struct JsonObjectConverter<Post3PIDsJob::ThreePidCredentials> {
* Homeservers should prevent the caller from adding a 3PID to their account if
* it has already been added to another user's account on the homeserver.
*/
-class Add3PIDJob : public BaseJob {
+class QUOTIENT_API Add3PIDJob : public BaseJob {
public:
/*! \brief Adds contact information to the user's account.
*
@@ -182,7 +182,7 @@ public:
*
* Homeservers should track successful binds so they can be unbound later.
*/
-class Bind3PIDJob : public BaseJob {
+class QUOTIENT_API Bind3PIDJob : public BaseJob {
public:
/*! \brief Binds a 3PID to the user's account through an Identity Service.
*
@@ -211,7 +211,7 @@ public:
* parameter because the homeserver is expected to sign the request to the
* identity server instead.
*/
-class Delete3pidFromAccountJob : public BaseJob {
+class QUOTIENT_API Delete3pidFromAccountJob : public BaseJob {
public:
/*! \brief Deletes a third party identifier from the user's account
*
@@ -254,7 +254,7 @@ public:
* parameter because the homeserver is expected to sign the request to the
* identity server instead.
*/
-class Unbind3pidFromAccountJob : public BaseJob {
+class QUOTIENT_API Unbind3pidFromAccountJob : public BaseJob {
public:
/*! \brief Removes a user's third party identifier from an identity server.
*
@@ -300,7 +300,7 @@ public:
* the email itself, either by sending a validation email itself or by using
* a service it has control over.
*/
-class RequestTokenTo3PIDEmailJob : public BaseJob {
+class QUOTIENT_API RequestTokenTo3PIDEmailJob : public BaseJob {
public:
/*! \brief Begins the validation process for an email address for
* association with the user's account.
@@ -342,7 +342,7 @@ public:
* the phone number itself, either by sending a validation message itself or by
* using a service it has control over.
*/
-class RequestTokenTo3PIDMSISDNJob : public BaseJob {
+class QUOTIENT_API RequestTokenTo3PIDMSISDNJob : public BaseJob {
public:
/*! \brief Begins the validation process for a phone number for association
* with the user's account.
diff --git a/lib/csapi/appservice_room_directory.h b/lib/csapi/appservice_room_directory.h
index 56a69592..6b2801ca 100644
--- a/lib/csapi/appservice_room_directory.h
+++ b/lib/csapi/appservice_room_directory.h
@@ -21,7 +21,8 @@ namespace Quotient {
* instead of a typical client's access_token. This API cannot be invoked by
* users who are not identified as application services.
*/
-class UpdateAppserviceRoomDirectoryVisibilityJob : public BaseJob {
+class QUOTIENT_API UpdateAppserviceRoomDirectoryVisibilityJob
+ : public BaseJob {
public:
/*! \brief Updates a room's visibility in the application service's room
* directory.
diff --git a/lib/csapi/banning.h b/lib/csapi/banning.h
index 7a9697d3..e4c60ce3 100644
--- a/lib/csapi/banning.h
+++ b/lib/csapi/banning.h
@@ -18,7 +18,7 @@ namespace Quotient {
* The caller must have the required power level in order to perform this
* operation.
*/
-class BanJob : public BaseJob {
+class QUOTIENT_API BanJob : public BaseJob {
public:
/*! \brief Ban a user in the room.
*
@@ -46,7 +46,7 @@ public:
* The caller must have the required power level in order to perform this
* operation.
*/
-class UnbanJob : public BaseJob {
+class QUOTIENT_API UnbanJob : public BaseJob {
public:
/*! \brief Unban a user from the room.
*
diff --git a/lib/csapi/capabilities.h b/lib/csapi/capabilities.h
index da50c8c1..81b47cd4 100644
--- a/lib/csapi/capabilities.h
+++ b/lib/csapi/capabilities.h
@@ -13,7 +13,7 @@ namespace Quotient {
* Gets information about the server's supported feature set
* and other relevant capabilities.
*/
-class GetCapabilitiesJob : public BaseJob {
+class QUOTIENT_API GetCapabilitiesJob : public BaseJob {
public:
// Inner data structures
diff --git a/lib/csapi/content-repo.h b/lib/csapi/content-repo.h
index 28409f5c..511db985 100644
--- a/lib/csapi/content-repo.h
+++ b/lib/csapi/content-repo.h
@@ -14,7 +14,7 @@ namespace Quotient {
/*! \brief Upload some content to the content repository.
*
*/
-class UploadContentJob : public BaseJob {
+class QUOTIENT_API UploadContentJob : public BaseJob {
public:
/*! \brief Upload some content to the content repository.
*
@@ -40,7 +40,7 @@ public:
/*! \brief Download content from the content repository.
*
*/
-class GetContentJob : public BaseJob {
+class QUOTIENT_API GetContentJob : public BaseJob {
public:
/*! \brief Download content from the content repository.
*
@@ -87,7 +87,7 @@ public:
* the previous endpoint) but replace the target file name with the one
* provided by the caller.
*/
-class GetContentOverrideNameJob : public BaseJob {
+class QUOTIENT_API GetContentOverrideNameJob : public BaseJob {
public:
/*! \brief Download content from the content repository overriding the file
* name
@@ -142,7 +142,7 @@ public:
* See the [Thumbnails](/client-server-api/#thumbnails) section for more
* information.
*/
-class GetContentThumbnailJob : public BaseJob {
+class QUOTIENT_API GetContentThumbnailJob : public BaseJob {
public:
/*! \brief Download a thumbnail of content from the content repository
*
@@ -204,7 +204,7 @@ public:
* do not want to share with the homeserver, and this can mean that the URLs
* being shared should also not be shared with the homeserver.
*/
-class GetUrlPreviewJob : public BaseJob {
+class QUOTIENT_API GetUrlPreviewJob : public BaseJob {
public:
/*! \brief Get information about a URL for a client
*
@@ -252,7 +252,7 @@ public:
* content repository APIs, for example, proxies may enforce a lower upload size
* limit than is advertised by the server on this endpoint.
*/
-class GetConfigJob : public BaseJob {
+class QUOTIENT_API GetConfigJob : public BaseJob {
public:
/// Get the configuration for the content repository.
explicit GetConfigJob();
diff --git a/lib/csapi/create_room.h b/lib/csapi/create_room.h
index 81dfbffc..7d566057 100644
--- a/lib/csapi/create_room.h
+++ b/lib/csapi/create_room.h
@@ -53,7 +53,7 @@ namespace Quotient {
* requesting user as the creator, alongside other keys provided in the
* `creation_content`.
*/
-class CreateRoomJob : public BaseJob {
+class QUOTIENT_API CreateRoomJob : public BaseJob {
public:
// Inner data structures
diff --git a/lib/csapi/cross_signing.h b/lib/csapi/cross_signing.h
index 2ab65e06..617b61d1 100644
--- a/lib/csapi/cross_signing.h
+++ b/lib/csapi/cross_signing.h
@@ -17,7 +17,7 @@ namespace Quotient {
* This API endpoint uses the [User-Interactive Authentication
* API](/client-server-api/#user-interactive-authentication-api).
*/
-class UploadCrossSigningKeysJob : public BaseJob {
+class QUOTIENT_API UploadCrossSigningKeysJob : public BaseJob {
public:
/*! \brief Upload cross-signing keys.
*
@@ -47,7 +47,7 @@ public:
* Publishes cross-signing signatures for the user. The request body is a
* map from user ID to key ID to signed JSON object.
*/
-class UploadCrossSigningSignaturesJob : public BaseJob {
+class QUOTIENT_API UploadCrossSigningSignaturesJob : public BaseJob {
public:
/*! \brief Upload cross-signing signatures.
*
diff --git a/lib/csapi/device_management.h b/lib/csapi/device_management.h
index 7fb69873..430d2132 100644
--- a/lib/csapi/device_management.h
+++ b/lib/csapi/device_management.h
@@ -15,7 +15,7 @@ namespace Quotient {
*
* Gets information about all devices for the current user.
*/
-class GetDevicesJob : public BaseJob {
+class QUOTIENT_API GetDevicesJob : public BaseJob {
public:
/// List registered devices for the current user
explicit GetDevicesJob();
@@ -40,7 +40,7 @@ public:
*
* Gets information on a single device, by device id.
*/
-class GetDeviceJob : public BaseJob {
+class QUOTIENT_API GetDeviceJob : public BaseJob {
public:
/*! \brief Get a single device
*
@@ -66,7 +66,7 @@ public:
*
* Updates the metadata on the given device.
*/
-class UpdateDeviceJob : public BaseJob {
+class QUOTIENT_API UpdateDeviceJob : public BaseJob {
public:
/*! \brief Update a device
*
@@ -88,7 +88,7 @@ public:
*
* Deletes the given device, and invalidates any access token associated with it.
*/
-class DeleteDeviceJob : public BaseJob {
+class QUOTIENT_API DeleteDeviceJob : public BaseJob {
public:
/*! \brief Delete a device
*
@@ -111,7 +111,7 @@ public:
* Deletes the given devices, and invalidates any access token associated with
* them.
*/
-class DeleteDevicesJob : public BaseJob {
+class QUOTIENT_API DeleteDevicesJob : public BaseJob {
public:
/*! \brief Bulk deletion of devices
*
diff --git a/lib/csapi/directory.h b/lib/csapi/directory.h
index 93a31595..0bd13a76 100644
--- a/lib/csapi/directory.h
+++ b/lib/csapi/directory.h
@@ -11,7 +11,7 @@ namespace Quotient {
/*! \brief Create a new mapping from room alias to room ID.
*
*/
-class SetRoomAliasJob : public BaseJob {
+class QUOTIENT_API SetRoomAliasJob : public BaseJob {
public:
/*! \brief Create a new mapping from room alias to room ID.
*
@@ -32,7 +32,7 @@ public:
* domain part of the alias does not correspond to the server's own
* domain.
*/
-class GetRoomIdByAliasJob : public BaseJob {
+class QUOTIENT_API GetRoomIdByAliasJob : public BaseJob {
public:
/*! \brief Get the room ID corresponding to this room alias.
*
@@ -76,7 +76,7 @@ public:
* return a successful response even if the user does not have permission to
* update the `m.room.canonical_alias` event.
*/
-class DeleteRoomAliasJob : public BaseJob {
+class QUOTIENT_API DeleteRoomAliasJob : public BaseJob {
public:
/*! \brief Remove a mapping of room alias to room ID.
*
@@ -112,7 +112,7 @@ public:
* as they are not curated, unlike those listed in the `m.room.canonical_alias`
* state event.
*/
-class GetLocalAliasesJob : public BaseJob {
+class QUOTIENT_API GetLocalAliasesJob : public BaseJob {
public:
/*! \brief Get a list of local aliases on a given room.
*
diff --git a/lib/csapi/event_context.h b/lib/csapi/event_context.h
index 4e50edf3..662b976b 100644
--- a/lib/csapi/event_context.h
+++ b/lib/csapi/event_context.h
@@ -19,7 +19,7 @@ namespace Quotient {
* [Lazy-loading room members](/client-server-api/#lazy-loading-room-members)
* for more information.
*/
-class GetEventContextJob : public BaseJob {
+class QUOTIENT_API GetEventContextJob : public BaseJob {
public:
/*! \brief Get events and state around the specified event.
*
diff --git a/lib/csapi/filter.h b/lib/csapi/filter.h
index 01bec36b..9518a461 100644
--- a/lib/csapi/filter.h
+++ b/lib/csapi/filter.h
@@ -16,7 +16,7 @@ namespace Quotient {
* Returns a filter ID that may be used in future requests to
* restrict which events are returned to the client.
*/
-class DefineFilterJob : public BaseJob {
+class QUOTIENT_API DefineFilterJob : public BaseJob {
public:
/*! \brief Upload a new filter.
*
@@ -41,7 +41,7 @@ public:
/*! \brief Download a filter
*
*/
-class GetFilterJob : public BaseJob {
+class QUOTIENT_API GetFilterJob : public BaseJob {
public:
/*! \brief Download a filter
*
diff --git a/lib/csapi/inviting.h b/lib/csapi/inviting.h
index eb13cc95..21e6cb74 100644
--- a/lib/csapi/inviting.h
+++ b/lib/csapi/inviting.h
@@ -26,7 +26,7 @@ namespace Quotient {
* If the user was invited to the room, the homeserver will append a
* `m.room.member` event to the room.
*/
-class InviteUserJob : public BaseJob {
+class QUOTIENT_API InviteUserJob : public BaseJob {
public:
/*! \brief Invite a user to participate in a particular room.
*
diff --git a/lib/csapi/joining.h b/lib/csapi/joining.h
index d0199b11..f64152f7 100644
--- a/lib/csapi/joining.h
+++ b/lib/csapi/joining.h
@@ -25,7 +25,7 @@ namespace Quotient {
* [`/initialSync`](/client-server-api/#get_matrixclientr0initialsync) and
* [`/sync`](/client-server-api/#get_matrixclientr0sync) APIs.
*/
-class JoinRoomByIdJob : public BaseJob {
+class QUOTIENT_API JoinRoomByIdJob : public BaseJob {
public:
/*! \brief Start the requesting user participating in a particular room.
*
@@ -67,7 +67,7 @@ public:
* [`/initialSync`](/client-server-api/#get_matrixclientr0initialsync) and
* [`/sync`](/client-server-api/#get_matrixclientr0sync) APIs.
*/
-class JoinRoomJob : public BaseJob {
+class QUOTIENT_API JoinRoomJob : public BaseJob {
public:
/*! \brief Start the requesting user participating in a particular room.
*
diff --git a/lib/csapi/keys.h b/lib/csapi/keys.h
index 7db09e8d..ce1ca9ed 100644
--- a/lib/csapi/keys.h
+++ b/lib/csapi/keys.h
@@ -15,7 +15,7 @@ namespace Quotient {
*
* Publishes end-to-end encryption keys for the device.
*/
-class UploadKeysJob : public BaseJob {
+class QUOTIENT_API UploadKeysJob : public BaseJob {
public:
/*! \brief Upload end-to-end encryption keys.
*
@@ -48,7 +48,7 @@ public:
*
* Returns the current devices and identity keys for the given users.
*/
-class QueryKeysJob : public BaseJob {
+class QUOTIENT_API QueryKeysJob : public BaseJob {
public:
// Inner data structures
@@ -172,7 +172,7 @@ struct JsonObjectConverter<QueryKeysJob::DeviceInformation> {
*
* Claims one-time keys for use in pre-key messages.
*/
-class ClaimKeysJob : public BaseJob {
+class QUOTIENT_API ClaimKeysJob : public BaseJob {
public:
/*! \brief Claim one-time encryption keys.
*
@@ -226,7 +226,7 @@ public:
* * added new device identity keys or removed an existing device with
* identity keys, between `from` and `to`.
*/
-class GetKeysChangesJob : public BaseJob {
+class QUOTIENT_API GetKeysChangesJob : public BaseJob {
public:
/*! \brief Query users with recent device key updates.
*
diff --git a/lib/csapi/kicking.h b/lib/csapi/kicking.h
index 11018368..6ac106e2 100644
--- a/lib/csapi/kicking.h
+++ b/lib/csapi/kicking.h
@@ -20,7 +20,7 @@ namespace Quotient {
* directly adjust the target member's state by making a request to
* `/rooms/<room id>/state/m.room.member/<user id>`.
*/
-class KickJob : public BaseJob {
+class QUOTIENT_API KickJob : public BaseJob {
public:
/*! \brief Kick a user from the room.
*
diff --git a/lib/csapi/knocking.h b/lib/csapi/knocking.h
index 1108cb64..e3645b59 100644
--- a/lib/csapi/knocking.h
+++ b/lib/csapi/knocking.h
@@ -27,7 +27,7 @@ namespace Quotient {
* The knock will appear as an entry in the response of the
* [`/sync`](/client-server-api/#get_matrixclientr0sync) API.
*/
-class KnockRoomJob : public BaseJob {
+class QUOTIENT_API KnockRoomJob : public BaseJob {
public:
/*! \brief Knock on a room, requesting permission to join.
*
diff --git a/lib/csapi/leaving.h b/lib/csapi/leaving.h
index 2e402d16..19cac3f0 100644
--- a/lib/csapi/leaving.h
+++ b/lib/csapi/leaving.h
@@ -22,7 +22,7 @@ namespace Quotient {
* The user will still be allowed to retrieve history from the room which
* they were previously allowed to see.
*/
-class LeaveRoomJob : public BaseJob {
+class QUOTIENT_API LeaveRoomJob : public BaseJob {
public:
/*! \brief Stop the requesting user participating in a particular room.
*
@@ -48,7 +48,7 @@ public:
* If the user is currently joined to the room, they must leave the room
* before calling this API.
*/
-class ForgetRoomJob : public BaseJob {
+class QUOTIENT_API ForgetRoomJob : public BaseJob {
public:
/*! \brief Stop the requesting user remembering about a particular room.
*
diff --git a/lib/csapi/list_joined_rooms.h b/lib/csapi/list_joined_rooms.h
index 59a24a49..aea68afd 100644
--- a/lib/csapi/list_joined_rooms.h
+++ b/lib/csapi/list_joined_rooms.h
@@ -12,7 +12,7 @@ namespace Quotient {
*
* This API returns a list of the user's current rooms.
*/
-class GetJoinedRoomsJob : public BaseJob {
+class QUOTIENT_API GetJoinedRoomsJob : public BaseJob {
public:
/// Lists the user's current rooms.
explicit GetJoinedRoomsJob();
diff --git a/lib/csapi/list_public_rooms.h b/lib/csapi/list_public_rooms.h
index 963c8b56..e1f03db7 100644
--- a/lib/csapi/list_public_rooms.h
+++ b/lib/csapi/list_public_rooms.h
@@ -14,7 +14,7 @@ namespace Quotient {
*
* Gets the visibility of a given room on the server's public room directory.
*/
-class GetRoomVisibilityOnDirectoryJob : public BaseJob {
+class QUOTIENT_API GetRoomVisibilityOnDirectoryJob : public BaseJob {
public:
/*! \brief Gets the visibility of a room in the directory
*
@@ -48,7 +48,7 @@ public:
* here, for instance that room visibility can only be changed by
* the room creator or a server administrator.
*/
-class SetRoomVisibilityOnDirectoryJob : public BaseJob {
+class QUOTIENT_API SetRoomVisibilityOnDirectoryJob : public BaseJob {
public:
/*! \brief Sets the visibility of a room in the room directory
*
@@ -70,7 +70,7 @@ public:
* This API returns paginated responses. The rooms are ordered by the number
* of joined members, with the largest rooms first.
*/
-class GetPublicRoomsJob : public BaseJob {
+class QUOTIENT_API GetPublicRoomsJob : public BaseJob {
public:
/*! \brief Lists the public rooms on the server.
*
@@ -133,7 +133,7 @@ public:
* This API returns paginated responses. The rooms are ordered by the number
* of joined members, with the largest rooms first.
*/
-class QueryPublicRoomsJob : public BaseJob {
+class QUOTIENT_API QueryPublicRoomsJob : public BaseJob {
public:
// Inner data structures
diff --git a/lib/csapi/login.h b/lib/csapi/login.h
index b35db1eb..ce6951eb 100644
--- a/lib/csapi/login.h
+++ b/lib/csapi/login.h
@@ -16,7 +16,7 @@ namespace Quotient {
* Gets the homeserver's supported login types to authenticate users. Clients
* should pick one of these and supply it as the `type` when logging in.
*/
-class GetLoginFlowsJob : public BaseJob {
+class QUOTIENT_API GetLoginFlowsJob : public BaseJob {
public:
// Inner data structures
@@ -73,7 +73,7 @@ struct JsonObjectConverter<GetLoginFlowsJob::LoginFlow> {
* [Relationship between access tokens and
* devices](/client-server-api/#relationship-between-access-tokens-and-devices).
*/
-class LoginJob : public BaseJob {
+class QUOTIENT_API LoginJob : public BaseJob {
public:
/*! \brief Authenticates the user.
*
diff --git a/lib/csapi/logout.h b/lib/csapi/logout.h
index 2e4c2692..3f1ac7fa 100644
--- a/lib/csapi/logout.h
+++ b/lib/csapi/logout.h
@@ -15,7 +15,7 @@ namespace Quotient {
* [Device keys](/client-server-api/#device-keys) for the device are deleted
* alongside the device.
*/
-class LogoutJob : public BaseJob {
+class QUOTIENT_API LogoutJob : public BaseJob {
public:
/// Invalidates a user access token
explicit LogoutJob();
@@ -44,7 +44,7 @@ public:
* used in the request, and therefore the attacker is unable to take over the
* account in this way.
*/
-class LogoutAllJob : public BaseJob {
+class QUOTIENT_API LogoutAllJob : public BaseJob {
public:
/// Invalidates all access tokens for a user
explicit LogoutAllJob();
diff --git a/lib/csapi/message_pagination.h b/lib/csapi/message_pagination.h
index 363e4d99..8c18f104 100644
--- a/lib/csapi/message_pagination.h
+++ b/lib/csapi/message_pagination.h
@@ -18,7 +18,7 @@ namespace Quotient {
* [Lazy-loading room members](/client-server-api/#lazy-loading-room-members)
* for more information.
*/
-class GetRoomEventsJob : public BaseJob {
+class QUOTIENT_API GetRoomEventsJob : public BaseJob {
public:
/*! \brief Get a list of events for this room
*
diff --git a/lib/csapi/notifications.h b/lib/csapi/notifications.h
index 0c38fe6b..23211758 100644
--- a/lib/csapi/notifications.h
+++ b/lib/csapi/notifications.h
@@ -14,7 +14,7 @@ namespace Quotient {
* This API is used to paginate through the list of events that the
* user has been, or would have been notified about.
*/
-class GetNotificationsJob : public BaseJob {
+class QUOTIENT_API GetNotificationsJob : public BaseJob {
public:
// Inner data structures
diff --git a/lib/csapi/openid.h b/lib/csapi/openid.h
index 0be39c8c..773b6011 100644
--- a/lib/csapi/openid.h
+++ b/lib/csapi/openid.h
@@ -21,7 +21,7 @@ namespace Quotient {
* be used to request another OpenID access token or call `/sync`, for
* example.
*/
-class RequestOpenIdTokenJob : public BaseJob {
+class QUOTIENT_API RequestOpenIdTokenJob : public BaseJob {
public:
/*! \brief Get an OpenID token object to verify the requester's identity.
*
diff --git a/lib/csapi/peeking_events.h b/lib/csapi/peeking_events.h
index 885ff340..14cb6f0b 100644
--- a/lib/csapi/peeking_events.h
+++ b/lib/csapi/peeking_events.h
@@ -22,7 +22,7 @@ namespace Quotient {
* API will also be deprecated at some point, but its replacement is not
* yet known.
*/
-class PeekEventsJob : public BaseJob {
+class QUOTIENT_API PeekEventsJob : public BaseJob {
public:
/*! \brief Listen on the event stream.
*
diff --git a/lib/csapi/presence.h b/lib/csapi/presence.h
index 4ab50e25..52445205 100644
--- a/lib/csapi/presence.h
+++ b/lib/csapi/presence.h
@@ -15,7 +15,7 @@ namespace Quotient {
* not need to specify the `last_active_ago` field. You cannot set the
* presence state of another user.
*/
-class SetPresenceJob : public BaseJob {
+class QUOTIENT_API SetPresenceJob : public BaseJob {
public:
/*! \brief Update this user's presence state.
*
@@ -36,7 +36,7 @@ public:
*
* Get the given user's presence state.
*/
-class GetPresenceJob : public BaseJob {
+class QUOTIENT_API GetPresenceJob : public BaseJob {
public:
/*! \brief Get this user's presence state.
*
diff --git a/lib/csapi/profile.h b/lib/csapi/profile.h
index 7f9c9e95..b00c944b 100644
--- a/lib/csapi/profile.h
+++ b/lib/csapi/profile.h
@@ -13,7 +13,7 @@ namespace Quotient {
* This API sets the given user's display name. You must have permission to
* set this user's display name, e.g. you need to have their `access_token`.
*/
-class SetDisplayNameJob : public BaseJob {
+class QUOTIENT_API SetDisplayNameJob : public BaseJob {
public:
/*! \brief Set the user's display name.
*
@@ -33,7 +33,7 @@ public:
* own displayname or to query the name of other users; either locally or
* on remote homeservers.
*/
-class GetDisplayNameJob : public BaseJob {
+class QUOTIENT_API GetDisplayNameJob : public BaseJob {
public:
/*! \brief Get the user's display name.
*
@@ -63,7 +63,7 @@ public:
* This API sets the given user's avatar URL. You must have permission to
* set this user's avatar URL, e.g. you need to have their `access_token`.
*/
-class SetAvatarUrlJob : public BaseJob {
+class QUOTIENT_API SetAvatarUrlJob : public BaseJob {
public:
/*! \brief Set the user's avatar URL.
*
@@ -82,7 +82,7 @@ public:
* own avatar URL or to query the URL of other users; either locally or
* on remote homeservers.
*/
-class GetAvatarUrlJob : public BaseJob {
+class QUOTIENT_API GetAvatarUrlJob : public BaseJob {
public:
/*! \brief Get the user's avatar URL.
*
@@ -111,7 +111,7 @@ public:
* locally or on remote homeservers. This API may return keys which are not
* limited to `displayname` or `avatar_url`.
*/
-class GetUserProfileJob : public BaseJob {
+class QUOTIENT_API GetUserProfileJob : public BaseJob {
public:
/*! \brief Get this user's profile information.
*
diff --git a/lib/csapi/pusher.h b/lib/csapi/pusher.h
index 622b0df6..d859ffc4 100644
--- a/lib/csapi/pusher.h
+++ b/lib/csapi/pusher.h
@@ -12,7 +12,7 @@ namespace Quotient {
*
* Gets all currently active pushers for the authenticated user.
*/
-class GetPushersJob : public BaseJob {
+class QUOTIENT_API GetPushersJob : public BaseJob {
public:
// Inner data structures
@@ -108,7 +108,7 @@ struct JsonObjectConverter<GetPushersJob::Pusher> {
* [pushers](/client-server-api/#push-notifications) for this user ID. The
* behaviour of this endpoint varies depending on the values in the JSON body.
*/
-class PostPusherJob : public BaseJob {
+class QUOTIENT_API PostPusherJob : public BaseJob {
public:
// Inner data structures
diff --git a/lib/csapi/pushrules.h b/lib/csapi/pushrules.h
index a5eb48f0..d6c57efd 100644
--- a/lib/csapi/pushrules.h
+++ b/lib/csapi/pushrules.h
@@ -19,7 +19,7 @@ namespace Quotient {
* `/pushrules/global/`. This will return a subset of this data under the
* specified key e.g. the `global` key.
*/
-class GetPushRulesJob : public BaseJob {
+class QUOTIENT_API GetPushRulesJob : public BaseJob {
public:
/// Retrieve all push rulesets.
explicit GetPushRulesJob();
@@ -44,7 +44,7 @@ public:
*
* Retrieve a single specified push rule.
*/
-class GetPushRuleJob : public BaseJob {
+class QUOTIENT_API GetPushRuleJob : public BaseJob {
public:
/*! \brief Retrieve a push rule.
*
@@ -79,7 +79,7 @@ public:
*
* This endpoint removes the push rule defined in the path.
*/
-class DeletePushRuleJob : public BaseJob {
+class QUOTIENT_API DeletePushRuleJob : public BaseJob {
public:
/*! \brief Delete a push rule.
*
@@ -112,7 +112,7 @@ public:
*
* When creating push rules, they MUST be enabled by default.
*/
-class SetPushRuleJob : public BaseJob {
+class QUOTIENT_API SetPushRuleJob : public BaseJob {
public:
/*! \brief Add or change a push rule.
*
@@ -160,7 +160,7 @@ public:
*
* This endpoint gets whether the specified push rule is enabled.
*/
-class IsPushRuleEnabledJob : public BaseJob {
+class QUOTIENT_API IsPushRuleEnabledJob : public BaseJob {
public:
/*! \brief Get whether a push rule is enabled
*
@@ -195,7 +195,7 @@ public:
*
* This endpoint allows clients to enable or disable the specified push rule.
*/
-class SetPushRuleEnabledJob : public BaseJob {
+class QUOTIENT_API SetPushRuleEnabledJob : public BaseJob {
public:
/*! \brief Enable or disable a push rule.
*
@@ -219,7 +219,7 @@ public:
*
* This endpoint get the actions for the specified push rule.
*/
-class GetPushRuleActionsJob : public BaseJob {
+class QUOTIENT_API GetPushRuleActionsJob : public BaseJob {
public:
/*! \brief The actions for a push rule
*
@@ -258,7 +258,7 @@ public:
* This endpoint allows clients to change the actions of a push rule.
* This can be used to change the actions of builtin rules.
*/
-class SetPushRuleActionsJob : public BaseJob {
+class QUOTIENT_API SetPushRuleActionsJob : public BaseJob {
public:
/*! \brief Set the actions for a push rule.
*
diff --git a/lib/csapi/read_markers.h b/lib/csapi/read_markers.h
index 00a2aa0d..d13fa4fc 100644
--- a/lib/csapi/read_markers.h
+++ b/lib/csapi/read_markers.h
@@ -13,7 +13,7 @@ namespace Quotient {
* Sets the position of the read marker for a given room, and optionally
* the read receipt's location.
*/
-class SetReadMarkerJob : public BaseJob {
+class QUOTIENT_API SetReadMarkerJob : public BaseJob {
public:
/*! \brief Set the position of the read marker for a room.
*
diff --git a/lib/csapi/receipts.h b/lib/csapi/receipts.h
index 7ac093cd..e29e7b29 100644
--- a/lib/csapi/receipts.h
+++ b/lib/csapi/receipts.h
@@ -13,7 +13,7 @@ namespace Quotient {
* This API updates the marker for the given receipt type to the event ID
* specified.
*/
-class PostReceiptJob : public BaseJob {
+class QUOTIENT_API PostReceiptJob : public BaseJob {
public:
/*! \brief Send a receipt for the given event ID.
*
diff --git a/lib/csapi/redaction.h b/lib/csapi/redaction.h
index f0db9f9f..29d9c5d5 100644
--- a/lib/csapi/redaction.h
+++ b/lib/csapi/redaction.h
@@ -22,7 +22,7 @@ namespace Quotient {
*
* Server administrators may redact events sent by users on their server.
*/
-class RedactEventJob : public BaseJob {
+class QUOTIENT_API RedactEventJob : public BaseJob {
public:
/*! \brief Strips all non-integrity-critical information out of an event.
*
diff --git a/lib/csapi/registration.h b/lib/csapi/registration.h
index c1614f20..10375971 100644
--- a/lib/csapi/registration.h
+++ b/lib/csapi/registration.h
@@ -59,7 +59,7 @@ namespace Quotient {
* Any user ID returned by this API must conform to the grammar given in the
* [Matrix specification](/appendices/#user-identifiers).
*/
-class RegisterJob : public BaseJob {
+class QUOTIENT_API RegisterJob : public BaseJob {
public:
/*! \brief Register for an account on this homeserver.
*
@@ -143,7 +143,7 @@ public:
* should validate the email itself, either by sending a validation email
* itself or by using a service it has control over.
*/
-class RequestTokenToRegisterEmailJob : public BaseJob {
+class QUOTIENT_API RequestTokenToRegisterEmailJob : public BaseJob {
public:
/*! \brief Begins the validation process for an email to be used during
* registration.
@@ -175,7 +175,7 @@ public:
* should validate the phone number itself, either by sending a validation
* message itself or by using a service it has control over.
*/
-class RequestTokenToRegisterMSISDNJob : public BaseJob {
+class QUOTIENT_API RequestTokenToRegisterMSISDNJob : public BaseJob {
public:
/*! \brief Requests a validation token be sent to the given phone number for
* the purpose of registering an account
@@ -215,7 +215,7 @@ public:
* access token provided in the request. Whether other access tokens for
* the user are revoked depends on the request parameters.
*/
-class ChangePasswordJob : public BaseJob {
+class QUOTIENT_API ChangePasswordJob : public BaseJob {
public:
/*! \brief Changes a user's password.
*
@@ -257,7 +257,7 @@ public:
* The homeserver should validate the email itself, either by sending a
* validation email itself or by using a service it has control over.
*/
-class RequestTokenToResetPasswordEmailJob : public BaseJob {
+class QUOTIENT_API RequestTokenToResetPasswordEmailJob : public BaseJob {
public:
/*! \brief Requests a validation token be sent to the given email address
* for the purpose of resetting a user's password
@@ -309,7 +309,7 @@ public:
* The homeserver should validate the phone number itself, either by sending a
* validation message itself or by using a service it has control over.
*/
-class RequestTokenToResetPasswordMSISDNJob : public BaseJob {
+class QUOTIENT_API RequestTokenToResetPasswordMSISDNJob : public BaseJob {
public:
/*! \brief Requests a validation token be sent to the given phone number for
* the purpose of resetting a user's password.
@@ -361,7 +361,7 @@ public:
* parameter because the homeserver is expected to sign the request to the
* identity server instead.
*/
-class DeactivateAccountJob : public BaseJob {
+class QUOTIENT_API DeactivateAccountJob : public BaseJob {
public:
/*! \brief Deactivate a user's account.
*
@@ -411,7 +411,7 @@ public:
* reserve the username. This can mean that the username becomes unavailable
* between checking its availability and attempting to register it.
*/
-class CheckUsernameAvailabilityJob : public BaseJob {
+class QUOTIENT_API CheckUsernameAvailabilityJob : public BaseJob {
public:
/*! \brief Checks to see if a username is available on the server.
*
diff --git a/lib/csapi/report_content.h b/lib/csapi/report_content.h
index e401c2e1..8c533c19 100644
--- a/lib/csapi/report_content.h
+++ b/lib/csapi/report_content.h
@@ -13,7 +13,7 @@ namespace Quotient {
* Reports an event as inappropriate to the server, which may then notify
* the appropriate people.
*/
-class ReportContentJob : public BaseJob {
+class QUOTIENT_API ReportContentJob : public BaseJob {
public:
/*! \brief Reports an event as inappropriate.
*
diff --git a/lib/csapi/room_send.h b/lib/csapi/room_send.h
index 96f5beca..fea3d59d 100644
--- a/lib/csapi/room_send.h
+++ b/lib/csapi/room_send.h
@@ -18,7 +18,7 @@ namespace Quotient {
* fields in this object will vary depending on the type of event. See
* [Room Events](/client-server-api/#room-events) for the m. event specification.
*/
-class SendMessageJob : public BaseJob {
+class QUOTIENT_API SendMessageJob : public BaseJob {
public:
/*! \brief Send a message event to the given room.
*
diff --git a/lib/csapi/room_state.h b/lib/csapi/room_state.h
index f95af223..a00b0947 100644
--- a/lib/csapi/room_state.h
+++ b/lib/csapi/room_state.h
@@ -29,7 +29,7 @@ namespace Quotient {
* state event is to be sent. Servers do not validate aliases which are
* being removed or are already present in the state event.
*/
-class SetRoomStateWithKeyJob : public BaseJob {
+class QUOTIENT_API SetRoomStateWithKeyJob : public BaseJob {
public:
/*! \brief Send a state event to the given room.
*
diff --git a/lib/csapi/room_upgrades.h b/lib/csapi/room_upgrades.h
index 58327587..0432f667 100644
--- a/lib/csapi/room_upgrades.h
+++ b/lib/csapi/room_upgrades.h
@@ -12,7 +12,7 @@ namespace Quotient {
*
* Upgrades the given room to a particular room version.
*/
-class UpgradeRoomJob : public BaseJob {
+class QUOTIENT_API UpgradeRoomJob : public BaseJob {
public:
/*! \brief Upgrades a room to a new room version.
*
diff --git a/lib/csapi/rooms.h b/lib/csapi/rooms.h
index 2620582b..f0815109 100644
--- a/lib/csapi/rooms.h
+++ b/lib/csapi/rooms.h
@@ -15,7 +15,7 @@ namespace Quotient {
* Get a single event based on `roomId/eventId`. You must have permission to
* retrieve this event e.g. by being a member in the room for this event.
*/
-class GetOneRoomEventJob : public BaseJob {
+class QUOTIENT_API GetOneRoomEventJob : public BaseJob {
public:
/*! \brief Get a single event by event ID.
*
@@ -48,7 +48,7 @@ public:
* state of the room. If the user has left the room then the state is
* taken from the state of the room when they left.
*/
-class GetRoomStateWithKeyJob : public BaseJob {
+class QUOTIENT_API GetRoomStateWithKeyJob : public BaseJob {
public:
/*! \brief Get the state identified by the type and key.
*
@@ -80,7 +80,7 @@ public:
*
* Get the state events for the current state of a room.
*/
-class GetRoomStateJob : public BaseJob {
+class QUOTIENT_API GetRoomStateJob : public BaseJob {
public:
/*! \brief Get all state events in the current state of a room.
*
@@ -106,7 +106,7 @@ public:
*
* Get the list of members for this room.
*/
-class GetMembersByRoomJob : public BaseJob {
+class QUOTIENT_API GetMembersByRoomJob : public BaseJob {
public:
/*! \brief Get the m.room.member events for the room.
*
@@ -161,7 +161,7 @@ public:
* respond than `/members` as it can be implemented more efficiently on the
* server.
*/
-class GetJoinedMembersByRoomJob : public BaseJob {
+class QUOTIENT_API GetJoinedMembersByRoomJob : public BaseJob {
public:
// Inner data structures
diff --git a/lib/csapi/search.h b/lib/csapi/search.h
index 3d02752a..8683413d 100644
--- a/lib/csapi/search.h
+++ b/lib/csapi/search.h
@@ -15,7 +15,7 @@ namespace Quotient {
*
* Performs a full text search across different categories.
*/
-class SearchJob : public BaseJob {
+class QUOTIENT_API SearchJob : public BaseJob {
public:
// Inner data structures
diff --git a/lib/csapi/sso_login_redirect.h b/lib/csapi/sso_login_redirect.h
index ade1eb7d..f4f81c1e 100644
--- a/lib/csapi/sso_login_redirect.h
+++ b/lib/csapi/sso_login_redirect.h
@@ -17,7 +17,7 @@ namespace Quotient {
* or present a page which lets the user select an IdP to continue
* with in the event multiple are supported by the server.
*/
-class RedirectToSSOJob : public BaseJob {
+class QUOTIENT_API RedirectToSSOJob : public BaseJob {
public:
/*! \brief Redirect the user's browser to the SSO interface.
*
@@ -44,7 +44,7 @@ public:
* The server MUST respond with an HTTP redirect to the SSO interface
* for that IdP.
*/
-class RedirectToIdPJob : public BaseJob {
+class QUOTIENT_API RedirectToIdPJob : public BaseJob {
public:
/*! \brief Redirect the user's browser to the SSO interface for an IdP.
*
diff --git a/lib/csapi/tags.h b/lib/csapi/tags.h
index a854531a..f4250674 100644
--- a/lib/csapi/tags.h
+++ b/lib/csapi/tags.h
@@ -12,7 +12,7 @@ namespace Quotient {
*
* List the tags set by a user on a room.
*/
-class GetRoomTagsJob : public BaseJob {
+class QUOTIENT_API GetRoomTagsJob : public BaseJob {
public:
// Inner data structures
@@ -68,7 +68,7 @@ struct JsonObjectConverter<GetRoomTagsJob::Tag> {
*
* Add a tag to the room.
*/
-class SetRoomTagJob : public BaseJob {
+class QUOTIENT_API SetRoomTagJob : public BaseJob {
public:
/*! \brief Add a tag to a room.
*
@@ -98,7 +98,7 @@ public:
*
* Remove a tag from the room.
*/
-class DeleteRoomTagJob : public BaseJob {
+class QUOTIENT_API DeleteRoomTagJob : public BaseJob {
public:
/*! \brief Remove a tag from the room.
*
diff --git a/lib/csapi/third_party_lookup.h b/lib/csapi/third_party_lookup.h
index 969e767c..30c5346e 100644
--- a/lib/csapi/third_party_lookup.h
+++ b/lib/csapi/third_party_lookup.h
@@ -18,7 +18,7 @@ namespace Quotient {
* homeserver. Includes both the available protocols and all fields
* required for queries against each protocol.
*/
-class GetProtocolsJob : public BaseJob {
+class QUOTIENT_API GetProtocolsJob : public BaseJob {
public:
/// Retrieve metadata about all protocols that a homeserver supports.
explicit GetProtocolsJob();
@@ -45,7 +45,7 @@ public:
* Fetches the metadata from the homeserver about a particular third party
* protocol.
*/
-class GetProtocolMetadataJob : public BaseJob {
+class QUOTIENT_API GetProtocolMetadataJob : public BaseJob {
public:
/*! \brief Retrieve metadata about a specific protocol that the homeserver
* supports.
@@ -82,7 +82,7 @@ public:
* identifier. It should attempt to canonicalise the identifier as much
* as reasonably possible given the network type.
*/
-class QueryLocationByProtocolJob : public BaseJob {
+class QUOTIENT_API QueryLocationByProtocolJob : public BaseJob {
public:
/*! \brief Retrieve Matrix-side portals rooms leading to a third party
* location.
@@ -119,7 +119,7 @@ public:
* Retrieve a Matrix User ID linked to a user on the third party service, given
* a set of user parameters.
*/
-class QueryUserByProtocolJob : public BaseJob {
+class QUOTIENT_API QueryUserByProtocolJob : public BaseJob {
public:
/*! \brief Retrieve the Matrix User ID of a corresponding third party user.
*
@@ -155,7 +155,7 @@ public:
* Retrieve an array of third party network locations from a Matrix room
* alias.
*/
-class QueryLocationByAliasJob : public BaseJob {
+class QUOTIENT_API QueryLocationByAliasJob : public BaseJob {
public:
/*! \brief Reverse-lookup third party locations given a Matrix room alias.
*
@@ -184,7 +184,7 @@ public:
*
* Retrieve an array of third party users from a Matrix User ID.
*/
-class QueryUserByIDJob : public BaseJob {
+class QUOTIENT_API QueryUserByIDJob : public BaseJob {
public:
/*! \brief Reverse-lookup third party users given a Matrix User ID.
*
diff --git a/lib/csapi/third_party_membership.h b/lib/csapi/third_party_membership.h
index a424678f..1edb969e 100644
--- a/lib/csapi/third_party_membership.h
+++ b/lib/csapi/third_party_membership.h
@@ -52,7 +52,7 @@ namespace Quotient {
* If a token is requested from the identity server, the homeserver will
* append a `m.room.third_party_invite` event to the room.
*/
-class InviteBy3PIDJob : public BaseJob {
+class QUOTIENT_API InviteBy3PIDJob : public BaseJob {
public:
/*! \brief Invite a user to participate in a particular room.
*
diff --git a/lib/csapi/to_device.h b/lib/csapi/to_device.h
index 7a237195..5b6e0bfb 100644
--- a/lib/csapi/to_device.h
+++ b/lib/csapi/to_device.h
@@ -13,7 +13,7 @@ namespace Quotient {
* This endpoint is used to send send-to-device events to a set of
* client devices.
*/
-class SendToDeviceJob : public BaseJob {
+class QUOTIENT_API SendToDeviceJob : public BaseJob {
public:
/*! \brief Send an event to a given set of devices.
*
diff --git a/lib/csapi/typing.h b/lib/csapi/typing.h
index 64a310d0..234e91b0 100644
--- a/lib/csapi/typing.h
+++ b/lib/csapi/typing.h
@@ -15,7 +15,7 @@ namespace Quotient {
* Alternatively, if `typing` is `false`, it tells the server that the
* user has stopped typing.
*/
-class SetTypingJob : public BaseJob {
+class QUOTIENT_API SetTypingJob : public BaseJob {
public:
/*! \brief Informs the server that the user has started or stopped typing.
*
diff --git a/lib/csapi/users.h b/lib/csapi/users.h
index ec186592..3c99758b 100644
--- a/lib/csapi/users.h
+++ b/lib/csapi/users.h
@@ -21,7 +21,7 @@ namespace Quotient {
* names preferably using a collation determined based upon the
* `Accept-Language` header provided in the request, if present.
*/
-class SearchUserDirectoryJob : public BaseJob {
+class QUOTIENT_API SearchUserDirectoryJob : public BaseJob {
public:
// Inner data structures
diff --git a/lib/csapi/versions.h b/lib/csapi/versions.h
index 896e2ea9..4445dbd2 100644
--- a/lib/csapi/versions.h
+++ b/lib/csapi/versions.h
@@ -31,7 +31,7 @@ namespace Quotient {
* upgrade appropriately. Additionally, clients should avoid using unstable
* features in their stable releases.
*/
-class GetVersionsJob : public BaseJob {
+class QUOTIENT_API GetVersionsJob : public BaseJob {
public:
/// Gets the versions of the specification supported by the server.
explicit GetVersionsJob();
diff --git a/lib/csapi/voip.h b/lib/csapi/voip.h
index 087ebbbd..38904f60 100644
--- a/lib/csapi/voip.h
+++ b/lib/csapi/voip.h
@@ -13,7 +13,7 @@ namespace Quotient {
* This API provides credentials for the client to use when initiating
* calls.
*/
-class GetTurnServerJob : public BaseJob {
+class QUOTIENT_API GetTurnServerJob : public BaseJob {
public:
/// Obtain TURN server credentials.
explicit GetTurnServerJob();
diff --git a/lib/csapi/wellknown.h b/lib/csapi/wellknown.h
index c707d232..8615191c 100644
--- a/lib/csapi/wellknown.h
+++ b/lib/csapi/wellknown.h
@@ -21,7 +21,7 @@ namespace Quotient {
* Note that this endpoint is not necessarily handled by the homeserver,
* but by another webserver, to be used for discovering the homeserver URL.
*/
-class GetWellknownJob : public BaseJob {
+class QUOTIENT_API GetWellknownJob : public BaseJob {
public:
/// Gets Matrix server discovery information about the domain.
explicit GetWellknownJob();
diff --git a/lib/csapi/whoami.h b/lib/csapi/whoami.h
index 319f82c5..fba099f6 100644
--- a/lib/csapi/whoami.h
+++ b/lib/csapi/whoami.h
@@ -19,7 +19,7 @@ namespace Quotient {
* is registered by the appservice, and return it in the response
* body.
*/
-class GetTokenOwnerJob : public BaseJob {
+class QUOTIENT_API GetTokenOwnerJob : public BaseJob {
public:
/// Gets information about the owner of an access token.
explicit GetTokenOwnerJob();