src/inVRs/SystemCore/ComponentInterfaces/ModuleInterface.h File Reference

#include <string>
#include "../EventManager/Event.h"
#include "../Platform.h"

Include dependency graph for ModuleInterface.h:

This graph shows which files directly or indirectly include this file:


Classes

class  ModuleInterface

Defines

#define MODULEPLUGINVERSION   "$Revision: 1622 $"
#define MAKEMODULEPLUGIN(Module_t, ModuleOwner_t)

Typedefs

typedef bool(* registerModule_t )()
typedef const char *(* modulePluginVersion_t )()

Define Documentation

#define MAKEMODULEPLUGIN ( Module_t,
ModuleOwner_t   ) 

Value:

extern "C" { \
                ModuleInterface* module_ ## Module_t = 0; \
                const char* modulePluginVersion() \
                { \
                        return MODULEPLUGINVERSION; \
                } \
                bool registerModule() \
                { \
                        module_ ## Module_t = new Module_t(); /* new could be overloaded outside this compilation unit, so we have to use this function. */ \
                        return ModuleOwner_t::registerModuleInterface( module_ ## Module_t ); \
                } \
                bool unregisterModule() \
                { \
                        bool ret = false; \
                        if (module_ ## Module_t) { \
                                printd("%s::unregisterModule(): unregistering Module.\n", #Module_t); \
                                ret = ModuleOwner_t::unregisterModuleInterface( module_ ## Module_t ); \
                                printd("%s::unregisterModule(): deleting Module.\n", #Module_t); \
                                delete module_ ## Module_t; /* delete could be overloaded outside this compilation unit, so we have to use this function. */ \
                        } \
                        else { \
                                printd(ERROR, "%s::unregisterModule(): Module already deleted!\n", #Module_t); \
                        } \
                        return ret; \
                } \
        }

#define MODULEPLUGINVERSION   "$Revision: 1622 $"


Typedef Documentation

typedef const char*(* modulePluginVersion_t)()

typedef bool(* registerModule_t)()


Generated on Wed Oct 20 16:11:46 2010 for inVRs by doxygen 1.5.8