#include <memory>#include <vector>#include <string>#include "ScriptTypes.h"#include "ScriptVal.h"#include "js/jsapi.h"#include "lib/file/vfs/vfs_path.h"#include "ps/Profile.h"#include "ps/utf16string.h"#include <boost/random/linear_congruential.hpp>#include "NativeWrapperDecls.h"#include <boost/preprocessor/punctuation/comma_if.hpp>#include <boost/preprocessor/repetition/repeat.hpp>Go to the source code of this file.
Classes | |
| class | ScriptInterface |
| Abstraction around a SpiderMonkey JSContext. More... | |
| class | ScriptInterface::StructuredClone |
| Structured clones are a way to serialize 'simple' JS values into a buffer that can safely be passed between contexts and runtimes and threads. More... | |
Defines | |
| #define | SCRIPT_INTERFACE_MAX_ARGS 7 |
| #define | DEFAULT_RUNTIME_SIZE 16 * 1024 * 1024 |
| #define | ENABLE_SCRIPT_PROFILING 1 |
| #define | NUMBERED_LIST_HEAD(z, i, data) data##i, |
| #define | NUMBERED_LIST_TAIL(z, i, data) ,data##i |
| #define | NUMBERED_LIST_BALANCED(z, i, data) BOOST_PP_COMMA_IF(i) data##i |
| #define | TYPED_ARGS(z, i, data) , T##i a##i |
| #define | CONVERT_ARG(z, i, data) T##i a##i; if (! ScriptInterface::FromJSVal<T##i>(cx, i < argc ? JS_ARGV(cx, vp)[i] : JSVAL_VOID, a##i)) return JS_FALSE; |
| #define | TYPENAME_T0_HEAD(z, i) BOOST_PP_REPEAT_##z (i, NUMBERED_LIST_HEAD, typename T) |
| #define | TYPENAME_T0_TAIL(z, i) BOOST_PP_REPEAT_##z (i, NUMBERED_LIST_TAIL, typename T) |
| #define | T0(z, i) BOOST_PP_REPEAT_##z (i, NUMBERED_LIST_BALANCED, T) |
| #define | T0_HEAD(z, i) BOOST_PP_REPEAT_##z (i, NUMBERED_LIST_HEAD, T) |
| #define | T0_TAIL(z, i) BOOST_PP_REPEAT_##z (i, NUMBERED_LIST_TAIL, T) |
| #define | T0_A0(z, i) BOOST_PP_REPEAT_##z (i, TYPED_ARGS, ~) |
| #define | A0(z, i) BOOST_PP_REPEAT_##z (i, NUMBERED_LIST_BALANCED, a) |
| #define | A0_TAIL(z, i) BOOST_PP_REPEAT_##z (i, NUMBERED_LIST_TAIL, a) |
| #define | OVERLOADS(z, i, data) |
| #define | OVERLOADS(z, i, data) |
| #define | OVERLOADS(z, i, data) |
| #define | OVERLOADS(z, i, data) |
| #define A0 | ( | z, | |||
| i | ) | BOOST_PP_REPEAT_##z (i, NUMBERED_LIST_BALANCED, a) |
| #define A0_TAIL | ( | z, | |||
| i | ) | BOOST_PP_REPEAT_##z (i, NUMBERED_LIST_TAIL, a) |
| #define CONVERT_ARG | ( | z, | |||
| i, | |||||
| data | ) | T##i a##i; if (! ScriptInterface::FromJSVal<T##i>(cx, i < argc ? JS_ARGV(cx, vp)[i] : JSVAL_VOID, a##i)) return JS_FALSE; |
| #define DEFAULT_RUNTIME_SIZE 16 * 1024 * 1024 |
| #define ENABLE_SCRIPT_PROFILING 1 |
| #define NUMBERED_LIST_BALANCED | ( | z, | |||
| i, | |||||
| data | ) | BOOST_PP_COMMA_IF(i) data##i |
| #define NUMBERED_LIST_HEAD | ( | z, | |||
| i, | |||||
| data | ) | data##i, |
| #define NUMBERED_LIST_TAIL | ( | z, | |||
| i, | |||||
| data | ) | ,data##i |
| #define OVERLOADS | ( | z, | |||
| i, | |||||
| data | ) |
template <int dummy TYPENAME_T0_TAIL(z,i)> /* add a dummy parameter so we still compile with 0 template args */ \ static size_t nargs() { return i; }
| #define OVERLOADS | ( | z, | |||
| i, | |||||
| data | ) |
template <typename R, TYPENAME_T0_HEAD(z,i) JSClass* CLS, typename TC, R (TC::*fptr) ( T0(z,i) )> \ static JSBool callMethod(JSContext* cx, uintN argc, jsval* vp);
| #define OVERLOADS | ( | z, | |||
| i, | |||||
| data | ) |
template <typename R, TYPENAME_T0_HEAD(z,i) R (*fptr) ( void* T0_TAIL(z,i) )> \ static JSBool call(JSContext* cx, uintN argc, jsval* vp);
| #define OVERLOADS | ( | z, | |||
| i, | |||||
| data | ) |
| #define SCRIPT_INTERFACE_MAX_ARGS 7 |
| #define T0 | ( | z, | |||
| i | ) | BOOST_PP_REPEAT_##z (i, NUMBERED_LIST_BALANCED, T) |
| #define T0_A0 | ( | z, | |||
| i | ) | BOOST_PP_REPEAT_##z (i, TYPED_ARGS, ~) |
| #define T0_HEAD | ( | z, | |||
| i | ) | BOOST_PP_REPEAT_##z (i, NUMBERED_LIST_HEAD, T) |
| #define T0_TAIL | ( | z, | |||
| i | ) | BOOST_PP_REPEAT_##z (i, NUMBERED_LIST_TAIL, T) |
| #define TYPED_ARGS | ( | z, | |||
| i, | |||||
| data | ) | , T##i a##i |
| #define TYPENAME_T0_HEAD | ( | z, | |||
| i | ) | BOOST_PP_REPEAT_##z (i, NUMBERED_LIST_HEAD, typename T) |
| #define TYPENAME_T0_TAIL | ( | z, | |||
| i | ) | BOOST_PP_REPEAT_##z (i, NUMBERED_LIST_TAIL, typename T) |
1.6.3