EventIncludes.h File Reference

#include "CorePrereqs.h"
#include "Executor.h"

Defines

#define ORXONOX_SET_EVENT(classname, eventname, functionname, event)   ORXONOX_SET_EVENT_GENERIC(eventcontainer##classname##functionname, classname, eventname, functionname, event, BaseObject)
#define ORXONOX_SET_EVENT_GENERIC(containername, classname, eventname, functionname, event, subclassname)
#define ORXONOX_SET_EVENT_GENERIC_TEMPLATE(containername, classname, eventname, functionname, event, subclassname,...)
#define ORXONOX_SET_EVENT_TEMPLATE(classname, eventname, functionname, event,...)   ORXONOX_SET_EVENT_GENERIC_TEMPLATE(eventcontainer##classname##functionname, classname, eventname, functionname, event, BaseObject, __VA_ARGS__)
#define ORXONOX_SET_SUBCLASS_EVENT(classname, eventname, functionname, event, subclassname)   ORXONOX_SET_EVENT_GENERIC(eventcontainer##classname##functionname, classname, eventname, functionname, event, subclassname)
#define ORXONOX_SET_SUBCLASS_EVENT_TEMPLATE(classname, eventname, functionname, event, subclassname,...)   ORXONOX_SET_EVENT_GENERIC_TEMPLATE(eventcontainer##classname##functionname, classname, eventname, functionname, event, subclassname, __VA_ARGS__)

Define Documentation

#define ORXONOX_SET_EVENT ( classname,
eventname,
functionname,
event   )     ORXONOX_SET_EVENT_GENERIC(eventcontainer##classname##functionname, classname, eventname, functionname, event, BaseObject)

#define ORXONOX_SET_EVENT_GENERIC ( containername,
classname,
eventname,
functionname,
event,
subclassname   ) 

Value:

orxonox::EventContainer* containername = this->getEventContainer(eventname); \
    if (!containername) \
    { \
        ExecutorMember<classname>* executor = orxonox::createExecutor(orxonox::createFunctor(&classname::functionname), std::string( #classname ) + "::" + #functionname); \
        executor->setObject(this); \
        containername = new orxonox::EventContainer(std::string(eventname), executor, orxonox::ClassIdentifier<subclassname>::getIdentifier()); \
        this->addEventContainer(eventname, containername); \
    } \
    event.castedOriginator_ = dynamic_cast<subclassname*>(event.originator_); \
    containername->process(this, event)

#define ORXONOX_SET_EVENT_GENERIC_TEMPLATE ( containername,
classname,
eventname,
functionname,
event,
subclassname,
...   ) 

Value:

orxonox::EventContainer* containername = this->getEventContainer(eventname); \
    if (!containername) \
    { \
        ExecutorMember<classname>* executor = orxonox::createExecutor(orxonox::createFunctor<classname, __VA_ARGS__ >(&classname::functionname), std::string( #classname ) + "::" + #functionname); \
        executor->setObject(this); \
        containername = new orxonox::EventContainer(std::string(eventname), executor, orxonox::ClassIdentifier<subclassname>::getIdentifier()); \
        this->addEventContainer(eventname, containername); \
    } \
    event.castedOriginator_ = dynamic_cast<subclassname*>(event.originator_); \
    containername->process(this, event)

#define ORXONOX_SET_EVENT_TEMPLATE ( classname,
eventname,
functionname,
event,
...   )     ORXONOX_SET_EVENT_GENERIC_TEMPLATE(eventcontainer##classname##functionname, classname, eventname, functionname, event, BaseObject, __VA_ARGS__)

#define ORXONOX_SET_SUBCLASS_EVENT ( classname,
eventname,
functionname,
event,
subclassname   )     ORXONOX_SET_EVENT_GENERIC(eventcontainer##classname##functionname, classname, eventname, functionname, event, subclassname)

#define ORXONOX_SET_SUBCLASS_EVENT_TEMPLATE ( classname,
eventname,
functionname,
event,
subclassname,
...   )     ORXONOX_SET_EVENT_GENERIC_TEMPLATE(eventcontainer##classname##functionname, classname, eventname, functionname, event, subclassname, __VA_ARGS__)


Generated on Tue Jul 28 16:21:08 2009 for Orxonox by  doxygen 1.5.6