11 typedef void (*JSObjectMarkProcPtr)(void *data);
12 JSObjectRef JSObjectCreateInternal(void *data, JSObjectCallBacksPtr callBacks, JSObjectMarkProcPtr markProc, int dataType);
14 class JSUserObject : public JSBase {
16 JSUserObject(JSObjectCallBacksPtr callBacks, JSObjectMarkProcPtr markProc, void *data, int dataType);
17 virtual ~JSUserObject();
19 CFArrayRef CopyPropertyNames(void);
20 JSUserObject* CopyProperty(CFStringRef propertyName);
21 void SetProperty(CFStringRef propertyName, JSUserObject* value);
22 bool ImplementsCall();
23 JSUserObject* CallFunction(JSUserObject* thisObj, CFArrayRef args);
24 CFTypeRef CopyCFValue() const;
25 virtual UInt8 Equal(JSBase* other);
29 int DataType() const { return fDataType; }
31 JSObjectCallBacks fCallBacks;
32 JSObjectMarkProcPtr fMarkProc;