MessageTypeConversions.cpp File Reference

#include "precompiled.h"
#include "ps/CLogger.h"
#include "scriptinterface/ScriptInterface.h"
#include "simulation2/MessageTypes.h"
#include "js/jsapi.h"
#include "simulation2/TypeList.h"

Defines

#define TOJSVAL_SETUP()
#define SET_MSG_PROPERTY(name)
#define FROMJSVAL_SETUP()
#define GET_MSG_PROPERTY(type, name)
#define MESSAGE_1(name, t0, a0)
#define MESSAGE(name)   case MT_##name: return CMessage##name::FromJSVal(scriptingInterface, val);
#define INTERFACE(name)
#define COMPONENT(name)

Functions

CMessageCMessageFromJSVal (int mtid, ScriptInterface &scriptingInterface, jsval val)

Define Documentation

#define COMPONENT ( name   ) 
 
#define FROMJSVAL_SETUP (  ) 
Value:
if (! JSVAL_IS_OBJECT(val)) \
        return NULL; \
    JSObject* obj = JSVAL_TO_OBJECT(val); \
    jsval prop;
#define GET_MSG_PROPERTY ( type,
name   ) 
Value:
if (! JS_GetProperty(scriptInterface.GetContext(), obj, #name, &prop)) \
        return NULL; \
    type name; \
    if (! ScriptInterface::FromJSVal(scriptInterface.GetContext(), prop, name)) \
        return NULL;
#define INTERFACE ( name   ) 
#define MESSAGE ( name   )     case MT_##name: return CMessage##name::FromJSVal(scriptingInterface, val);
#define MESSAGE_1 ( name,
t0,
a0   ) 
Value:
jsval CMessage##name::ToJSVal(ScriptInterface& scriptInterface) const \
    { \
        TOJSVAL_SETUP(); \
        SET_MSG_PROPERTY(a0); \
        return OBJECT_TO_JSVAL(obj); \
    } \
    CMessage* CMessage##name::FromJSVal(ScriptInterface& scriptInterface, jsval val) \
    { \
        FROMJSVAL_SETUP(); \
        GET_MSG_PROPERTY(t0, a0); \
        return new CMessage##name(a0); \
    }
#define SET_MSG_PROPERTY ( name   ) 
Value:
do { \
        jsval prop = ScriptInterface::ToJSVal(scriptInterface.GetContext(), this->name); \
        if (! JS_SetProperty(scriptInterface.GetContext(), obj, #name, &prop)) \
            return JSVAL_VOID; \
    } while (0);
 
#define TOJSVAL_SETUP (  ) 
Value:
JSObject* obj = JS_NewObject(scriptInterface.GetContext(), NULL, NULL, NULL); \
    if (! obj) \
        return JSVAL_VOID;

Function Documentation

CMessage* CMessageFromJSVal ( int  mtid,
ScriptInterface scriptingInterface,
jsval  val 
)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Generated on Wed May 16 03:15:24 2012 for Pyrogenesis by  doxygen 1.6.3