/****************************************************************************** * THIS FILE IS GENERATED - ANY EDITS WILL BE OVERWRITTEN */ #pragma once #include "converters.h" #include "csapi/definitions/auth_data.h" #include "csapi/definitions/client_device.h" #include "jobs/basejob.h" #include 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 Omittable& auth = none); }; /// 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 Omittable& auth = none); }; } // namespace QMatrixClient