neoGFX
Cross-platform C++ app/game engine
Loading...
Searching...
No Matches
neolib::plugin< T > Class Template Reference

#include <plugin.hpp>

Inheritance diagram for neolib::plugin< T >:
neolib::reference_counted< neolib::i_plugin > neolib::i_plugin neolib::i_discoverable neolib::i_reference_counted

Public Types

typedef T value_type
 
typedef value_type::abstract_type abstract_value_type
 
- Public Types inherited from neolib::i_plugin
typedef i_plugin abstract_type
 

Public Member Functions

 plugin (neolib::i_application &aApplication, const neolib::uuid &aId=value_type::plugin_id(), std::string const &aName=value_type::plugin_name(), std::string const &aDescription=value_type::plugin_description(), const neolib::version &aVersion=value_type::plugin_version(), std::string const &aCopyright=value_type::plugin_copyright())
 
bool discover (const neolib::uuid &aId, void *&aObject) override
 
const neolib::uuidid () const override
 
const neolib::i_stringname () const override
 
const neolib::i_stringdescription () const override
 
const neolib::i_versionversion () const override
 
const neolib::i_stringcopyright () const override
 
bool load () override
 
bool unload () override
 
bool loaded () const override
 
bool open_uri (const neolib::i_string &aUri) override
 
- Public Member Functions inherited from neolib::reference_counted< neolib::i_plugin >
 reference_counted () noexcept
 
 reference_counted (const reference_counted &aOther) noexcept
 
 ~reference_counted ()
 
reference_countedoperator= (const reference_counted &)
 
void add_ref () const noexcept override
 
void release () const override
 
int32_t use_count () const noexcept override
 
const base_typerelease_and_take_ownership () const override
 
base_typerelease_and_take_ownership () override
 
void pin () const noexcept override
 
void unpin () const override
 
i_ref_control_blockcontrol_block () override
 
- Public Member Functions inherited from neolib::i_discoverable
template<typename Interface >
bool discover (i_ref_ptr< Interface > &aObject)
 
- Public Member Functions inherited from neolib::i_reference_counted
virtual ~i_reference_counted ()=default
 

Detailed Description

template<typename T>
class neolib::plugin< T >

Definition at line 30 of file plugin.hpp.

Member Typedef Documentation

◆ abstract_value_type

template<typename T >
typedef value_type::abstract_type neolib::plugin< T >::abstract_value_type

Definition at line 34 of file plugin.hpp.

◆ value_type

template<typename T >
typedef T neolib::plugin< T >::value_type

Definition at line 33 of file plugin.hpp.

Constructor & Destructor Documentation

◆ plugin()

template<typename T >
neolib::plugin< T >::plugin ( neolib::i_application aApplication,
const neolib::uuid aId = value_type::plugin_id(),
std::string const aName = value_type::plugin_name(),
std::string const aDescription = value_type::plugin_description(),
const neolib::version aVersion = value_type::plugin_version(),
std::string const aCopyright = value_type::plugin_copyright() 
)
inline

Definition at line 36 of file plugin.hpp.

Member Function Documentation

◆ copyright()

template<typename T >
const neolib::i_string & neolib::plugin< T >::copyright ( ) const
inlineoverridevirtual

Implements neolib::i_plugin.

Definition at line 81 of file plugin.hpp.

◆ description()

template<typename T >
const neolib::i_string & neolib::plugin< T >::description ( ) const
inlineoverridevirtual

Implements neolib::i_plugin.

Definition at line 73 of file plugin.hpp.

◆ discover()

template<typename T >
bool neolib::plugin< T >::discover ( const neolib::uuid aId,
void *&  aObject 
)
inlineoverridevirtual

Implements neolib::i_discoverable.

Definition at line 53 of file plugin.hpp.

◆ id()

template<typename T >
const neolib::uuid & neolib::plugin< T >::id ( ) const
inlineoverridevirtual

Implements neolib::i_plugin.

Definition at line 65 of file plugin.hpp.

◆ load()

template<typename T >
bool neolib::plugin< T >::load ( )
inlineoverridevirtual

Implements neolib::i_plugin.

Definition at line 85 of file plugin.hpp.

◆ loaded()

template<typename T >
bool neolib::plugin< T >::loaded ( ) const
inlineoverridevirtual

Implements neolib::i_plugin.

Definition at line 96 of file plugin.hpp.

◆ name()

template<typename T >
const neolib::i_string & neolib::plugin< T >::name ( ) const
inlineoverridevirtual

Implements neolib::i_plugin.

Definition at line 69 of file plugin.hpp.

◆ open_uri()

template<typename T >
bool neolib::plugin< T >::open_uri ( const neolib::i_string aUri)
inlineoverridevirtual

Implements neolib::i_plugin.

Definition at line 100 of file plugin.hpp.

◆ unload()

template<typename T >
bool neolib::plugin< T >::unload ( )
inlineoverridevirtual

Implements neolib::i_plugin.

Definition at line 90 of file plugin.hpp.

◆ version()

template<typename T >
const neolib::i_version & neolib::plugin< T >::version ( ) const
inlineoverridevirtual

Implements neolib::i_plugin.

Definition at line 77 of file plugin.hpp.


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