ContributionRegistry.h header

#include <ew/app/ContributionRegistry.h>

Namespace ew::app

ContributionRegistry class

class ew::app::ContributionRegistry

Collects the contributions plugins register during load and vends them to the rest of the app. It is the host-side implementation of PluginContext: PluginHost fills it once at startup, then the theme picker and AI-command loader read it back (merged with the built-in/user data by the free functions availableThemes / loadPromptCommands). Constructed at the composition root and passed by reference (not a singleton).

Members

void ew::app::ContributionRegistry::addTheme(const Theme &theme) override

Appends theme to the contributed themes (order preserved; de-duplication against the built-ins happens at read time in availableThemes).

void ew::app::ContributionRegistry::addPromptCommand(const PromptCommand &command) override

Appends command to the contributed AI commands (order preserved; de-duplication by name happens at read time in loadPromptCommands).

void ew::app::ContributionRegistry::addPanel(const PluginPanel &panel) override

Appends panel to the contributed dock/panels (order preserved); the host mounts each after plugins have loaded.

void ew::app::ContributionRegistry::addMenuCommand(const PluginMenuCommand &command) override

Appends command to the contributed menu commands (order preserved); the host adds each to the plugin-commands menu.

const std::vector< Theme > & ew::app::ContributionRegistry::themes() const

The themes contributed by plugins, in registration order.

const std::vector< PromptCommand > & ew::app::ContributionRegistry::promptCommands() const

The AI commands contributed by plugins, in registration order.

const std::vector< PluginPanel > & ew::app::ContributionRegistry::panels() const

The dock/panels contributed by plugins, in registration order.

const std::vector< PluginMenuCommand > & ew::app::ContributionRegistry::menuCommands() const

The menu commands contributed by plugins, in registration order.