PicoScenes API Docs
 
Loading...
Searching...
No Matches
PicoScenesPluginManager Class Reference

Manager class for PicoScenes plugins. More...

#include <PicoScenesPluginManager.hxx>

Inheritance diagram for PicoScenesPluginManager:
Collaboration diagram for PicoScenesPluginManager:

Public Member Functions

std::pair< bool, std::string > tryInstallPlugin (const std::string &pluginFilePath)
 Attempt to install a plugin.
 
void parseAndExecuteCommands (const std::string &commandString)
 Parse and execute plugin commands.
 
void callRxHandles (const ModularPicoScenesRxFrame &rxs)
 Call rx handlers for all plugins.
 
const std::vector< std::shared_ptr< PicoScenesPluginWrapper > > & getAllPlugins () const
 Get all installed plugins.
 
void uninstallPlugin (const std::string &plugInName)
 Uninstall a specific plugin.
 
void deactivateAllPlugins ()
 Deactivate all plugins.
 
void uninstallAllPlugins ()
 Uninstall all plugins.
 

Static Public Member Functions

static std::shared_ptr< PicoScenesPluginManagergetInstance (const std::shared_ptr< AbstractNIC > &nic)
 Get plugin manager instance for specific NIC.
 
static std::vector< std::string > listPluginsInFolder ()
 List all available plugins in the plugin directory.
 
static const std::vector< std::shared_ptr< po::options_description > > & getPluginOptions ()
 Get all plugin options.
 

Static Public Attributes

static NIC_API std::string pluginDir
 Directory containing plugin files.
 

Detailed Description

Manager class for PicoScenes plugins.

Handles plugin lifecycle management, including loading, initialization, execution, and unloading of plugins

Definition at line 75 of file PicoScenesPluginManager.hxx.

Member Function Documentation

◆ callRxHandles()

void PicoScenesPluginManager::callRxHandles ( const ModularPicoScenesRxFrame &  rxs)

Call rx handlers for all plugins.

Parameters
rxsReceived frame to process

◆ deactivateAllPlugins()

void PicoScenesPluginManager::deactivateAllPlugins ( )

Deactivate all plugins.

◆ getAllPlugins()

const std::vector< std::shared_ptr< PicoScenesPluginWrapper > > & PicoScenesPluginManager::getAllPlugins ( ) const

Get all installed plugins.

Returns
Vector of plugin wrappers

◆ getInstance()

static std::shared_ptr< PicoScenesPluginManager > PicoScenesPluginManager::getInstance ( const std::shared_ptr< AbstractNIC > &  nic)
static

Get plugin manager instance for specific NIC.

Parameters
nicNetwork interface card instance
Returns
Shared pointer to plugin manager

◆ getPluginOptions()

static const std::vector< std::shared_ptr< po::options_description > > & PicoScenesPluginManager::getPluginOptions ( )
static

Get all plugin options.

Returns
Vector of option descriptions for all plugins

◆ listPluginsInFolder()

static std::vector< std::string > PicoScenesPluginManager::listPluginsInFolder ( )
static

List all available plugins in the plugin directory.

Returns
Vector of plugin file paths

◆ parseAndExecuteCommands()

void PicoScenesPluginManager::parseAndExecuteCommands ( const std::string &  commandString)

Parse and execute plugin commands.

Parameters
commandStringCommand string to execute

◆ tryInstallPlugin()

std::pair< bool, std::string > PicoScenesPluginManager::tryInstallPlugin ( const std::string &  pluginFilePath)

Attempt to install a plugin.

Parameters
pluginFilePathPath to the plugin file
Returns
Pair of (success status, plugin name)

◆ uninstallAllPlugins()

void PicoScenesPluginManager::uninstallAllPlugins ( )

Uninstall all plugins.

◆ uninstallPlugin()

void PicoScenesPluginManager::uninstallPlugin ( const std::string &  plugInName)

Uninstall a specific plugin.

Parameters
plugInNameName of plugin to uninstall

Member Data Documentation

◆ pluginDir

NIC_API std::string PicoScenesPluginManager::pluginDir
static

Directory containing plugin files.

Definition at line 137 of file PicoScenesPluginManager.hxx.


The documentation for this class was generated from the following file: