Main Page   Modules   Class Hierarchy   Compound List   Compound Members  

Plugin Loader

Loads executable add-ons to handle various functionality or file types. Sort of like a CORBA ORB, except optimized for gaming. More...

Compounds

class  GAUGE3D::GFileLoader
class  GAUGE3D::GObjectLoader
class  GAUGE3D::GPlugin

Defines

#define GAUGE3D_EXPORT_PLUGIN(CLASSNAME)
 Export a GPlugin derivative from the library. More...


Typedefs

typedef GSmartPointer<GFileLoader> pGFileLoader
 Smart pointer to a GFileLoader.

typedef GSmartPointer<GObjectLoader> pGObjectLoader
 Smart pointer to a GObjectLoader.

typedef GSmartPointer<GPlugin> pGPlugin
 Smart pointer to a GPlugin.


Variables

GAUGE3D_API pGObjectLoader gMainObjectLoader
 The main GAUGE object loader. More...


Detailed Description

Loads executable add-ons to handle various functionality or file types. Sort of like a CORBA ORB, except optimized for gaming.

"Plugins" are executable add-ons that increase GAUGE's functionality. They normally exist on the disk in the form of dynamic libraries (.dll or .so files, depending on your operating system). A plugin may perform some function suck as enabling the use of a particular rendering API, but more often a plugin acts as a loader for a particular type of file. For example, a plugin might load JPEG images, or BSP maps. The core GAUGE library does not know the difference between these formats. It just uses a standard interface to communicate with the plugin and get the info it needs to use the data in the file.


Define Documentation

#define GAUGE3D_EXPORT_PLUGIN( CLASSNAME )
 

Initializer:

\
CLASSNAME __gauge3d_plugin;                                   \
                                                              \
 \
extern "C"                                                    \
{                                                             \
void* __gauge3d_plugin_create() {return &__gauge3d_plugin;}   \
}
Export a GPlugin derivative from the library.

Parameters:
CLASSNAME   A class derived from GPlugin to export.

This macro should be used once in every plugin. It exports the given class so that GObjectLoader can load that class and access the rest of the plugin through it.


Variable Documentation

GAUGE3D_API pGObjectLoader GAUGE3D::gMainObjectLoader
 

The main GAUGE object loader.

In almost all cases, you'll want to use this object loader rather than create your own. Plugins that need to load other plugins will use this object loader, and they will fail if this object loader does not have any plugins in it.


Generated at Tue Jan 30 17:07:34 2001 for gauge3d by doxygen1.2.4 written by Dimitri van Heesch, © 1997-2000