Tags: Sapd/HeadsetControl
Tags
C++ Rewrite (#443) * C++ Rewrite Rewrite codebase from C to modern C++20 Complete modernization introducing type safety, better error handling, and a cleaner architecture. - **Language**: C → C++20 (requires GCC 10+, Clang 10+, MSVC 2019+) - **Structure**: Reorganized into lib/, cli/, tests/ - **Error handling**: Result<T> type with rich error information - **Device code**: 50-70% reduction via protocol templates - High-level C++ API (headsetcontrol.hpp) - C API for FFI bindings (headsetcontrol_c.h) - Shared library support (-DBUILD_SHARED_LIBRARY=ON) - Protocol templates: HIDPPDevice, SteelSeriesNovaDevice - Data-driven capability system - Test suite - HIDDevice base class with virtual methods per capability - Device registry singleton for device lookup - Capability descriptors as single source of truth - Feature handler registry (replaces switch statements) CLI interface unchanged - fully backwards compatible. - See docs/ADDING_A_DEVICE.md for adding devices - See docs/ADDING_A_CAPABILITY.md for adding features - See docs/LIBRARY_USAGE.md for library integration
PreviousNext