From e1ec72eab6d00b3ba38e5932bc88920f103b6e4a Mon Sep 17 00:00:00 2001 From: aunsane Date: Fri, 27 Apr 2018 21:33:17 +0300 Subject: Telegram: initial commit - tdlib moved to telegram dir --- .../tdlib/td/example/cpp/tdjson_example.cpp | 33 ++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 protocols/Telegram/tdlib/td/example/cpp/tdjson_example.cpp (limited to 'protocols/Telegram/tdlib/td/example/cpp/tdjson_example.cpp') diff --git a/protocols/Telegram/tdlib/td/example/cpp/tdjson_example.cpp b/protocols/Telegram/tdlib/td/example/cpp/tdjson_example.cpp new file mode 100644 index 0000000000..6787b37f86 --- /dev/null +++ b/protocols/Telegram/tdlib/td/example/cpp/tdjson_example.cpp @@ -0,0 +1,33 @@ +// +// Copyright Aliaksei Levin (levlam@telegram.org), Arseny Smirnov (arseny30@gmail.com) 2014-2018 +// +// Distributed under the Boost Software License, Version 1.0. (See accompanying +// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +// +#include +#include + +// Basic example of TDLib JSON interface usage. +// Native interface should be preferred instead in C++, so here is only an example of +// the main event cycle, which should be essentially the same for all languages. + +int main() { + void *client = td_json_client_create(); + // somehow share the client with other threads, which will be able to send requests via td_json_client_send + + const double WAIT_TIMEOUT = 10.0; // seconds + while (true) { + const char *result = td_json_client_receive(client, WAIT_TIMEOUT); + if (result != nullptr) { + // parse the result as JSON object and process it as an incoming update or an answer to a previously sent request + + // if (result is UpdateAuthorizationState with authorizationStateClosed) { + // break; + // } + + std::cout << result << std::endl; + } + } + + td_json_client_destroy(client); +} -- cgit v1.2.3