Jsbool js_definefunction(), Char *js_valuetostring() – Adobe Extending Dreamweaver CS4 User Manual

Page 356

Advertising
background image

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.

Advertising
This manual is related to the following products: