Skip to content

feat: add direct kv_module plugin support#70

Open
jimmy-claw wants to merge 18 commits intomainfrom
feature/direct-kv-module-support
Open

feat: add direct kv_module plugin support#70
jimmy-claw wants to merge 18 commits intomainfrom
feature/direct-kv-module-support

Conversation

@jimmy-claw
Copy link
Copy Markdown
Owner

Jimmy and others added 18 commits March 12, 2026 20:23
- CalendarStore now supports three modes: logos_host (QtRO), direct kv_module plugin, and in-memory fallback
- Priority: logos_host > direct kv_module > memory
- Added setKvModule(IKvModule*) method for direct plugin linkage
- Updated CMakeLists.txt to detect and link kv_module when available
- Added start-scala-with-kv.sh script to demonstrate standalone usage
- Backwards compatible: existing logos_host mode still works
- Allows Scala to run standalone with persistence without logos_host
…E_AVAILABLE

Create src/i_kv_module.h as a pure virtual interface matching the KvModule API
(set/get/remove/list/listAll/clear). Guard all IKvModule usage across
calendar_store, calendar_module, and standalone/main.cpp with
#ifdef KV_MODULE_AVAILABLE so CI builds cleanly without nix headers.

Simplify CMakeLists.txt: since i_kv_module.h now lives in src/,
KV_MODULE_AVAILABLE is always ON and no external header search is needed.
The kv_module library link remains optional (runtime QPluginLoader).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant