Go to the documentation of this file.
17 class GetCapabilitiesJob :
public BaseJob {
35 immer::map<std::string, std::string>
available;
81 , std::string _accessToken
103 using namespace Kazv;
110 if (! jo.is_object()) { jo = json::object(); }
120 if (jo.contains(
"enabled"s)) {
121 result.
enabled = jo.at(
"enabled"s);
132 if (! jo.is_object()) { jo = json::object(); }
144 if (jo.contains(
"default"s)) {
147 if (jo.contains(
"available"s)) {
159 if (! jo.is_object()) { jo = json::object(); }
171 if (jo.contains(
"m.change_password"s)) {
174 if (jo.contains(
"m.room_versions"s)) {
static BaseJob::Body buildBody()
Definition: capabilities.cpp:23
The custom capabilities the server supports, using the Java package naming convention.
Definition: capabilities.hpp:45
bool success() const
Definition: capabilities.cpp:72
Gets information about the server's capabilities.
Definition: capabilities.hpp:19
static void from_json(const json &jo, GetCapabilitiesJob::ChangePasswordCapability &result)
Definition: capabilities.hpp:117
static BaseJob::Query buildQuery()
Definition: capabilities.cpp:15
JobResponse(Response r)
Definition: capabilities.cpp:69
immer::map< std::string, std::string > available
A detailed description of the room versions the server supports.
Definition: capabilities.hpp:39
Capabilities capabilities() const
The custom capabilities the server supports, using the Java package naming convention.
Definition: capabilities.cpp:83
Definition: location.hpp:26
Definition: capabilities.hpp:58
Definition: location.hpp:10
void addPropertyMapToJson(json &j, MapT &&arg)
Definition: types.hpp:91
immer::map< std::string, JsonWrap > additionalProperties
The custom capabilities the server supports, using the Java package naming convention.
Definition: capabilities.hpp:53
static void from_json(const json &jo, GetCapabilitiesJob::Capabilities &result)
Definition: capabilities.hpp:168
Capability to indicate if the user can change their password.
Definition: capabilities.hpp:26
Definition: basejob.hpp:90
nlohmann::json json
Definition: jsonwrap.hpp:20
Definition: location.hpp:10
std::string defaultVersion
The default room version the server is using for new rooms.
Definition: capabilities.hpp:37
std::optional< RoomVersionsCapability > roomVersions
The room versions the server supports.
Definition: capabilities.hpp:50
std::optional< ChangePasswordCapability > changePassword
Capability to indicate if the user can change their password.
Definition: capabilities.hpp:48
static void to_json(json &jo, const GetCapabilitiesJob::ChangePasswordCapability &pod)
Definition: capabilities.hpp:108
bool enabled
True if the user can change their password, false otherwise.
Definition: capabilities.hpp:31
void addToJsonIfNeeded(json &j, std::string name, T &&arg)
Definition: types.hpp:80
Definition: jsonwrap.hpp:22
static void to_json(json &jo, const GetCapabilitiesJob::Capabilities &pod)
Definition: capabilities.hpp:157
GetCapabilitiesJob withData(JsonWrap j) &&
Definition: capabilities.cpp:55
GetCapabilitiesJob(std::string serverUrl, std::string _accessToken)
Gets information about the server's capabilities.
Definition: capabilities.cpp:35
static constexpr auto needsAuth()
Definition: capabilities.hpp:75
::Kazv::Body Body
Definition: basejob.hpp:100
static void from_json(const json &jo, GetCapabilitiesJob::RoomVersionsCapability &result)
Definition: capabilities.hpp:141
static void to_json(json &jo, const GetCapabilitiesJob::RoomVersionsCapability &pod)
Definition: capabilities.hpp:130
The room versions the server supports.
Definition: capabilities.hpp:34
Definition: basejob.hpp:50