Math API nvidia_logo_transpbg.gif Up
mi::base::IPlugin_descriptor Class Referenceabstract

Represents a plugin. More...

#include <plugin.h>

Inheritance diagram for mi::base::IPlugin_descriptor:

Public Types

using Self = Interface_declare< id1, ... >
 Own type. More...
 
using IID = Uuid_t< id1, ... >
 Declares the interface ID (IID) of this interface. More...
 

Public Member Functions

virtual base::Pluginget_plugin () const =0
 Returns the plugin itself. More...
 
virtual const char * get_plugin_library_path () const =0
 Returns the library path of the plugin. More...
 
virtual Uint32 retain () const =0
 Increments the reference count. More...
 
virtual Uint32 release () const =0
 Decrements the reference count. More...
 
virtual const IInterfaceget_interface (const Uuid &interface_id) const =0
 Acquires a const interface from another. More...
 
template<class T>
const T * get_interface () const
 Acquires a const interface from another. More...
 
virtual IInterfaceget_interface (const Uuid &interface_id)=0
 Acquires a mutable interface from another. More...
 
template<class T>
T * get_interface ()
 Acquires a mutable interface from another. More...
 
virtual Uuid get_iid () const =0
 Returns the interface ID of the most derived interface. More...
 

Static Public Member Functions

static bool compare_iid (const Uuid &iid)
 Compares the interface ID iid against the interface ID of this interface and of its ancestors. More...
 

Detailed Description

Represents a plugin.

This interface is used to represent loaded plugins as reference-counted interfaces since mi::base::Plugin is not reference-counted. In addition, it provides the path from where the plugin was loaded.

Member Typedef Documentation

 IID

using mi::base::Interface_declare< id1, ... >::IID = Uuid_t<id1, id2, id3, id4, id5, id6, id7, id8, id9, id10, id11>
inherited

Declares the interface ID (IID) of this interface.

 Self

using mi::base::Interface_declare< id1, ... >::Self = Interface_declare<id1, id2, id3, id4, id5, id6, id7, id8, id9, id10, id11, IInterface >
inherited

Own type.

Member Function Documentation

 compare_iid()

static bool mi::base::Interface_declare< id1, ... >::compare_iid ( const Uuid iid)
inlinestaticinherited

Compares the interface ID iid against the interface ID of this interface and of its ancestors.

Returns
true if iid == IID() or is equal to one of the interface IDs of its ancestors, and false otherwise.