tdlight/example/uwp
Andrea Cavalli 45e855f89d Remove most memory related features
I can't maintain anymore this amount of features while keeping the library constantly updated and without bugs. Every merge was taking me multiple hours of revisioning the code. I give up.
From this commit onwards TDLight will only have small useful customizations that are easy to maintain.
Now the people relying on the OptimizeMemory method can restart the session every N hours to free up the memory.
The real way to keep a low memory usage must involve a huge refactoring to allow the unloading of the caches into the sqlite database, similar to what's already happening with messages data. Only Levlam has the ability to implement this without needing to merge the upstream everytime.
2021-09-25 22:11:42 +02:00
..
app Use Td.Client.SetLogMessageCallback in UWP example. 2021-05-20 03:51:33 +03:00
LICENSE_1_0.txt Update TDLib UWP manifest. 2018-03-17 02:00:09 +03:00
README.md Remove usage of the deprecated openssl-uwp vcpkg package. 2021-09-08 22:36:31 +03:00
SDKManifest.xml Update TDLib UWP manifest. 2018-03-17 02:00:09 +03:00
[Content_Types].xml UWP: build scripts 2018-02-28 21:19:33 +03:00
build.ps1 Simplify UWP build script. 2021-05-11 03:24:47 +03:00
extension.vsixmanifest Remove most memory related features 2021-09-25 22:11:42 +02:00

README.md

TDLib Universal Windows Platform example

This is an example of building TDLib SDK for Universal Windows Platform and an example of its usage from C#.

Building SDK

  • Download and install Microsoft Visual Studio 2015+ with Windows 10 SDK. We recommend to use the latest available versions of Microsoft Visual Studio and Windows 10 SDK.
  • Download and install CMake.
  • Install vcpkg or update it to the latest version using vcpkg update and following received instructions.
  • Install zlib and openssl for all UWP architectures and gperf for x86 using vcpkg:
cd <path to vcpkg>
.\vcpkg.exe install gperf:x86-windows openssl:arm-uwp openssl:arm64-uwp openssl:x64-uwp openssl:x86-uwp zlib:arm-uwp zlib:arm64-uwp zlib:x64-uwp zlib:x86-uwp
  • (Optional. For XML documentation generation.) Download PHP. Add the path to php.exe to the PATH environment variable.
  • Download and install 7-Zip archiver, which is used by the build.ps1 script to create a Telegram.Td.UWP Visual Studio Extension. Add the path to 7z.exe to the PATH environment variable. Alternatively build.ps1 supports compressing using WinRAR with option -compress winrar and compressing using zip with -compress zip.
  • Build TDLib using provided build.ps1 script (TDLib should be built 6 times for multiple platforms in Debug and Release configurations, so it make take few hours). Pass path to vcpkg.exe as -vcpkg-root argument, for example:
powershell -ExecutionPolicy ByPass .\build.ps1 -vcpkg_root C:\vcpkg

If you need to restart the build from scratch, call .\build.ps1 -vcpkg_root ../../vcpkg -mode clean first.

  • Install Visual Studio Extension "TDLib for Universal Windows Platform" located at build-uwp\vsix\tdlib.vsix, which was created on the previous step by build.ps1 script.

Now TDLib can be used from any UWP project, built in Visual Studio.

Example of usage

The app/ directory contains a simple example of a C# application for Universal Windows Platform. Just open it with Visual Studio 2015 or later and run.