Visit Mozilla.org

nsIXPCScriptable

From MDC

Note: This is not really an XPCOM interface. For example, callers must guarantee that they set the *_retval of the various methods that return a boolean to PR_TRUE before making the call. Implementations may skip writing to *_retval unless they want to return PR_FALSE.

Contents

nsIXPCScriptable is defined in js/src/xpconnect/idl/nsIXPCScriptable.idl. It is Template:InterfaceStatus:Scriptable no and unfrozen (hasn't changed since 1.9).

Inherits from: nsISupports

[edit] Method overview

void preCreate(in nsISupports nativeObj, in JSContextPtr cx, in JSObjectPtr globalObj, out JSObjectPtr parentObj);
void create(in nsIXPConnectWrappedNative wrapper, in JSContextPtr cx, in JSObjectPtr obj);
void postCreate(in nsIXPConnectWrappedNative wrapper, in JSContextPtr cx, in JSObjectPtr obj);
PRBool addProperty(in nsIXPConnectWrappedNative wrapper, in JSContextPtr cx, in JSObjectPtr obj, in JSVal id, in JSValPtr vp);
PRBool delProperty(in nsIXPConnectWrappedNative wrapper, in JSContextPtr cx, in JSObjectPtr obj, in JSVal id, in JSValPtr vp);
PRBool getProperty(in nsIXPConnectWrappedNative wrapper, in JSContextPtr cx, in JSObjectPtr obj, in JSVal id, in JSValPtr vp);
PRBool setProperty(in nsIXPConnectWrappedNative wrapper, in JSContextPtr cx, in JSObjectPtr obj, in JSVal id, in JSValPtr vp);
PRBool enumerate(in nsIXPConnectWrappedNative wrapper, in JSContextPtr cx, in JSObjectPtr obj);
PRBool newEnumerate(in nsIXPConnectWrappedNative wrapper, in JSContextPtr cx, in JSObjectPtr obj, in PRUint32 enum_op, in JSValPtr statep, out JSID idp);
PRBool newResolve(in nsIXPConnectWrappedNative wrapper, in JSContextPtr cx, in JSObjectPtr obj, in JSVal id, in PRUint32 flags, out JSObjectPtr objp);
PRBool convert(in nsIXPConnectWrappedNative wrapper, in JSContextPtr cx, in JSObjectPtr obj, in PRUint32 type, in JSValPtr vp);
void finalize(in nsIXPConnectWrappedNative wrapper, in JSContextPtr cx, in JSObjectPtr obj);
PRBool checkAccess(in nsIXPConnectWrappedNative wrapper, in JSContextPtr cx, in JSObjectPtr obj, in JSVal id, in PRUint32 mode, in JSValPtr vp);
PRBool call(in nsIXPConnectWrappedNative wrapper, in JSContextPtr cx, in JSObjectPtr obj, in PRUint32 argc, in JSValPtr argv, in JSValPtr vp);
PRBool construct(in nsIXPConnectWrappedNative wrapper, in JSContextPtr cx, in JSObjectPtr obj, in PRUint32 argc, in JSValPtr argv, in JSValPtr vp);
PRBool hasInstance(in nsIXPConnectWrappedNative wrapper, in JSContextPtr cx, in JSObjectPtr obj, in JSVal val, out PRBool bp);
void trace(in nsIXPConnectWrappedNative wrapper, in JSTracerPtr trc, in JSObjectPtr obj);
PRBool equality(in nsIXPConnectWrappedNative wrapper, in JSContextPtr cx, in JSObjectPtr obj, in JSVal val);
JSObjectPtr outerObject(in nsIXPConnectWrappedNative wrapper, in JSContextPtr cx, in JSObjectPtr obj);
JSObjectPtr innerObject(in nsIXPConnectWrappedNative wrapper, in JSContextPtr cx, in JSObjectPtr obj);

[edit] Attributes

Attribute Type Description
className string
scriptableFlags PRUint32

[edit] Constants

Constant Value Description
WANT_PRECREATE 1 << 0
WANT_CREATE 1 << 1
WANT_POSTCREATE 1 << 2
WANT_ADDPROPERTY 1 << 3
WANT_DELPROPERTY 1 << 4
WANT_GETPROPERTY 1 << 5
WANT_SETPROPERTY 1 << 6
WANT_ENUMERATE 1 << 7
WANT_NEWENUMERATE 1 << 8
WANT_NEWRESOLVE 1 << 9
WANT_CONVERT 1 << 10
WANT_FINALIZE 1 << 11
WANT_CHECKACCESS 1 << 12
WANT_CALL 1 << 13
WANT_CONSTRUCT 1 << 14
WANT_HASINSTANCE 1 << 15
WANT_TRACE 1 << 16
USE_JSSTUB_FOR_ADDPROPERTY 1 << 17
USE_JSSTUB_FOR_DELPROPERTY 1 << 18
USE_JSSTUB_FOR_SETPROPERTY 1 << 19
DONT_ENUM_STATIC_PROPS 1 << 20
DONT_ENUM_QUERY_INTERFACE 1 << 21
DONT_ASK_INSTANCE_FOR_SCRIPTABLE 1 << 22
CLASSINFO_INTERFACES_ONLY 1 << 23
ALLOW_PROP_MODS_DURING_RESOLVE 1 << 24
ALLOW_PROP_MODS_TO_PROTOTYPE 1 << 25
DONT_SHARE_PROTOTYPE 1 << 26
DONT_REFLECT_INTERFACE_NAMES 1 << 27
WANT_EQUALITY 1 << 28
WANT_OUTER_OBJECT 1 << 29
WANT_INNER_OBJECT 1 << 30
RESERVED 1 << 31 The high order bit is RESERVED for consumers of these flags. No implementor of this interface should ever return flags with this bit set.

[edit] Methods

[edit] preCreate()

 void preCreate(
   in nsISupports nativeObj,
   in JSContextPtr cx,
   in JSObjectPtr globalObj,
   out JSObjectPtr parentObj
 );
[edit] Parameters
nativeObj
cx
globalObj
parentObj

[edit] create()

 void create(
   in nsIXPConnectWrappedNative wrapper,
   in JSContextPtr cx,
   in JSObjectPtr obj
 );
[edit] Parameters
wrapper
cx
obj

[edit] postCreate()

 void postCreate(
   in nsIXPConnectWrappedNative wrapper,
   in JSContextPtr cx,
   in JSObjectPtr obj
 );
[edit] Parameters
wrapper
cx
obj

[edit] addProperty()

 PRBool addProperty(
   in nsIXPConnectWrappedNative wrapper,
   in JSContextPtr cx,
   in JSObjectPtr obj,
   in JSVal id,
   in JSValPtr vp
 );
[edit] Parameters
wrapper
cx
obj
id
vp
[edit] Return value


[edit] delProperty()

 PRBool delProperty(
   in nsIXPConnectWrappedNative wrapper,
   in JSContextPtr cx,
   in JSObjectPtr obj,
   in JSVal id,
   in JSValPtr vp
 );
[edit] Parameters
wrapper
cx
obj
id
vp
[edit] Return value


[edit] getProperty()

 PRBool getProperty(
   in nsIXPConnectWrappedNative wrapper,
   in JSContextPtr cx,
   in JSObjectPtr obj,
   in JSVal id,
   in JSValPtr vp
 );
[edit] Parameters
wrapper
cx
obj
id
vp
[edit] Return value

NS_SUCCESS_I_DID_SOMETHING if this method does something.


[edit] setProperty()

 PRBool setProperty(
   in nsIXPConnectWrappedNative wrapper,
   in JSContextPtr cx,
   in JSObjectPtr obj,
   in JSVal id,
   in JSValPtr vp
 );
[edit] Parameters
wrapper
cx
obj
id
vp
[edit] Return value

NS_SUCCESS_I_DID_SOMETHING if this method does something.


[edit] enumerate()

 PRBool enumerate(
   in nsIXPConnectWrappedNative wrapper,
   in JSContextPtr cx,
   in JSObjectPtr obj
 );
[edit] Parameters
wrapper
cx
obj
[edit] Return value


[edit] newEnumerate()

 PRBool newEnumerate(
   in nsIXPConnectWrappedNative wrapper,
   in JSContextPtr cx,
   in JSObjectPtr obj,
   in PRUint32 enum_op,
   in JSValPtr statep,
   out JSID idp
 );
[edit] Parameters
wrapper
cx
obj
enum_op
statep
idp
[edit] Return value


[edit] newResolve()

 PRBool newResolve(
   in nsIXPConnectWrappedNative wrapper,
   in JSContextPtr cx,
   in JSObjectPtr obj,
   in JSVal id,
   in PRUint32 flags,
   out JSObjectPtr objp
 );
[edit] Parameters
wrapper
cx
obj
id
flags
objp
[edit] Return value


[edit] convert()

 PRBool convert(
   in nsIXPConnectWrappedNative wrapper,
   in JSContextPtr cx,
   in JSObjectPtr obj,
   in PRUint32 type,
   in JSValPtr vp
 );
[edit] Parameters
wrapper
cx
obj
type
vp
[edit] Return value


[edit] finalize()

 void finalize(
   in nsIXPConnectWrappedNative wrapper,
   in JSContextPtr cx,
   in JSObjectPtr obj
 );
[edit] Parameters
wrapper
cx
obj

[edit] checkAccess()

 PRBool checkAccess(
   in nsIXPConnectWrappedNative wrapper,
   in JSContextPtr cx,
   in JSObjectPtr obj,
   in JSVal id,
   in PRUint32 mode,
   in JSValPtr vp
 );
[edit] Parameters
wrapper
cx
obj
id
mode
vp
[edit] Return value


[edit] call()

 PRBool call(
   in nsIXPConnectWrappedNative wrapper,
   in JSContextPtr cx,
   in JSObjectPtr obj,
   in PRUint32 argc,
   in JSValPtr argv,
   in JSValPtr vp
 );
[edit] Parameters
wrapper
cx
obj
argc
argv
vp
[edit] Return value


[edit] construct()

 PRBool construct(
   in nsIXPConnectWrappedNative wrapper,
   in JSContextPtr cx,
   in JSObjectPtr obj,
   in PRUint32 argc,
   in JSValPtr argv,
   in JSValPtr vp
 );
[edit] Parameters
wrapper
cx
obj
argc
argv
vp
[edit] Return value


[edit] hasInstance()

 PRBool hasInstance(
   in nsIXPConnectWrappedNative wrapper,
   in JSContextPtr cx,
   in JSObjectPtr obj,
   in JSVal val,
   out PRBool bp
 );
[edit] Parameters
wrapper
cx
obj
val
bp
[edit] Return value


[edit] trace()

 void trace(
   in nsIXPConnectWrappedNative wrapper,
   in JSTracerPtr trc,
   in JSObjectPtr obj
 );
[edit] Parameters
wrapper
trc
obj

[edit] equality()

 PRBool equality(
   in nsIXPConnectWrappedNative wrapper,
   in JSContextPtr cx,
   in JSObjectPtr obj,
   in JSVal val
 );
[edit] Parameters
wrapper
cx
obj
val
[edit] Return value


[edit] outerObject()

 JSObjectPtr outerObject(
   in nsIXPConnectWrappedNative wrapper,
   in JSContextPtr cx,
   in JSObjectPtr obj
 );
[edit] Parameters
wrapper
cx
obj
[edit] Return value


[edit] innerObject()

 JSObjectPtr innerObject(
   in nsIXPConnectWrappedNative wrapper,
   in JSContextPtr cx,
   in JSObjectPtr obj
 );
[edit] Parameters
wrapper
cx
obj
[edit] Return value