ores.qt.api

Table of Contents

Diagram

ores.qt.api component diagram

Figure 1: ores.qt.api

Summary

ores.qt.api is the shared infrastructure layer for the ORE Studio Qt application. It defines the IPlugin interface and PluginBase that all feature plugins implement, the plugin_context and shared_menus_context structs passed through the plugin lifecycle, and the base classes for the entity UI pattern: EntityController, EntityListMdiWindow, EntityDetailDialog, and AbstractClientModel. It also provides ClientManager (the NATS client wrapper), shared caches (badge, image, change-reason), MDI utilities, icon utilities, and common dialog helpers used across all plugins.

Inputs

  • NATS client connection provided by ores.nats and ores.eventing.
  • Domain type definitions from all linked ores.*.api libraries.
  • Qt plugin loader infrastructure (QPluginLoader) for the plugin protocol.

Outputs

  • IPlugin / PluginBase — the interface every Qt plugin implements.
  • plugin_context / shared_menus_context — lifecycle context structs.
  • EntityController, EntityListMdiWindow, EntityDetailDialog, AbstractClientModel — base classes for the entity UI pattern.
  • ClientManager — typed NATS request/response wrapper for all domain calls.
  • BadgeCache, ChangeReasonCache, ImageCache — session-scoped caches.
  • Utility headers: IconUtils, MdiUtils, FontUtils, TextUtils, etc.

Entry points

  • include/ores.qt/IPlugin.hpp — plugin interface with lifecycle methods.
  • include/ores.qt/PluginBase.hpp — QObject-based IPlugin implementation base.
  • include/ores.qt/plugin_context.hpp — login context passed to on_login.
  • include/ores.qt/EntityController.hpp — base controller class.
  • include/ores.qt/ClientManager.hpp — NATS client wrapper.

Dependencies

  • ores.nats — NATS transport client.
  • ores.eventing — eventing infrastructure for change notifications.
  • ores.iam.api — IAM domain types (session, account).
  • ores.refdata.api — refdata domain types used in shared pickers.
  • ores.trading.api — trading domain types used in shared pickers.
  • ores.compute.api, ores.scheduler.api, ores.dq.api, ores.http.api, ores.assets.api — domain types for shared UI helpers.
  • ores.logging, ores.utility, ores.platform — infrastructure.

See also

Emacs 29.1 (Org mode 9.6.6)