* feat: LIDL as the interface IR — --header-to-lidl frontend + --dep backend
Make the generator pivot around LIDL so every binding flows source -> LIDL ->
C++ (and a future Rust module plugs into the same backend via Rust -> LIDL):
- --header-to-lidl <impl.h> --impl-class X --metadata m.json -o out.lidl: the
standalone C++ frontend. Runs parseImplHeader -> lidlSerialize and emits ONLY
the <name>.lidl contract (no Qt glue/dispatch), so a module can publish a
cheap `lidl` artifact without compiling its plugin.
- --dep <name>=<lidl>: the LIDL backend for concrete dependencies. Reuses the
interface-wrapper path with BindMode::Static, emitting the name-baked
modules().<dep> wrapper from the dep's published LIDL. Deduped vs each other
and vs --interface names.
- generateInterfaceWrappers gains a BindMode param (default Bound); --interface
stays Bound, --dep is Static. parseInterfaceFlags generalized to
parseSpecFlags(args, flag) for both --interface and --dep.
The umbrella already emits a `<dep>` member per metadata dependency, so no
umbrella change is needed.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* address review: strip leading '@' in --header-to-lidl paths; fix doc comment
- --header-to-lidl now strips a leading '@' from the header/metadata/output
path args (matches legacy_main; some build drivers pass @/abs/path).
- Remove the stale "bound wrapper" doc comment above generateInterfaceWrappers
(it now generates Static dep wrappers too via BindMode).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* refactor: abstract connection/transport; and clearly separate qt remote obj and qt local into separate implementations
* abstract qt remote registry
* add mock implementation; these serves to further test the abstraction but also useful for testing modules later
* use LogosObject instead of QObject
* abstract provider side
* updates to use new api
* re-add async api back
---------
Co-authored-by: Logos Workspace <logos@workspace.local>
* Add LogosResult
* Add documentation for complex types
* Add get type util function
* Add more shorthand functions
* Add bool support
* Provide more shorthand functions
* Throw exception on bad access
* Fix typo in doc