8 #ifndef __CORESERVICES__
9 #include <CoreServices/CoreServices.h>
12 #include <JavaScriptGlue/JavaScriptGlue.h>
15 #include <JSHack/value.h>
16 #include <JSHack/object.h>
17 #include <JSHack/types.h>
18 #include <JSHack/interpreter.h>
19 #include <JSHack/ustring.h>
21 #include <JavaScriptCore/value.h>
22 #include <JavaScriptCore/object.h>
23 #include <JavaScriptCore/types.h>
24 #include <JavaScriptCore/interpreter.h>
25 #include <JavaScriptCore/protect.h>
26 #include <JavaScriptCore/collector.h>
27 #include <JavaScriptCore/ustring.h>
30 #define JAG_PINK_OR_LATER 1 /* %%% turn on for new JavaScriptCore */
38 class JSUserObjectImp;
40 UString CFStringToUString(CFStringRef inCFString);
41 CFStringRef UStringToCFString(const UString& inUString);
43 Identifier CFStringToIdentifier(CFStringRef inCFString);
44 CFStringRef IdentifierToCFString(const Identifier& inIdentifier);
46 JSUserObject* KJSValueToJSObject(ValueImp *inValue, ExecState *exec);
47 CFTypeRef KJSValueToCFType(ValueImp *inValue, ExecState *exec);
48 ValueImp *JSObjectKJSValue(JSUserObject* ptr);
49 CFTypeRef GetCFNull(void);
51 inline CFTypeRef RetainCFType(CFTypeRef x) { if (x) x = CFRetain(x); return x; }
52 inline void ReleaseCFType(CFTypeRef x) { if (x) CFRelease(x); }
61 kJSUserObjectDataTypeUnknown,
62 kJSUserObjectDataTypeJSValueWrapper,
63 kJSUserObjectDataTypeCFType