TDLib
Toggle main menu visibility
Loading...
Searching...
No Matches
td
telegram
Client.h
Go to the documentation of this file.
1
//
2
// Copyright Aliaksei Levin (levlam@telegram.org), Arseny Smirnov (arseny30@gmail.com) 2014-2026
3
//
4
// Distributed under the Boost Software License, Version 1.0. (See accompanying
5
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6
//
7
#pragma once
8
10
11
#include "td/telegram/td_api.h"
12
#include "
td/telegram/td_api.hpp
"
13
14
#include <cstdint>
15
#include <memory>
16
17
namespace
td {
18
55
class
ClientManager
final {
56
public
:
60
ClientManager
();
61
65
using
ClientId
= std::int32_t;
66
72
using
RequestId
= std::uint64_t;
73
79
ClientId
create_client_id
();
80
87
void
send
(
ClientId
client_id,
RequestId
request_id, td_api::object_ptr<td_api::Function> &&request);
88
92
struct
Response
{
96
ClientId
client_id
;
97
101
RequestId
request_id
;
102
106
td_api::object_ptr<td_api::Object>
object
;
107
};
108
116
Response
receive
(
double
timeout);
117
124
static
td_api::object_ptr<td_api::Object>
execute
(td_api::object_ptr<td_api::Function> &&request);
125
134
using
LogMessageCallbackPtr
= void (*)(
int
verbosity_level,
const
char
*message);
135
145
static
void
set_log_message_callback
(
int
max_verbosity_level,
LogMessageCallbackPtr
callback);
146
150
~ClientManager
();
151
155
ClientManager
(
ClientManager
&&other)
noexcept
;
156
160
ClientManager
&
operator=
(
ClientManager
&&other)
noexcept
;
161
166
static
ClientManager
*
get_manager_singleton
();
167
168
private
:
169
friend
class
Client;
170
class
Impl;
171
std::unique_ptr<Impl> impl_;
172
};
173
207
class
Client
final {
208
public
:
212
Client
();
213
217
struct
Request
{
223
std::uint64_t
id
;
224
228
td_api::object_ptr<td_api::Function>
function
;
229
};
230
235
void
send
(
Request
&&request);
236
240
struct
Response
{
244
std::uint64_t
id
;
245
249
td_api::object_ptr<td_api::Object>
object
;
250
};
251
259
Response
receive
(
double
timeout);
260
267
static
Response
execute
(
Request
&&request);
268
272
~Client
();
273
277
Client
(
Client
&&other)
noexcept
;
278
282
Client
&
operator=
(
Client
&&other)
noexcept
;
283
284
private
:
285
class
Impl;
286
std::unique_ptr<Impl> impl_;
287
};
288
289
}
// namespace td
td::Client::receive
Response receive(double timeout)
td::Client::send
void send(Request &&request)
td::Client::execute
static Response execute(Request &&request)
td::Client::Client
Client()
td::Client::Client
Client(Client &&other) noexcept
td::Client::~Client
~Client()
td::Client::operator=
Client & operator=(Client &&other) noexcept
td::ClientManager::ClientManager
ClientManager()
td::ClientManager::set_log_message_callback
static void set_log_message_callback(int max_verbosity_level, LogMessageCallbackPtr callback)
td::ClientManager::ClientManager
ClientManager(ClientManager &&other) noexcept
td::ClientManager::LogMessageCallbackPtr
void(*)(int verbosity_level, const char *message) LogMessageCallbackPtr
Definition
Client.h:134
td::ClientManager::RequestId
std::uint64_t RequestId
Definition
Client.h:72
td::ClientManager::send
void send(ClientId client_id, RequestId request_id, td_api::object_ptr< td_api::Function > &&request)
td::ClientManager::get_manager_singleton
static ClientManager * get_manager_singleton()
td::ClientManager::~ClientManager
~ClientManager()
td::ClientManager::operator=
ClientManager & operator=(ClientManager &&other) noexcept
td::ClientManager::receive
Response receive(double timeout)
td::ClientManager::create_client_id
ClientId create_client_id()
td::ClientManager::ClientId
std::int32_t ClientId
Definition
Client.h:65
td::ClientManager::execute
static td_api::object_ptr< td_api::Object > execute(td_api::object_ptr< td_api::Function > &&request)
td::Client::Request
Definition
Client.h:217
td::Client::Request::id
std::uint64_t id
Definition
Client.h:223
td::Client::Request::function
td_api::object_ptr< td_api::Function > function
Definition
Client.h:228
td::Client::Response
Definition
Client.h:240
td::Client::Response::id
std::uint64_t id
Definition
Client.h:244
td::Client::Response::object
td_api::object_ptr< td_api::Object > object
Definition
Client.h:249
td::ClientManager::Response
Definition
Client.h:92
td::ClientManager::Response::client_id
ClientId client_id
Definition
Client.h:96
td::ClientManager::Response::object
td_api::object_ptr< td_api::Object > object
Definition
Client.h:106
td::ClientManager::Response::request_id
RequestId request_id
Definition
Client.h:101
td_api.hpp
Generated by
1.17.0