mirror of
https://github.com/logos-co/logos-cpp-sdk.git
synced 2026-08-31 17:51:07 +00:00
Generated consumer wrappers carried setEventSource / eventSource / trigger — an author-facing way to SOURCE events through a wrapper whose job is to CONSUME them. Both emitters (legacy and experimental) shipped it. Nothing used it. Zero call sites across every repo in the workspace including the vendored SDK copies; the only `trigger(` in the tree is a QML Action's own method. The generated code did not use it internally either — m_eventSource was written only by its own setter and read only by trigger, so calling trigger() without a prior setEventSource() warned and returned. It was not free. `trigger` routes through m_client->onEventResponse, which has no lp equivalent — lp_* offers only lp_provider_emit_event, on a handle a consumer wrapper does not own. That single call was the reason a Qt wrapper had to keep a LogosAPIClient alongside its lp client, carrying two clients and two lots of token state per wrapper. Removing an unused surface removes a real constraint on the veneer. Worth noting what it would have taken otherwise: either widening the C ABI with a consumer-side emit (softening a provider/consumer split the ABI currently enforces), or rerouting through the module's own provider handle. Neither is needed if nobody is asking. Pinned by a test rather than left to convention — the emitters are the kind of code where a convenience accessor grows back. 181/181. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>