libkazv
Kazv::Api::QueryPublicRoomsJob Class Reference

Lists the public rooms on the server with optional filter. More...

#include <list_public_rooms.hpp>

Inheritance diagram for Kazv::Api::QueryPublicRoomsJob:
Collaboration diagram for Kazv::Api::QueryPublicRoomsJob:

Classes

struct  Filter
 Filter to apply to the results. More...
 
class  JobResponse
 

Public Member Functions

 QueryPublicRoomsJob (std::string serverUrl, std::string _accessToken, std::optional< std::string > server=std::nullopt, std::optional< int > limit=std::nullopt, std::optional< std::string > since=std::nullopt, std::optional< Filter > filter=std::nullopt, std::optional< bool > includeAllNetworks=std::nullopt, std::optional< std::string > thirdPartyInstanceId=std::nullopt)
 Lists the public rooms on the server with optional filter. More...
 
QueryPublicRoomsJob withData (JsonWrap j) &&
 
QueryPublicRoomsJob withData (JsonWrap j) const &
 
- Public Member Functions inherited from Kazv::BaseJob
 BaseJob (std::string serverUrl, std::string requestUrl, Method method, std::string jobId, std::string token={}, ReturnType returnType=ReturnType::Json, Body body=EmptyBody{}, Query query={}, Header header={}, std::optional< FileDesc > responseFile=std::nullopt)
 
 ~BaseJob ()
 
bool shouldReturnJson () const
 
std::string url () const
 
Body requestBody () const
 
Header requestHeader () const
 
ReturnType returnType () const
 
Query requestQuery () const
 returns the non-encoded query as an array of pairs More...
 
Method requestMethod () const
 
Response genResponse (Response r) const
 
BaseJob withData (JsonWrap j) &&
 
BaseJob withData (JsonWrap j) const &
 
BaseJob withQueue (std::string id, JobQueuePolicy policy=AlwaysContinue) &&
 
BaseJob withQueue (std::string id, JobQueuePolicy policy=AlwaysContinue) const &
 
json dataJson (const std::string &key) const
 
std::string dataStr (const std::string &key) const
 
std::string jobId () const
 
std::optional< std::string > queueId () const
 
JobQueuePolicy queuePolicy () const
 
std::optional< FileDescresponseFile () const
 

Static Public Member Functions

static constexpr auto needsAuth ()
 
static BaseJob::Query buildQuery (std::optional< std::string > server)
 
static BaseJob::Body buildBody (std::optional< std::string > server, std::optional< int > limit, std::optional< std::string > since, std::optional< Filter > filter, std::optional< bool > includeAllNetworks, std::optional< std::string > thirdPartyInstanceId)
 
- Static Public Member Functions inherited from Kazv::BaseJob
static bool contentTypeMatches (immer::array< std::string > expected, std::string actual)
 

Additional Inherited Members

- Public Types inherited from Kazv::BaseJob
enum  ReturnType { Json, File }
 
using Method = std::variant< Get, Post, Put, Delete >
 
using Body = ::Kazv::Body
 
using BytesBody = ::Kazv::BytesBody
 
using JsonBody = ::Kazv::JsonBody
 
using EmptyBody = ::Kazv::EmptyBody
 
using Header = ::Kazv::Header
 
using Response = ::Kazv::Response
 
- Static Public Attributes inherited from Kazv::BaseJob
static Get GET {}
 
static Post POST {}
 
static Put PUT {}
 
static Delete DELETE {}
 
- Protected Member Functions inherited from Kazv::BaseJob
void attachData (JsonWrap data)
 

Detailed Description

Lists the public rooms on the server with optional filter.

Lists the public rooms on the server, with optional filter.

This API returns paginated responses. The rooms are ordered by the number of joined members, with the largest rooms first.

Constructor & Destructor Documentation

◆ QueryPublicRoomsJob()

Kazv::Api::QueryPublicRoomsJob::QueryPublicRoomsJob ( std::string  serverUrl,
std::string  _accessToken,
std::optional< std::string >  server = std::nullopt,
std::optional< int >  limit = std::nullopt,
std::optional< std::string >  since = std::nullopt,
std::optional< Filter filter = std::nullopt,
std::optional< bool >  includeAllNetworks = std::nullopt,
std::optional< std::string >  thirdPartyInstanceId = std::nullopt 
)
explicit

Lists the public rooms on the server with optional filter.

Parameters
serverThe server to fetch the public room lists from. Defaults to the local server.
limitLimit the number of results returned.
sinceA pagination token from a previous request, allowing clients to get the next (or previous) batch of rooms. The direction of pagination is specified solely by which token is supplied, rather than via an explicit flag.
filterFilter to apply to the results.
includeAllNetworksWhether or not to include all known networks/protocols from application services on the homeserver. Defaults to false.
thirdPartyInstanceIdThe specific third party network/protocol to request from the homeserver. Can only be used if include_all_networks is false.

Member Function Documentation

◆ buildBody()

BaseJob::Body Kazv::Api::QueryPublicRoomsJob::buildBody ( std::optional< std::string >  server,
std::optional< int >  limit,
std::optional< std::string >  since,
std::optional< Filter filter,
std::optional< bool >  includeAllNetworks,
std::optional< std::string >  thirdPartyInstanceId 
)
static

◆ buildQuery()

BaseJob::Query Kazv::Api::QueryPublicRoomsJob::buildQuery ( std::optional< std::string >  server)
static

◆ needsAuth()

static constexpr auto Kazv::Api::QueryPublicRoomsJob::needsAuth ( )
inlinestaticconstexpr

◆ withData() [1/2]

QueryPublicRoomsJob Kazv::Api::QueryPublicRoomsJob::withData ( JsonWrap  j) &&

◆ withData() [2/2]

QueryPublicRoomsJob Kazv::Api::QueryPublicRoomsJob::withData ( JsonWrap  j) const &

The documentation for this class was generated from the following files: