#include <PlugIn.h>
Friends | |
NVSG_API bool | getInterface (const std::vector< std::string > &searchPath, const UPIID &piid, PlugIn *&plugIn) |
Get hold of a certain interface object. | |
NVSG_API bool | queryInterfaceType (const std::vector< std::string > &searchPath, const UPITID &pitid, std::vector< UPIID > &piids) |
Query for a certain interface type. | |
NVSG_API void | releaseInterface (const UPIID &piid) |
Release a certain interface. | |
NVSG_API void | setPlugInFileFilter (const std::string &filter) |
Specify a file name filter to be used while searching for appropriate plug-in modules. | |
Classes | |
class | PlugInHolder |
The PlugInServer
class provides functionality for convenient plug-in managment.
PlugInServer
is a central management tool to handle plug-ins and therefore it is implemented as a singleton object. The interface of the PlugInServer
can only be accesses through an external set of wrapper functions with special access rights.
|
Get hold of a certain interface object. Searches the searchPath for a plug-in that provides an interface specified by piid. If successfull, plugIn holds the requested interface object. While searching for appropriate plug-in modules, this function uses either the PlugInServer's default file name filter or a custom file name filter set by a call to nvutil::setPlugInFileFilter. The default file name filter for plug-in modules is "*.dll" on Microsoft(R) Windows platforms, and "*.so" on Linux platforms. The function always returns the first matching interface found in the specified search path in consideration of the used file name filter. If client code asks for a certain interface a second time, without releasing the interface object got with the first call to getInterface, this function will not search through the search path a second time but returning the interface object registered with the first call. This will also work this way, independent of whether the file name filter was changed in between.
|
|
Query for a certain interface type. Searches the searchPath for all plug-ins that provide a certain interface type specified by pitid. If successfull, client code will receive the concrete interface IDs in piids. Each of these IDs can than be used along with nvutil::getInterface, to get an interface object. While searching for appropriate plug-in modules, this function uses either the PlugInServer's default file name filter or a custom file name filter set by a call to nvutil::setPlugInFileFilter. The default file name filter for plug-in modules is "*.dll" on Microsoft(R) Windows platforms, and "*.so" on Linux platforms.
|
|
Release a certain interface. Frees all resources acquired by the interface object identified by piid.
|
|
Specify a file name filter to be used while searching for appropriate plug-in modules. This function overrides the PlugInServer's default file name filter used to search for appropriate plug-in modules. The function lets you specify different file name patterns. The patterns must be separated by a semicolon.
|