36static JSBool
SunGetProperty(JSContext *context, JSObject *
this, jsid propID, jsval *value);
37static JSBool
SunGoNova(JSContext *context, uintN argc, jsval *vp);
38static JSBool
SunCancelNova(JSContext *context, uintN argc, jsval *vp);
49 JS_StrictPropertyStub,
54 JSCLASS_NO_OPTIONAL_MEMBERS
99@implementation OOSunEntity (OOJavaScriptExtensions)
107- (void)getJSClass:(JSClass **)outClass andPrototype:(JSObject **)outPrototype
122static JSBool
SunGetProperty(JSContext *context, JSObject *
this, jsid propID, jsval *value)
124 if (!JSID_IS_INT(propID))
return YES;
130 if (
EXPECT_NOT(!JSSunGetSunEntity(context,
this, &sun)))
return NO;
132 switch (JSID_TO_INT(propID))
135 return JS_NewNumberValue(context, [sun radius], value);
161static JSBool
SunGoNova(JSContext *context, uintN argc, jsval *vp)
187 if ([sun willGoNova] && ![sun goneNova])
#define OOJS_NATIVE_ENTER(cx)
OOINLINE JSClass * JSEntityClass(void)
OOINLINE JSObject * JSEntityPrototype(void)
static JSBool SunGetProperty(JSContext *context, JSObject *this, jsid propID, jsval *value)
static JSBool SunCancelNova(JSContext *context, uintN argc, jsval *vp)
static JSBool SunGoNova(JSContext *context, uintN argc, jsval *vp)
static JSObject * sSunPrototype
static JSFunctionSpec sSunMethods[]
void InitOOJSSun(JSContext *context, JSObject *global)
static JSPropertySpec sSunProperties[]
void OOJSRegisterObjectConverter(JSClass *theClass, OOJSClassConverterCallback converter)
OOINLINE jsval OOJSValueFromNativeObject(JSContext *context, id object)
#define DEFINE_JS_OBJECT_GETTER(NAME, JSCLASS, JSPROTO, OBJCCLASSNAME)
void OOJSObjectWrapperFinalize(JSContext *context, JSObject *this)
void OOJSReportBadPropertySelector(JSContext *context, JSObject *thisObj, jsid propID, JSPropertySpec *propertySpec)
JSBool OOJSUnconstructableConstruct(JSContext *context, uintN argc, jsval *vp)
void OOJSRegisterSubclass(JSClass *subclass, JSClass *superclass)
OOINLINE jsval OOJSValueFromBOOL(int b) INLINE_CONST_FUNC
id OOJSBasicPrivateObjectConverter(JSContext *context, JSObject *object)
#define OOJS_PROP_READONLY_CB
BOOL isVisibleToScripts()
NSString * oo_jsClassName()
void setGoingNova:inTime:(BOOL yesno,[inTime] double interval)