StateManager (Raxol v2.0.1)
View SourcePlugin state management utilities with full functionality.
Provides state management for the plugin system, including initialization, updates, persistence, and cleanup. Integrates with the unified state manager for consistency and performance.
Summary
Functions
Cleans up all plugin states.
Gets plugin metadata.
Gets plugin state by plugin ID.
Initializes the plugin state manager subsystem.
Initializes plugin state for a given plugin module.
Lists all plugin states.
Removes plugin state and metadata.
Sets plugin state directly.
Updates plugin state using an update function.
Updates plugin state using legacy interface for backward compatibility.
Types
Functions
@spec cleanup() :: :ok
Cleans up all plugin states.
Gets plugin metadata.
@spec get_plugin_state(plugin_id()) :: {:ok, plugin_state()} | {:error, :not_found}
Gets plugin state by plugin ID.
Initializes the plugin state manager subsystem.
@spec initialize_plugin_state(plugin_module(), plugin_config()) :: {:ok, plugin_state()}
Initializes plugin state for a given plugin module.
Creates initial state based on the plugin's configuration and stores it in the unified state management system under the plugins namespace.
@spec list_plugin_states() :: [{plugin_id(), plugin_state()}]
Lists all plugin states.
@spec remove_plugin(plugin_id()) :: :ok
Removes plugin state and metadata.
@spec set_plugin_state(plugin_id(), plugin_state()) :: :ok
Sets plugin state directly.
@spec update_plugin_state(plugin_id(), (plugin_state() -> plugin_state())) :: {:ok, plugin_state()}
Updates plugin state using an update function.
@spec update_plugin_state_legacy(plugin_id(), plugin_state(), plugin_config()) :: {:ok, plugin_state()}
Updates plugin state using legacy interface for backward compatibility.
Maintains state in the unified state manager and supports both functional and imperative update patterns.