top level:
[WebKit-https.git] / JavaScriptGlue / JSValueWrapper.h
1 // -*- mode: c++; c-basic-offset: 4 -*-
2
3 #ifndef __JSValueWrapper_h
4 #define __JSValueWrapper_h
5
6 /*
7         JSValueWrapper.h
8 */
9
10 #include "JSUtils.h"
11 #include "JSBase.h"
12 #include "JSObject.h"
13
14 class JSValueWrapper {
15 public:
16     JSValueWrapper(ValueImp *inValue, ExecState *inExec);
17     virtual ~JSValueWrapper();
18     
19     ValueImp *GetValue();
20     ExecState* GetExecState() const;
21     
22     ProtectedPtr<ValueImp> fValue;
23     ExecState* fExec;
24     
25     static void GetJSObectCallBacks(JSObjectCallBacks& callBacks);
26     
27 private:
28     static void JSObjectDispose(void* data);
29     static CFArrayRef JSObjectCopyPropertyNames(void* data);
30     static JSObjectRef JSObjectCopyProperty(void* data, CFStringRef propertyName);
31     static void JSObjectSetProperty(void* data, CFStringRef propertyName, JSObjectRef jsValue);
32     static JSObjectRef JSObjectCallFunction(void* data, JSObjectRef thisObj, CFArrayRef args);
33     static CFTypeRef JSObjectCopyCFValue(void* data);
34     static void JSObjectMark(void* data);
35 };
36
37
38 #endif