beautypg.com

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

Page 356

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.

This manual is related to the following products: