Story: Qt plugin architecture

Table of Contents

This page documents a story in Sprint 16. It captures the goal, current status, acceptance criteria, and the tasks that compose it.

Goal

Extract ores.qt.api shared framework library; extract domain-specific plugins (admin, compute, refdata, party, mktdata, trading, workflow); move classes between plugins to satisfy ownership.

Status

Field Value
State DONE
Parent sprint Sprint 16
Now Completed 2026-04-09.
Waiting on None.
Next None.
Last touched 2026-04-09

Acceptance

  • All tasks complete; PR-by-PR breakdown in git log.

Tasks

Task State Start End Description
Extract domain-specific plugin libraries DONE 2026-05-20 2026-04-09 Steps 2-8: IPlugin + PluginRegistry + plugin_context + LegacyPlugin; extract ores.qt.admin / compute / refdata / party / mktdata / trading plugins; migrate to QPluginLoader shared libraries; restore menus + toolbar via setup_menus().
Extract ores.qt.api as shared framework library DONE 2026-05-20 2026-04-09 Step 1: refactor ores.qt monolith into plugin-based architecture; extract core framework components into ores.qt.api; cross-platform visibility macros via boost/config.hpp; project reorganisation + CMake updates.
Move App/AppVersion/ClientApp/ClientHost classes to compute DONE 2026-05-20 2026-04-09 Remove dependency on ores.qt.admin library from ores.qt.compute project; classes relocated to compute plugin.
Move DataLibrarianWindow and publish dialogs from mktdata to refdata DONE 2026-05-20 2026-04-09 Data Librarian moves from Mktdata plugin to Refdata plugin: window management, menu actions, lifecycle cleanup.
Move OreImport* from compute to trading plugin DONE 2026-05-20 2026-04-09 ores.qt.trading build configuration updated to depend on ores.ore.api.lib; OreImport classes moved from compute to trading plugin.

Decisions

Final v0 sprint
capture everything landed under v0 honestly; this is the closing chapter of v0.

Out of scope

  • Anything explicitly carried forward to v1.

See also

None.

Emacs 29.1 (Org mode 9.6.6)