## 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.simple", iConsoleOutput)
| Request simple 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_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.simple", iConsoleOutput)

| Request simple console output. Definition at line 109 of file initapp.h.

#define CS_REQUEST_END (const char*)0

| Marker for the end of the requested plugins list. Definition at line 73 of file initapp.h.

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

| Request 3D engine. Definition at line 94 of file initapp.h.

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

| Request default font server. Definition at line 79 of file initapp.h.

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

| Request default image loader. Definition at line 82 of file initapp.h.

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

| Request map loader. Definition at line 97 of file initapp.h.

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

| Request map writer. Definition at line 100 of file initapp.h.

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

| Request null 3D renderer. Definition at line 85 of file initapp.h.

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

| Request OpenGL 3D renderer. Definition at line 91 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 62 of file initapp.h.

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

| Request reporter. Definition at line 103 of file initapp.h.

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

| Request default reporter listener. Definition at line 106 of file initapp.h.

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

| Request software 3D renderer. Definition at line 88 of file initapp.h.

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

| Request VFS plugin. Definition at line 76 of file initapp.h.

## Typedef Documentation

typedef bool(* csEventHandlerFunc)(iEvent &)

| Function to handle events for apps. Definition at line 116 of file initapp.h.