User Guide
The C-level API 543
typedef JSBool (*JSNative)(JSContext *cx,
JSObject *obj, unsigned int argc, jsval *argv, jsval
*rval)
Description
Method; describes C-level implementations of JavaScript functions in the following
situations:
■ The cx pointer is a pointer to an opaque JSContext structure, which must be passed to
some of the functions in the JavaScript API. This variable holds the interpreter’s
execution context.
■ The obj pointer is a pointer to the object in whose context the script executes. While the
script is running, the
this keyword is equal to this object.
■ The argc integer is the number of arguments being passed to the function.
■ The argv pointer is a pointer to an array of jsval structures. The array is argc elements
in length.
■ The rval pointer is a pointer to a single jsval structure. The function’s return value
should be written to
*rval.
The function returns
JS_TRUE if successful; JS_FALSE otherwise. If the function returns
JS_FALSE, the current script stops executing and an error message appears.
JSBool JS_DefineFunction()
Usage
JSBool JS_DefineFunction(unsigned short *name, JSNative call, unsigned int
nargs)
Description
Method; registers a C-level function with the JavaScript interpreter in Flash. After the
JS_DefineFunction() function registers the C-level function that you specify in the call
argument, you can invoke it in a JavaScript script by referring to it with the name that you
specify in the
name argument. The name argument is case-sensitive.
Typically, this function is called from the
MM_Init() function, which Flash calls
during startup.