neoGFX
Cross-platform C++ app/game engine
Loading...
Searching...
No Matches
neolib::i_plugin_manager Class Referenceabstract

#include <i_plugin_manager.hpp>

Inheritance diagram for neolib::i_plugin_manager:
neolib::i_discoverable neolib::i_reference_counted neolib::reference_counted< i_plugin_manager > neolib::plugin_manager

Classes

struct  plugin_exception
 

Public Types

typedef i_vector< i_stringplugin_file_extensions_t
 
typedef i_vector< i_stringplugin_folders_t
 
typedef i_vector< i_ref_ptr< i_plugin > > plugins_t
 

Public Member Functions

 declare_event (plugin_loaded, i_plugin &) declare_event(plugin_unloaded
 
virtual const plugin_file_extensions_tplugin_file_extensions () const =0
 
virtual plugin_file_extensions_tplugin_file_extensions ()=0
 
virtual const plugin_folders_tplugin_folders () const =0
 
virtual plugin_folders_tplugin_folders ()=0
 
virtual bool load_plugins ()=0
 
virtual bool load_plugin (const i_string &aPluginPath)=0
 
virtual void enable_plugin (i_plugin &aPlugin, bool aEnable)=0
 
virtual bool plugin_enabled (const i_plugin &aPlugin) const =0
 
virtual void unload_plugins ()=0
 
virtual const plugins_tplugins () const =0
 
virtual const i_ref_ptr< i_plugin > & find_plugin (const uuid &aId) const =0
 
virtual i_ref_ptr< i_plugin > & find_plugin (const uuid &aId)=0
 
virtual bool open_uri (const i_string &aUri)=0
 
- Public Member Functions inherited from neolib::i_discoverable
template<typename Interface >
bool discover (i_ref_ptr< Interface > &aObject)
 
virtual bool discover (const uuid &aId, void *&aObject)=0
 
- Public Member Functions inherited from neolib::i_reference_counted
virtual ~i_reference_counted ()=default
 
virtual void add_ref () const noexcept=0
 
virtual void release () const =0
 
virtual int32_t use_count () const noexcept=0
 
virtual const i_reference_countedrelease_and_take_ownership () const =0
 
virtual i_reference_countedrelease_and_take_ownership ()=0
 
virtual void pin () const noexcept=0
 
virtual void unpin () const =0
 
virtual i_ref_control_blockcontrol_block ()=0
 

Detailed Description

Definition at line 50 of file i_plugin_manager.hpp.

Member Typedef Documentation

◆ plugin_file_extensions_t

◆ plugin_folders_t

◆ plugins_t

Member Function Documentation

◆ declare_event()

neolib::i_plugin_manager::declare_event ( plugin_loaded  ,
i_plugin  
)

◆ enable_plugin()

virtual void neolib::i_plugin_manager::enable_plugin ( i_plugin aPlugin,
bool  aEnable 
)
pure virtual

Implemented in neolib::plugin_manager.

◆ find_plugin() [1/2]

virtual const i_ref_ptr< i_plugin > & neolib::i_plugin_manager::find_plugin ( const uuid aId) const
pure virtual

Implemented in neolib::plugin_manager.

◆ find_plugin() [2/2]

virtual i_ref_ptr< i_plugin > & neolib::i_plugin_manager::find_plugin ( const uuid aId)
pure virtual

Implemented in neolib::plugin_manager.

◆ load_plugin()

virtual bool neolib::i_plugin_manager::load_plugin ( const i_string aPluginPath)
pure virtual

Implemented in neolib::plugin_manager.

◆ load_plugins()

virtual bool neolib::i_plugin_manager::load_plugins ( )
pure virtual

Implemented in neolib::plugin_manager.

◆ open_uri()

virtual bool neolib::i_plugin_manager::open_uri ( const i_string aUri)
pure virtual

Implemented in neolib::plugin_manager.

◆ plugin_enabled()

virtual bool neolib::i_plugin_manager::plugin_enabled ( const i_plugin aPlugin) const
pure virtual

Implemented in neolib::plugin_manager.

◆ plugin_file_extensions() [1/2]

virtual const plugin_file_extensions_t & neolib::i_plugin_manager::plugin_file_extensions ( ) const
pure virtual

Implemented in neolib::plugin_manager.

◆ plugin_file_extensions() [2/2]

virtual plugin_file_extensions_t & neolib::i_plugin_manager::plugin_file_extensions ( )
pure virtual

Implemented in neolib::plugin_manager.

◆ plugin_folders() [1/2]

virtual const plugin_folders_t & neolib::i_plugin_manager::plugin_folders ( ) const
pure virtual

Implemented in neolib::plugin_manager.

◆ plugin_folders() [2/2]

virtual plugin_folders_t & neolib::i_plugin_manager::plugin_folders ( )
pure virtual

Implemented in neolib::plugin_manager.

◆ plugins()

virtual const plugins_t & neolib::i_plugin_manager::plugins ( ) const
pure virtual

Implemented in neolib::plugin_manager.

◆ unload_plugins()

virtual void neolib::i_plugin_manager::unload_plugins ( )
pure virtual

Implemented in neolib::plugin_manager.


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