18 #include "precompiled.h"
33 return( v ? v->
vector : NULL );
47 return( OBJECT_TO_JSVAL( Script ) );
54 return( INT_TO_JSVAL( Native ) );
59 return( INT_TO_JSVAL( Native ) );
64 JSBool ok = JS_ValueToInt32(cx, v, (int32*)&Storage);
72 return( INT_TO_JSVAL( Native ) );
77 return( INT_TO_JSVAL( Native ) );
87 Storage = (unsigned)temp;
94 return( INT_TO_JSVAL( (
int)Native ) );
99 return( INT_TO_JSVAL( (
int)Native ) );
105 JSBool ok = JS_ValueToInt32(cx, v, &tmp);
107 return ok == JS_TRUE;
113 return( INT_TO_JSVAL( (
int)Native ) );
118 return( INT_TO_JSVAL( (
int)Native ) );
124 JSBool ok = JS_ValueToInt32(cx, v, &tmp);
125 Storage = (
unsigned long)tmp;
126 return ok == JS_TRUE;
133 template<> jsval ToJSVal<size_t>(
const size_t& Native )
135 return( INT_TO_JSVAL( (
int)Native ) );
138 template<> jsval ToJSVal<size_t>(
size_t& Native )
140 return( INT_TO_JSVAL( (
int)Native ) );
143 template<>
bool ToPrimitive<size_t>( JSContext* cx, jsval v,
size_t& Storage )
150 Storage = (size_t)temp;
155 template<> jsval ToJSVal<ssize_t>(
const ssize_t& Native )
157 return( INT_TO_JSVAL( (
int)Native ) );
160 template<> jsval ToJSVal<ssize_t>(
ssize_t& Native )
162 return( INT_TO_JSVAL( (
int)Native ) );
165 template<>
bool ToPrimitive<ssize_t>( JSContext* cx, jsval v,
ssize_t& Storage )
176 #endif // #if ARCH_AMD64
177 #endif // #if !GCC_VERSION
183 jsval val = JSVAL_VOID;
190 jsval val = JSVAL_VOID;
197 JSBool ok = JS_ValueToNumber(cx, v, &Storage);
198 if (ok == JS_FALSE || !
isfinite( Storage ) )
207 jsval val = JSVAL_VOID;
214 jsval val = JSVAL_VOID;
224 Storage = (float)temp;
233 return( BOOLEAN_TO_JSVAL( Native ) );
238 return( BOOLEAN_TO_JSVAL( Native ) );
244 JSBool ok = JS_ValueToBoolean(cx, v, &temp);
247 Storage = (temp == JS_TRUE);
267 return( STRING_TO_JSVAL( JS_NewUCStringCopyZ(
g_ScriptingHost.GetContext(),
reinterpret_cast<const jschar*
>(Native.utf16().c_str()) ) ) );
272 return( STRING_TO_JSVAL( JS_NewUCStringCopyZ(
g_ScriptingHost.GetContext(),
reinterpret_cast<const jschar*
>(Native.utf16().c_str()) ) ) );
288 return( STRING_TO_JSVAL( JS_NewStringCopyZ(
g_ScriptingHost.GetContext(), Native.c_str() ) ) );
293 return( STRING_TO_JSVAL( JS_NewStringCopyZ(
g_ScriptingHost.GetContext(), Native.c_str() ) ) );
bool ToPrimitive< long >(JSContext *cx, jsval v, long &Storage)
jsval ToJSVal< float >(const float &Native)
bool ToPrimitive< CStrW >(JSContext *cx, jsval v, CStrW &Storage)
jsval ToJSVal< double >(const double &Native)
#define UNUSED(param)
mark a function parameter as unused and avoid the corresponding compiler warning. ...
bool ToPrimitive< CStr8 >(JSContext *cx, jsval v, CStr8 &Storage)
bool ToPrimitive< unsigned >(JSContext *cx, jsval v, unsigned &Storage)
jsval ToJSVal< CVector3D >(const CVector3D &Native)
JSObject * ToScript< CVector3D >(CVector3D *Native)
bool ToPrimitive< bool >(JSContext *cx, jsval v, bool &Storage)
bool ToPrimitive< unsigned long >(JSContext *cx, jsval v, unsigned long &Storage)
jsval ToJSVal< long >(const long &Native)
static bool FromJSVal(JSContext *cx, jsval val, T &ret)
Convert a jsval to a C++ type.
bool ToPrimitive< double >(JSContext *cx, jsval v, double &Storage)
jsval ToJSVal< unsigned long >(const unsigned long &Native)
jsval ToJSVal< int >(const int &Native)
jsval ToJSVal< CStrW >(const CStrW &Native)
CVector3D * ToNative< CVector3D >(JSContext *cx, JSObject *obj)
jsval ToJSVal< CStr8 >(const CStr8 &Native)
bool ToPrimitive< int >(JSContext *cx, jsval v, int &Storage)
jsval ToJSVal< bool >(const bool &Native)
bool ToPrimitive< float >(JSContext *cx, jsval v, float &Storage)
jsval ToJSVal< unsigned >(const unsigned &Native)