## Public API Reference

- Main Page
- Modules
- Namespaces
- Classes
- Files
- Related Pages

# Application Framework

## Classes

class | csApplicationFramework
| Application framework class. More...
class | csApplicationRunner< T >
| Helper template to run a csApplicationFramework-derived application class. More...
class | csInitializer
| This class contains several static member functions that can help setup an application. More...
class | csPluginRequest
| This class represents a single plugin request for csInitializer::RequestPlugins(). More...

## Plugin request macros

Utility macros to select what plugins you want to have loaded.
#define | CS_REQUEST_CONSOLEOUT CS_REQUEST_PLUGIN("crystalspace.console.output.standard", iConsoleOutput)
| Request standard console output.
#define | CS_REQUEST_END (const char*)0
| Marker for the end of the requested plugins list.
#define | CS_REQUEST_ENGINE CS_REQUEST_PLUGIN("crystalspace.engine.3d", iEngine)
| Request 3D engine.
#define | CS_REQUEST_FONTSERVER CS_REQUEST_PLUGIN("crystalspace.font.server.default", iFontServer)
| Request default font server.
#define | CS_REQUEST_IMAGELOADER CS_REQUEST_PLUGIN("crystalspace.graphic.image.io.multiplexer", iImageIO)
| Request default image loader.
#define | CS_REQUEST_LEVELLOADER CS_REQUEST_PLUGIN("crystalspace.level.loader", iLoader)
| Request map loader.
#define | CS_REQUEST_LEVELSAVER CS_REQUEST_PLUGIN("crystalspace.level.saver", iSaver)
| Request map writer.
#define | CS_REQUEST_NULL3D CS_REQUEST_PLUGIN("crystalspace.graphics3d.null",iGraphics3D)
| Request null 3D renderer.
#define | CS_REQUEST_OPENGL3D CS_REQUEST_PLUGIN("crystalspace.graphics3d.opengl", iGraphics3D)
| Request OpenGL 3D renderer.
#define | CS_REQUEST_PLUGIN(Name, Interface)
| Request a plugin.
#define | CS_REQUEST_PLUGIN_TAG(Name, Interface, Tag)
| Request a plugin, but with a custom tag.
#define | CS_REQUEST_REPORTER CS_REQUEST_PLUGIN("crystalspace.utilities.reporter", iReporter)
| Request reporter.
#define | CS_REQUEST_REPORTERLISTENER CS_REQUEST_PLUGIN("crystalspace.utilities.stdrep", iStandardReporterListener)
| Request default reporter listener.
#define | CS_REQUEST_SOFTWARE3D CS_REQUEST_PLUGIN("crystalspace.graphics3d.software",iGraphics3D)
| Request software 3D renderer.
#define | CS_REQUEST_VFS CS_REQUEST_PLUGIN("crystalspace.kernel.vfs", iVFS)
| Request VFS plugin.

## Typedefs

typedef bool(*) | csEventHandlerFunc (iEvent &)
| Function to handle events for apps.

## Define Documentation

#define CS_REQUEST_CONSOLEOUT CS_REQUEST_PLUGIN("crystalspace.console.output.standard", iConsoleOutput)

Request standard console output.

Definition at line 118 of file initapp.h.

#define CS_REQUEST_END (const char*)0

Marker for the end of the requested plugins list.

Definition at line 82 of file initapp.h.

#define CS_REQUEST_ENGINE CS_REQUEST_PLUGIN("crystalspace.engine.3d", iEngine)

Request 3D engine.

Definition at line 103 of file initapp.h.

#define CS_REQUEST_FONTSERVER CS_REQUEST_PLUGIN("crystalspace.font.server.default", iFontServer)

Request default font server.

Definition at line 88 of file initapp.h.

#define CS_REQUEST_IMAGELOADER CS_REQUEST_PLUGIN("crystalspace.graphic.image.io.multiplexer", iImageIO)

Request default image loader.

Definition at line 91 of file initapp.h.

#define CS_REQUEST_LEVELLOADER CS_REQUEST_PLUGIN("crystalspace.level.loader", iLoader)

Request map loader.

Definition at line 106 of file initapp.h.

#define CS_REQUEST_LEVELSAVER CS_REQUEST_PLUGIN("crystalspace.level.saver", iSaver)

Request map writer.

Definition at line 109 of file initapp.h.

#define CS_REQUEST_NULL3D CS_REQUEST_PLUGIN("crystalspace.graphics3d.null",iGraphics3D)

Request null 3D renderer.

Definition at line 94 of file initapp.h.

#define CS_REQUEST_OPENGL3D CS_REQUEST_PLUGIN("crystalspace.graphics3d.opengl", iGraphics3D)

Request OpenGL 3D renderer.

Definition at line 100 of file initapp.h.

#define CS_REQUEST_PLUGIN | ( | Name,
|  | Interface |  | ) |

Value:

    Name, scfInterfaceTraits<Interface>::GetName(),                           \
      scfInterfaceTraits<Interface>::GetID(),                                   \
      scfInterfaceTraits<Interface>::GetVersion()

Request a plugin.

Definition at line 64 of file initapp.h.

#define CS_REQUEST_PLUGIN_TAG | ( | Name,
|  | Interface,
|  | Tag |  | ) |

Value:

    Name ":" Tag , scfInterfaceTraits<Interface>::GetName(),                  \
      scfInterfaceTraits<Interface>::GetID(),                                   \
      scfInterfaceTraits<Interface>::GetVersion()

Request a plugin, but with a custom tag.

Definition at line 69 of file initapp.h.

#define CS_REQUEST_REPORTER CS_REQUEST_PLUGIN("crystalspace.utilities.reporter", iReporter)

Request reporter.

Definition at line 112 of file initapp.h.

#define CS_REQUEST_REPORTERLISTENER CS_REQUEST_PLUGIN("crystalspace.utilities.stdrep", iStandardReporterListener)

Request default reporter listener.

Definition at line 115 of file initapp.h.

#define CS_REQUEST_SOFTWARE3D CS_REQUEST_PLUGIN("crystalspace.graphics3d.software",iGraphics3D)

Request software 3D renderer.

Definition at line 97 of file initapp.h.

#define CS_REQUEST_VFS CS_REQUEST_PLUGIN("crystalspace.kernel.vfs", iVFS)

Request VFS plugin.

Definition at line 85 of file initapp.h.

## Typedef Documentation

typedef bool(*) csEventHandlerFunc(iEvent &)

Function to handle events for apps.

Definition at line 125 of file initapp.h.