HAL
plugin_manager.h File Reference
#include "hal_core/defines.h"
#include "hal_core/plugin_system/fac_extension_interface.h"
#include "hal_core/plugin_system/plugin_interface_base.h"
#include "hal_core/utilities/callback_hook.h"
#include "hal_core/utilities/program_options.h"
#include <functional>
#include <map>
#include <memory>
#include <string>
#include <tuple>
Include dependency graph for plugin_manager.h:

Go to the source code of this file.

Classes

struct  hal::plugin_manager::PluginFeature
 

Namespaces

 hal
 
 hal::plugin_manager
 

Functions

void hal::plugin_manager::add_existing_options_description (const ProgramOptions &existing_options)
 
std::set< std::string > hal::plugin_manager::get_plugin_names ()
 
std::filesystem::path hal::plugin_manager::get_plugin_path (std::string plugin_name)
 
std::unordered_map< std::string, std::string > hal::plugin_manager::get_cli_plugin_flags ()
 
std::unordered_map< std::string, std::string > hal::plugin_manager::get_ui_plugin_flags ()
 
ProgramOptions hal::plugin_manager::get_cli_plugin_options ()
 
bool hal::plugin_manager::load_all_plugins (const std::vector< std::filesystem::path > &directory_names)
 
bool hal::plugin_manager::load (const std::string &plugin_name, const std::filesystem::path &file_path_or_empty)
 
bool hal::plugin_manager::unload_all_plugins ()
 
bool hal::plugin_manager::unload (const std::string &plugin_name)
 
BasePluginInterface * hal::plugin_manager::get_plugin_instance (const std::string &plugin_name, bool initialize, bool silent)
 
template<typename T >
T * hal::plugin_manager::get_plugin_instance (const std::string &plugin_name, bool initialize=true)
 
template<typename T >
T * hal::plugin_manager::get_first_extension (const std::string &plugin_name, bool initialize=true)
 
u64 hal::plugin_manager::add_model_changed_callback (std::function< void(bool, std::string const &, std::string const &)> callback)
 
void hal::plugin_manager::remove_model_changed_callback (u64 id)
 
bool hal::plugin_manager::has_valid_file_extension (std::filesystem::path file_name)
 
std::vector< PluginFeature > hal::plugin_manager::get_plugin_features (std::string name)