Raxol.Core.Runtime.Plugins.Loader (Raxol v2.0.1)

View Source

Manages plugin loading operations.

Summary

Functions

Checks if a module implements the given behaviour.

Returns a specification to start this module under a supervisor.

Discovers plugins in the given directories. Returns a list of discovered plugin paths.

Gets the list of loaded plugins.

Loads code for a plugin by its ID.

Loads a plugin from the given path.

Checks if a plugin is loaded.

Reloads a plugin.

Unloads a plugin.

Types

t()

@type t() :: %Raxol.Core.Runtime.Plugins.Loader{
  loaded_plugins: map(),
  plugin_configs: map(),
  plugin_metadata: map()
}

Functions

behaviour_implemented?(module, behaviour)

Checks if a module implements the given behaviour.

child_spec(init_arg)

Returns a specification to start this module under a supervisor.

See Supervisor.

discover_plugins(plugin_dirs)

Discovers plugins in the given directories. Returns a list of discovered plugin paths.

extract_metadata(module)

get_loaded_plugins()

Gets the list of loaded plugins.

handle_manager_cast(msg, state)

Callback implementation for Raxol.Core.Behaviours.BaseManager.handle_manager_cast/2.

handle_manager_info(msg, state)

Callback implementation for Raxol.Core.Behaviours.BaseManager.handle_manager_info/2.

initialize_plugin(module, config)

load_code(id)

Loads code for a plugin by its ID.

load_plugin(plugin_path)

Loads a plugin from the given path.

plugin_loaded?(plugin)

Checks if a plugin is loaded.

reload_plugin(plugin)

Reloads a plugin.

start_link(init_opts \\ [])

unload_plugin(plugin)

Unloads a plugin.