mirror of
https://github.com/ton-blockchain/ton
synced 2025-03-09 15:40:10 +00:00
initial commit
This commit is contained in:
commit
c2da007f40
1610 changed files with 398047 additions and 0 deletions
14
example/cpp/CMakeLists.txt
Normal file
14
example/cpp/CMakeLists.txt
Normal file
|
@ -0,0 +1,14 @@
|
|||
cmake_minimum_required(VERSION 3.1 FATAL_ERROR)
|
||||
|
||||
project(TonExample VERSION 1.0 LANGUAGES CXX)
|
||||
|
||||
find_package(Tonlib 0.5 REQUIRED)
|
||||
|
||||
add_executable(tonjson_example tonjson_example.cpp)
|
||||
target_link_libraries(tonjson_example PRIVATE Tonlib::TonlibJson)
|
||||
set_property(TARGET tonjson_example PROPERTY CXX_STANDARD 11)
|
||||
|
||||
add_executable(tonlib_example tonlib_example.cpp)
|
||||
|
||||
target_link_libraries(tonlib_example PRIVATE Tonlib::Tonlib)
|
||||
set_property(TARGET tonlib_example PROPERTY CXX_STANDARD 14)
|
24
example/cpp/README.md
Normal file
24
example/cpp/README.md
Normal file
|
@ -0,0 +1,24 @@
|
|||
# TDLib C++ basic usage examples
|
||||
|
||||
TDLib should be prebuilt and installed to local subdirectory `td/`:
|
||||
```
|
||||
cd <path to TDLib sources>
|
||||
mkdir build
|
||||
cd build
|
||||
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX:PATH=../example/cpp/td ..
|
||||
cmake --build . --target install
|
||||
```
|
||||
Also see [building](https://github.com/tdlib/td#building) for additional details on TDLib building.
|
||||
|
||||
Then you can build the examples:
|
||||
```
|
||||
cd <path to TDLib sources>/example/cpp
|
||||
mkdir build
|
||||
cd build
|
||||
cmake -DCMAKE_BUILD_TYPE=Release -DTonlib_DIR=<full path to TDLib sources>/example/cpp/tonlib/lib/cmake/Tonlib ..
|
||||
cmake --build .
|
||||
```
|
||||
|
||||
Documentation for all available classes and methods can be found at https://core.telegram.org/tdlib/docs.
|
||||
|
||||
To run `tdjson_example` you may need to manually copy a `tdjson` shared library from `td/bin` to a directory containing built binaries.
|
51
example/cpp/tonjson_example.cpp
Normal file
51
example/cpp/tonjson_example.cpp
Normal file
|
@ -0,0 +1,51 @@
|
|||
/*
|
||||
This file is part of TON Blockchain source code.
|
||||
|
||||
TON Blockchain is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
as published by the Free Software Foundation; either version 2
|
||||
of the License, or (at your option) any later version.
|
||||
|
||||
TON Blockchain is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with TON Blockchain. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
In addition, as a special exception, the copyright holders give permission
|
||||
to link the code of portions of this program with the OpenSSL library.
|
||||
You must obey the GNU General Public License in all respects for all
|
||||
of the code used other than OpenSSL. If you modify file(s) with this
|
||||
exception, you may extend this exception to your version of the file(s),
|
||||
but you are not obligated to do so. If you do not wish to do so, delete this
|
||||
exception statement from your version. If you delete this exception statement
|
||||
from all source files in the program, then also delete it here.
|
||||
|
||||
Copyright 2017-2019 Telegram Systems LLP
|
||||
*/
|
||||
#include <iostream>
|
||||
#include <tonlib/tonlib_client_json.h>
|
||||
|
||||
// Basic example of TONLib 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() {
|
||||
// disable TDLib logging
|
||||
void *client = tonlib_client_json_create();
|
||||
// somehow share the client with other threads, which will be able to send requests via tonlib_client_json_send
|
||||
|
||||
const double WAIT_TIMEOUT = 10.0; // seconds
|
||||
while (true) {
|
||||
const char *result = tonlib_client_json_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
|
||||
|
||||
std::cout << result << std::endl;
|
||||
}
|
||||
}
|
||||
|
||||
tonlib_client_json_destroy(client);
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue