X-Git-Url: https://git.saurik.com/cycript.git/blobdiff_plain/ccb4e34c0af3a2d318ce9c11ba1e98e1e1163b77..8409b00dd7d878ec81e49accdd902e441680424a:/JavaScript.hpp diff --git a/JavaScript.hpp b/JavaScript.hpp index 9a58ccf..33b3db8 100644 --- a/JavaScript.hpp +++ b/JavaScript.hpp @@ -103,11 +103,11 @@ JSObjectRef CYCastJSObject(JSContextRef context, JSValueRef value); JSValueRef CYJSUndefined(JSContextRef context); JSValueRef CYJSNull(JSContextRef context); -void *CYCastPointer_(JSContextRef context, JSValueRef value); +void *CYCastPointer_(JSContextRef context, JSValueRef value, bool *guess = NULL); template -_finline Type_ CYCastPointer(JSContextRef context, JSValueRef value) { - return reinterpret_cast(CYCastPointer_(context, value)); +_finline Type_ CYCastPointer(JSContextRef context, JSValueRef value, bool *guess = NULL) { + return reinterpret_cast(CYCastPointer_(context, value, guess)); } void CYPoolFFI(CYPool *pool, JSContextRef context, sig::Type *type, ffi_type *ffi, void *data, JSValueRef value); @@ -143,6 +143,7 @@ struct CYRegisterHook { JSObjectRef CYMakePointer(JSContextRef context, void *pointer, size_t length, sig::Type *type, ffi_type *ffi, JSObjectRef owner); +JSObjectRef CYMakeType(JSContextRef context, const char *encoding); JSObjectRef CYMakeType(JSContextRef context, sig::Type *type); JSObjectRef CYMakeType(JSContextRef context, sig::Signature *signature); @@ -157,6 +158,7 @@ const char *CYPoolCString(CYPool &pool, JSContextRef context, JSValueRef value); JSStringRef CYCopyJSString(const char *value); JSStringRef CYCopyJSString(JSStringRef value); JSStringRef CYCopyJSString(CYUTF8String value); +JSStringRef CYCopyJSString(CYUTF16String value); JSStringRef CYCopyJSString(JSContextRef context, JSValueRef value); void CYGarbageCollect(JSContextRef context);