核心对象与生命周期
理解 C++ Sdk、Exo、ExoDevice、通道和 RAII 对象之间的关系。
当前版本 · 1.0.0
核心对象与生命周期
对象层级
qnbot::Sdk
└── qnbot::Exo
└── qnbot::ExoDevice
├── ReadChannel<ExoTelemetry>
├── ReadChannel<ExoStatus>
└── HapticsStateSdk 持有原生运行时;Exo 管理领域生命周期;ExoDevice 选择逻辑设备;通道对象负责读取或写入能力。
生命周期与所有权
单设备程序使用 exo.start()、运行器、exo.stop()、exo.close()。多设备分别控制时才使用 device.start()/stop()。关闭父对象会使子对象失效,后续调用抛出 ClosedHandleError。
C++ 对象是轻量句柄;仍应显式停止运行、清除震动并关闭作用域,避免把析构当作业务停止信号。