Files
logos-cpp-sdk/cpp-generator/experimental
Dario LipicarandClaude Opus 4.8 2f34804948 fix(codegen): handle bstr + composite-any types in cdylib + Qt wrappers (#103)
Three type-handling gaps surfaced by a module that exercises the full type
surface (every method param/return + event param type):

1. cdylib method-param decode used lidlTypeToStd() for array params, which
   falls back to Qt containers (QVariantList) for [any] — undeclared in the
   Qt-free cdylib TU. Use the Qt-free lidlTypeToStdCdylib() so [any] decodes as
   LogosList. (lidl_gen_cdylib.cpp)
2. The Qt sync wrapper had no QByteArray return case, emitting a bare
   'return _result;' (QVariant) for a bstr return — no implicit QVariant ->
   QByteArray conversion. Add toByteArray(). (generator_lib.cpp)
3. The Qt event-callback arg converter had no QByteArray case, so a bstr event
   param was delivered via .toString() to a std::function<void(QByteArray)>.
   Add toByteArray(). (generator_lib.cpp)

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-17 16:27:29 -03:00
..