منصوبے کے بارے میں

TDLib (Telegram Database library) ایک کراس پلیٹ فارم لائبریری ہے جو ٹیلیگرام کلائنٹس بنانے کے لیے ہے، اور تقریباً کسی بھی پروگرامنگ زبان سے استعمال کی جا سکتی ہے۔ README میں بیان کردہ اہم خصوصیات: - کراس پلیٹ فارم: Android, iOS, Windows, macOS, Linux, FreeBSD, OpenBSD, NetBSD, illumos, Windows Phone, WebAssembly, watchOS, tvOS, visionOS, Tizen اور Cygwin، نیز دیگر *nix سسٹمز کے کام کرنے کی توقع ہے۔ - کثیر لسانی: کسی بھی زبان سے استعمال کے قابل جو C فنکشنز کو کال کر سکتی ہو؛ مقامی Java (JNI) اور .NET (C++/CLI اور C++/CX) بائنڈنگز شامل ہیں۔ - نیٹ ورک کی تفصیلات، انکرپشن اور مقامی ڈیٹا اسٹوریج کو سنبھالتی ہے۔ - مکمل طور پر غیر متزامن: درخواستیں ایک دوسرے کو بلاک نہیں کرتیں؛ جوابات دستیاب ہوتے ہی پہنچا دیے جاتے ہیں۔ - مستقل اپڈیٹ آرڈرنگ، سست یا ناقابل بھروسہ کنیکشنز پر استحکام، اور صارف کے فراہم کردہ کلید کے ساتھ مقامی ڈیٹا کی انکرپشن۔ - مکمل طور پر دستاویزی API طریقے اور عوامی انٹرفیس۔ انٹرفیس: - JSON انٹرفیس (Td::TdJson / Td::TdJsonStatic) سادہ C انٹرفیس کے ساتھ، زیادہ تر استعمال کے لیے تجویز کردہ؛ JSON پرت کے لیے سیمنٹک ورژننگ پر عمل کرتا ہے۔ - C++ انٹرفیس (Td::TdStatic) ClientManager اور Client کے ذریعے۔ - Java انٹرفیس -DTD_ENABLE_JNI=ON سے فعال ہوتا ہے۔ - .NET انٹرفیس -DTD_ENABLE_DOTNET=ON یا -DTD_ENABLE_DOTNET=CX سے فعال ہوتا ہے۔ تعمیر: - انحصارات: C++17 کمپائلر (Clang 5.0+, GCC 7.0+, MSVC 19.1+, Intel C++ 19+), OpenSSL, zlib, gperf (صرف تعمیر کے لیے), CMake 3.10+ (صرف تعمیر کے لیے), دستاویزات کی تخلیق کے لیے اختیاری PHP۔ - تعمیراتی ہدایات کا ایک جنریٹر فراہم کیا گیا ہے؛ عام CMake تعمیر Release کنفیگریشن استعمال کرتی ہے۔ SplitSource.php اسکرپٹ کم میموری والے آلات پر میموری کے استعمال کو کم کر سکتی ہے۔ - CMake انٹیگریشن add_subdirectory یا find_package(Td ...) کے ذریعے۔ دستاویزات اور مثالیں: Getting Started ٹیوٹوریل، C++, Java, C#, UWP اور Python کے لیے مثالوں کی ڈائریکٹریز (tdjson_example.py)، td_api.tl اسکیم، اور تخلیق شدہ HTML API دستاویزات۔ لائسنس: Boost Software License۔