mirror of
https://github.com/logos-co/logos-capability-module.git
synced 2026-08-30 20:21:12 +00:00
48 lines
1.7 KiB
Markdown
48 lines
1.7 KiB
Markdown
# Logos Capability Module
|
|
|
|
Coordinates permissions and capabilities between Logos modules.
|
|
|
|
Built with [`logos-module-builder`](https://github.com/logos-co/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
|
|
|
|
```bash
|
|
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:
|
|
|
|
```bash
|
|
nix develop
|
|
```
|
|
|
|
## Test
|
|
|
|
```bash
|
|
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](https://github.com/logos-co/logos-module-builder) — pulls in `logos-cpp-sdk`, `logos-module`, `logos-test-framework`, and Qt6 (Core + RemoteObjects).
|