/****************************************************************************** * THIS FILE IS GENERATED - ANY EDITS WILL BE OVERWRITTEN */ #pragma once #include "jobs/basejob.h" #include #include #include "converters.h" #include "csapi/definitions/client_device.h" namespace QMatrixClient { // Operations /// List registered devices for the current user /// /// Gets information about all devices for the current user. class GetDevicesJob : public BaseJob { public: explicit GetDevicesJob(); /*! Construct a URL without creating a full-fledged job object * * This function can be used when a URL for * GetDevicesJob is necessary but the job * itself isn't. */ static QUrl makeRequestUrl(QUrl baseUrl); ~GetDevicesJob() override; // Result properties /// A list of all registered devices for this user. const QVector& devices() const; protected: Status parseJson(const QJsonDocument& data) override; private: class Private; QScopedPointer d; }; /// Get a single device /// /// Gets information on a single device, by device id. class GetDeviceJob : public BaseJob { public: /*! Get a single device * \param deviceId * The device to retrieve. */ explicit GetDeviceJob(const QString& deviceId); /*! Construct a URL without creating a full-fledged job object * * This function can be used when a URL for * GetDeviceJob is necessary but the job * itself isn't. */ static QUrl makeRequestUrl(QUrl baseUrl, const QString& deviceId); ~GetDeviceJob() override; // Result properties /// Device information const Device& data() const; protected: Status parseJson(const QJsonDocument& data) override; private: class Private; QScopedPointer d; }; /// Update a device /// /// Updates the metadata on the given device. class UpdateDeviceJob : public BaseJob { public: /*! Update a device * \param deviceId * The device to update. * \param displayName * The new display name for this device. If not given, the * display name is unchanged. */ explicit UpdateDeviceJob(const QString& deviceId, const QString& displayName = {}); }; /// Delete a device /// /// This API endpoint uses the `User-Interactive Authentication API`_. /// /// Deletes the given device, and invalidates any access token associated with it. class DeleteDeviceJob : public BaseJob { public: /*! Delete a device * \param deviceId * The device to delete. * \param auth * Additional authentication information for the * user-interactive authentication API. */ explicit DeleteDeviceJob(const QString& deviceId, const QJsonObject& auth = {}); }; /// Bulk deletion of devices /// /// This API endpoint uses the `User-Interactive Authentication API`_. /// /// Deletes the given devices, and invalidates any access token associated with them. class DeleteDevicesJob : public BaseJob { public: /*! Bulk deletion of devices * \param devices * The list of device IDs to delete. * \param auth * Additional authentication information for the * user-interactive authentication API. */ explicit DeleteDevicesJob(const QStringList& devices, const QJsonObject& auth = {}); }; } // namespace QMatrixClient