libQuotient
A Qt library for building matrix clients
wellknown.h
Go to the documentation of this file.
1 // THIS FILE IS GENERATED - ANY EDITS WILL BE OVERWRITTEN
2 
3 #pragma once
4 
5 #include <Quotient/csapi/definitions/wellknown/full.h>
6 
7 #include <Quotient/jobs/basejob.h>
8 
9 namespace Quotient {
10 
11 //! \brief Gets Matrix server discovery information about the domain.
12 //!
13 //! Gets discovery information about the domain. The file may include
14 //! additional keys, which MUST follow the Java package naming convention,
15 //! e.g. `com.example.myapp.property`. This ensures property names are
16 //! suitably namespaced for each application and reduces the risk of
17 //! clashes.
18 //!
19 //! Note that this endpoint is not necessarily handled by the homeserver,
20 //! but by another webserver, to be used for discovering the homeserver URL.
21 class QUOTIENT_API GetWellknownJob : public BaseJob {
22 public:
23  explicit GetWellknownJob();
24 
25  //! \brief Construct a URL without creating a full-fledged job object
26  //!
27  //! This function can be used when a URL for GetWellknownJob
28  //! is necessary but the job itself isn't.
29  static QUrl makeRequestUrl(const HomeserverData& hsData);
30 
31  // Result properties
32 
33  //! Server discovery information.
34  DiscoveryInformation data() const { return fromJson<DiscoveryInformation>(jsonData()); }
35 };
36 
37 inline auto collectResponse(const GetWellknownJob* job) { return job->data(); }
38 
39 } // namespace Quotient