Pyrogenesis  13997
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Macros | Functions
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"

Go to the source code of this file.

Macros

#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)
 

Macro Definition Documentation

#define COMPONENT (   name)
#define FROMJSVAL_SETUP ( )
Value:
if (! JSVAL_IS_OBJECT(val)) \
return NULL; \
JSObject* obj = JSVAL_TO_OBJECT(val); \
jsval prop;

Definition at line 38 of file MessageTypeConversions.cpp.

#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;
static bool FromJSVal(JSContext *cx, jsval val, T &ret)
Convert a jsval to a C++ type.

Definition at line 44 of file MessageTypeConversions.cpp.

#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 \
{ \
return OBJECT_TO_JSVAL(obj); \
} \
CMessage* CMessage##name::FromJSVal(ScriptInterface& scriptInterface, jsval val) \
{ \
return new CMessage##name(a0); \
}
#define TOJSVAL_SETUP()
#define GET_MSG_PROPERTY(type, name)
#define SET_MSG_PROPERTY(name)
jsval ToJSVal(T &Native)
Definition: JSConversions.h:87
Abstraction around a SpiderMonkey JSContext.
#define FROMJSVAL_SETUP()

Definition at line 74 of file MessageTypeConversions.cpp.

#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);
static jsval ToJSVal(JSContext *cx, T const &val)
Convert a C++ type to a jsval.

Definition at line 31 of file MessageTypeConversions.cpp.

#define TOJSVAL_SETUP ( )
Value:
JSObject* obj = JS_NewObject(scriptInterface.GetContext(), NULL, NULL, NULL); \
if (! obj) \
return JSVAL_VOID;

Definition at line 26 of file MessageTypeConversions.cpp.

Function Documentation

CMessage* CMessageFromJSVal ( int  mtid,
ScriptInterface scriptingInterface,
jsval  val 
)

Definition at line 354 of file MessageTypeConversions.cpp.