mirror of
https://github.com/logos-co/logos-capability-module.git
synced 2026-08-27 18:51:10 +00:00
fix_origin_validation
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).
Languages
C++
81.2%
Shell
10.6%
Nix
4.7%
CMake
3.5%