Reference

C++ & desktop SDK reference

The shared C++ core that powers every Lanying client, plus the Electron desktop packaging for Windows, macOS and Linux.

Everything is built on one binary chat protocol, XSYNC, implemented once in C++ and once in JavaScript. The C++ library is the foundation for iOS, Android, Linux and desktop clients.

Layering

  1. XSYNC binary protocol, implemented in C++ and JavaScript.
  2. Cross-platform C++ SDK on top of the C++ protocol library.
  3. iOS (Objective-C then Swift) and Android (SWIG + JNI to Java) wrappers over the C++ SDK.
  4. Desktop clients wrap the C++ library with Electron and share Vue.js UI components with the browser client.
  5. The JavaScript protocol library is delivered to browsers and H5 through WebAssembly.

Supported targets

TargetNotes
Linux C++ SDKx86, x86-64, ARM and MIPS architectures
Desktop (Electron)Windows, macOS, Linux — Node.js build, x86_64 only
Embedded / server-side C++Same object model as the mobile SDKs

Object model

The C++ API uses the same BMX prefixed types as the mobile SDKs — BMXClient, BMXChatService, BMXMessage, BMXConversation, BMXGroup and BMXErrorCode — so integration knowledge transfers directly between platforms.