diff options
author | Kitsune Ral <Kitsune-Ral@users.sf.net> | 2019-02-11 21:07:21 +0900 |
---|---|---|
committer | Kitsune Ral <Kitsune-Ral@users.sf.net> | 2019-02-11 21:07:21 +0900 |
commit | 63e2c0338e07cbc1939a5ad0f8047a9edab9b97c (patch) | |
tree | b34779450d848ad431f1c82f50df77c38e37b56a /lib/csapi/capabilities.h | |
parent | e98ec84ab31b2dc656597ac5c87a8299b6c8aed8 (diff) | |
parent | 7337876aac42552da6d926b38d7466cf2e51b7d8 (diff) | |
download | libquotient-63e2c0338e07cbc1939a5ad0f8047a9edab9b97c.tar.gz libquotient-63e2c0338e07cbc1939a5ad0f8047a9edab9b97c.zip |
Merge branch 'kitsune-update-matrix-api'
Diffstat (limited to 'lib/csapi/capabilities.h')
-rw-r--r-- | lib/csapi/capabilities.h | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/lib/csapi/capabilities.h b/lib/csapi/capabilities.h new file mode 100644 index 00000000..e38483bc --- /dev/null +++ b/lib/csapi/capabilities.h @@ -0,0 +1,69 @@ +/****************************************************************************** + * THIS FILE IS GENERATED - ANY EDITS WILL BE OVERWRITTEN + */ + +#pragma once + +#include "jobs/basejob.h" + +#include "converters.h" +#include <QtCore/QHash> + +namespace QMatrixClient +{ + // Operations + + /// Gets information about the server's capabilities. + /// + /// Gets information about the server's supported feature set + /// and other relevant capabilities. + class GetCapabilitiesJob : public BaseJob + { + public: + // Inner data structures + + /// Capability to indicate if the user can change their password. + struct ChangePasswordCapability + { + /// True if the user can change their password, false otherwise. + bool enabled; + }; + + /// The room versions the server supports. + struct RoomVersionsCapability + { + /// The default room version the server is using for new rooms. + QString isDefault; + /// A detailed description of the room versions the server supports. + QHash<QString, QString> available; + }; + + // Construction/destruction + + explicit GetCapabilitiesJob(); + + /*! Construct a URL without creating a full-fledged job object + * + * This function can be used when a URL for + * GetCapabilitiesJob is necessary but the job + * itself isn't. + */ + static QUrl makeRequestUrl(QUrl baseUrl); + + ~GetCapabilitiesJob() override; + + // Result properties + + /// Capability to indicate if the user can change their password. + const Omittable<ChangePasswordCapability>& changePassword() const; + /// The room versions the server supports. + const Omittable<RoomVersionsCapability>& roomVersions() const; + + protected: + Status parseJson(const QJsonDocument& data) override; + + private: + class Private; + QScopedPointer<Private> d; + }; +} // namespace QMatrixClient |