This abstract interface gives access to the Iray API to plugins. More...
Public Member Functions | |
virtual Uint32 | get_interface_version () const =0 |
Returns the interface version of the Iray library. More... |
|
virtual const char * | get_version () const =0 |
Returns the product version of the Iray library. More... |
|
virtual base::IInterface * | get_api_component (const base::Uuid &uuid) const =0 |
Returns an API component from the Iray API. More... |
|
template<class T > | |
T * | get_api_component () const |
Returns an API component from the Iray API. More... |
|
virtual Sint32 | register_api_component (const base::Uuid &uuid, base::IInterface *api_component)=0 |
Registers an API component with the Iray API. More... |
|
template<class T > | |
Sint32 | register_api_component (T *api_component) |
Registers an API component with the Iray API. More... |
|
virtual Sint32 | unregister_api_component (const base::Uuid &uuid)=0 |
Unregisters an API component with the Iray API. More... |
|
template<class T > | |
Sint32 | unregister_api_component () |
Unregisters an API component with the Iray API. More... |
|
Additional Inherited Members | |
Public Types inherited from mi::base::Interface_declare< 0xf237d52c, 0xf146, 0x40e4, 0xb0, 0x35, 0x99, 0xcb, 0xc9, 0x77, 0x64, 0x6e > | |
typedef Interface_declare< id1, id2, id3, id4, id5, id6, id7, id8, id9, id10, id11, IInterface > |
Self |
Own type. More... |
|
typedef Uuid_t< id1, id2, id3, id4, id5, id6, id7, id8, id9, id10, id11 > |
IID |
Declares the interface ID (IID) of this interface. More... |
|
Static Public Member Functions inherited from mi::base::Interface_declare< 0xf237d52c, 0xf146, 0x40e4, 0xb0, 0x35, 0x99, 0xcb, 0xc9, 0x77, 0x64, 0x6e > | |
static bool | compare_iid (const Uuid &iid) |
Compares the interface ID iid against the interface ID of this interface and of its ancestors. More... |
|
This abstract interface gives access to the Iray API to plugins.
It offers functionality similar to INeuray, but does not allow to start or shutdown the library. On the other hand it allows the registration of user-defined classes.
|
pure virtual |
Returns an API component from the Iray API.
uuid | The UUID under which the API components was registered. For built-in API components this is the interface ID of the corresponding interface. |
NULL
if the API component is not supported or currently not available.
|
inline |
Returns an API component from the Iray API.
This template variant requires that the API component is registered under the interface ID of the corresponding interface (which is the case for built-in API components).
T | The type of the API components to be queried. |
NULL
if the API component is not supported or currently not available.
|
pure virtual |
Returns the interface version of the Iray library.
This number changes whenever the abstract interfaces of the Iray API change.
|
pure virtual |
Returns the product version of the Iray library.
This string contains the product version, build number, build date, etc. of the current library.
|
pure virtual |
Registers an API component with the Iray API.
API components are a way for plugins to provide access to their functionality. The registration makes the API component available for subsequent calls of get_api_component().
uuid | The ID of the API component to register, e.g., the interface ID of the corresponding interface. |
api_component | The API component to register. |
NULL
pointer).uuid
.
|
inline |
Registers an API component with the Iray API.
API components are a way for plugins to provide access to their functionality. The registration makes the API component available for subsequent calls of get_api_component().
This template variant registers the API component under the interface ID of the corresponding interface.
api_component | The API component to register. |
NULL
pointer).ID
T::IID().
|
pure virtual |
Unregisters an API component with the Iray API.
The API component will no longer be accessible via get_api_component().
uuid | The ID of the API component to unregister. |
uuid
.
|
inline |
Unregisters an API component with the Iray API.
The API component will no longer be accessible via get_api_component().
This template variant requires that the API component was registered under the interface ID of the corresponding interface (which is the case for the template variant of register_api_component()).
T::IID()
.