Plugin
PluginManager
¶
Singleton class for managing plugins.
Attributes:
Name | Type | Description |
---|---|---|
plugins |
A list of loaded plugins. |
|
previously_discovered_plugins |
A dictionary of previously discovered plugins. |
|
_lock |
A lock to ensure thread safety. |
discover_plugins()
¶
Unload or load plugins based on the discovered plugins.
emit_event(event_type, data=None)
async
¶
Propagate an event to all registered event callbacks.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
event_type
|
str
|
The type of event to emit. |
required |
data
|
dict
|
The data associated with the event. |
None
|
get_federation_config()
¶
Get the federation configuration for all loaded plugins.
get_plugin_for_capability(capability)
¶
Get the plugin that provides the given capability.
get_plugin_names()
¶
Get the names of all loaded plugins.
get_plugins()
¶
Get all loaded plugins.
register_event_callback(event_type, callback)
¶
Register a callback for a specific event type.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
event_type
|
str
|
The type of event to register the callback for. |
required |
callback
|
Callable
|
The callback function to be called when the event is emitted. |
required |
unregister_event_callback(event_type, callback)
¶
Unregister a callback for a specific event type.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
event_type
|
str
|
The type of event to unregister the callback for. |
required |
callback
|
Callable
|
The callback function to be removed. |
required |
Plugin
¶
Bases: Protocol
This is the base class for all plugins. All plugins should adhere to this interface to ensure compatibility with whitebox.
Attributes:
Name | Type | Description |
---|---|---|
whitebox |
Instance of the standard API wrapper provided by whitebox. |
|
plugin_template |
Optional[str]
|
Path to the template file for the plugin. |
plugin_css |
List[str]
|
List of paths to the CSS file(s) for the plugin. |
plugin_js |
List[str]
|
List of paths to the JavaScript file(s) for the plugin. |
devices |
List[str]
|
List of device classes that the plugin contributes to the device list. |
get_css()
¶
Return the path to the CSS file(s) for the plugin.
get_device_classes()
¶
Return the list of device classes that the plugin contributes to the device list.
get_exposed_component_map()
¶
Return a mapping of exposed components by capability type to their corresponding component paths.
get_js()
¶
Return the path to the JavaScript file(s) for the plugin.
get_provider_template(capability)
¶
Return the path to the HTML template file for the provider of a specific capability, if it exists.
get_provider_template_context(capability)
¶
Return the context to be passed to the provider template renderer.
get_slot_component_map()
¶
Return a mapping of slots to their corresponding component paths.
WhiteboxStandardAPI
¶
This class provides a standard API for plugins to interact with whitebox.
Attributes:
Name | Type | Description |
---|---|---|
api |
Instance of the standard API provided by whitebox. |
Methods:
Name | Description |
---|---|
register_event_callback |
Register an event callback for a specific event type. |
emit_event(event_type, data=None)
async
¶
Emit an event to all registered listeners.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
event_type
|
str
|
The type of event to emit. |
required |
data
|
dict
|
The data to send with the event. |
None
|
register_event_callback(event_type, callback)
staticmethod
¶
Register an event callback for a specific event type. This allows a plugin to listen for events triggered by the
Parameters:
Name | Type | Description | Default |
---|---|---|---|
event_type
|
str
|
The type of event to listen for. |
required |
callback
|
Callable
|
The function to call when the event is triggered. |
required |
unregister_event_callback(event_type, callback)
¶
Unregister an event callback for a specific event type.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
event_type
|
str
|
The type of event to unregister the callback for. |
required |
callback
|
Callable
|
The callback function to be removed. |
required |