for an example of how to use this interface. git-svn-id: svn://10.0.0.236/trunk@7252 18797224-902f-48f8-a5cc-f745e15eee43
24 lines
583 B
C++
24 lines
583 B
C++
#include "jsIScriptable.h"
|
|
extern const PR_IMPORT_DATA(nsIID) kIScriptableIID;
|
|
|
|
// this implements an instance of jsIScriptable to
|
|
// be loaded into JS.
|
|
|
|
DefScriptableClass(MyScriptable);
|
|
|
|
class MyScriptable : public Scriptable(MyScriptable) {
|
|
public:
|
|
int x,y;
|
|
int m(int a) {
|
|
return a*a;
|
|
}
|
|
nsresult m(JSContext* cx, int argc, jsval* args, jsval* rval);
|
|
MyScriptable(int _x=42,int _y=99) :
|
|
x(_x), y(_y), Scriptable(MyScriptable)(1) {
|
|
AddMethod("m",&MyScriptable::m);
|
|
}
|
|
nsresult get(JSContext* cx, char* p, jsval* vp);
|
|
nsresult put(JSContext* cx, char* p, jsval v);
|
|
};
|
|
|