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
- XSYNC binary protocol, implemented in C++ and JavaScript.
- Cross-platform C++ SDK on top of the C++ protocol library.
- iOS (Objective-C then Swift) and Android (SWIG + JNI to Java) wrappers over the C++ SDK.
- Desktop clients wrap the C++ library with Electron and share Vue.js UI components with the browser client.
- The JavaScript protocol library is delivered to browsers and H5 through WebAssembly.
Supported targets
| Target | Notes |
|---|---|
| Linux C++ SDK | x86, 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.