Jsbool js_definefunction(), Char *js_valuetostring() – Adobe Extending Dreamweaver CS4 User Manual
Page 356
350
EXTENDING DREAMWEAVER CS4
C-level extensibility
typedef JSBool (*JSNative)(JSContext *cx, JSObject *obj, unsigned int argc,
jsval *argv, jsval *rval)
Description
This function signature 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()
Description
This function registers a C-level function with the JavaScript interpreter in Dreamweaver. 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 Dreamweaver calls during startup.
Arguments
char *name
,
JSNative
call,
unsigned int nargs
•
The name argument is the name of the function as it is exposed to JavaScript.
•
The call argument is a pointer to a C-level function. The function must accept the same arguments as
readContentsOfFile
, and it must return a
JSBool
, which indicates success or failure.
•
The nargs argument is the number of arguments that the function expects to receive.
Returns
A Boolean value:
JS_TRUE
indicates success;
JS_FALSE
indicates failure.
char *JS_ValueToString()
Description
This function extracts a function argument from a JSVal structure, converts it to a string if possible, and passes the
converted value back to the caller.
Note: Do not modify the returned buffer pointer. It can corrupt the data structures of the JavaScript interpreter. To
change the string, copy the characters into another buffer and create a JavaScript string.