Files
logos-capability-module/README.md
Dario Lipicar e675e9e3a9 migrate to logos-module-builder (#10)
* migrate to logos-module-builder

* add CI job
2026-05-07 16:36:38 -03:00

1.7 KiB

Logos Capability Module

Coordinates permissions and capabilities between Logos modules.

Built with logos-module-builder. The implementation is a plain C++ class on top of LogosProviderBase (no Q_OBJECT / Q_INVOKABLE boilerplate), so all framework plumbing — Qt plugin glue, dispatch tables, packaging — is generated by the builder.

Build

nix build              # produces result/lib/capability_module_plugin.{dylib,so}
nix build .#lgx        # builds the .lgx package
nix build .#unit-tests # builds the test binary

To enter a development shell:

nix develop

Test

nix flake check                                                 # runs all checks
nix build .#checks.<system>.unit-tests -L                       # builds + runs tests
./result/bin/capability_module_tests                            # run the binary directly
./result/bin/capability_module_tests --filter requestModule     # filter by name

Layout

src/
├── capability_module_impl.{h,cpp}   # Plain C++ impl (LogosProviderBase + LOGOS_METHOD)
└── capability_module_loader.h       # Qt plugin loader (created by mkLogosModule)
tests/
├── CMakeLists.txt
├── main.cpp
└── test_capability_module.cpp
metadata.json                        # interface: provider; nix.* build config
flake.nix                            # ~13 lines, calls mkLogosModule
CMakeLists.txt                       # ~15 lines, calls logos_module()

Dependencies

  • logos-module-builder — pulls in logos-cpp-sdk, logos-module, logos-test-framework, and Qt6 (Core + RemoteObjects).