diff --git a/cpp-generator/docs/project.md b/cpp-generator/docs/project.md index 690f09c..d87d8c3 100644 --- a/cpp-generator/docs/project.md +++ b/cpp-generator/docs/project.md @@ -135,7 +135,6 @@ Flag plumbing: - Always emits `#include "logos_sdk.h"` and a `std::unique_ptr m_logosModules` member; ownership lives on the provider, the context base sees only a non-owning `void*` reinterpreted in `LogosModuleContext::modules()` (which depends on the impl's TU having included `logos_sdk.h`). - `lidlMakeProviderDispatch(ModuleDecl)` — generates callMethod/getMethods dispatch. `getMethods()` emits the full interface: each method tagged `type: "method"`, then each `module.events` entry tagged `type: "event"` (name, signature, parameters, escaped `description`; no returnType/isInvokable). There is no separate `getEvents()` — folding events into `getMethods()` keeps the provider vtable ABI-stable. - `lidlMakeEventsSource(ModuleDecl, implClass, implHeader)` — generates `_events.cpp`: Qt-MOC-style method bodies for prototypes declared in the impl's `logos_events:` block. Each body marshals typed args into a `QVariantList` and calls `this->emitEventImpl_("", &args)` on the LogosModuleContext base. -- `lidlGenerateProviderGlue(lidlPath, ...)` — full pipeline from .lidl file. Also emits `_events.cpp` and a `.lidl` sidecar (via `lidlSerialize`) when the module has any events; both ride the dep's `headers-*` outputs to power consumer-side typed `on()` accessors. ### Impl Header Parser (`impl_header_parser.h/cpp`)