]> git.saurik.com Git - cycript.git/blobdiff - JavaScript.hpp
With -p on all platforms, we can't use asprintf().
[cycript.git] / JavaScript.hpp
index fcefd7bcf78b75048e739ff24cd9bb28ea4c8f69..c959b69d0b05071dff6c46c785418d1f842a2189 100644 (file)
@@ -37,6 +37,8 @@
 #include <ffi.h>
 #endif
 
+#include "sig/types.hpp"
+
 #include "Pooling.hpp"
 #include "String.hpp"
 #include "Utility.hpp"
@@ -46,6 +48,7 @@ extern JSStringRef constructor_s;
 extern JSStringRef cy_s;
 extern JSStringRef cyi_s;
 extern JSStringRef cyt_s;
+extern JSStringRef cyt__s;
 extern JSStringRef length_s;
 extern JSStringRef message_s;
 extern JSStringRef name_s;
@@ -66,9 +69,7 @@ JSObjectRef CYGetGlobalObject(JSContextRef context);
 extern "C" void CYSetupContext(JSGlobalContextRef context);
 const char *CYExecute(JSContextRef context, CYPool &pool, CYUTF8String code);
 
-#ifndef __ANDROID__
 void CYCancel();
-#endif
 
 void CYSetArgs(const char *argv0, const char *script, int argc, const char *argv[]);
 
@@ -115,6 +116,13 @@ JSObjectRef CYCastJSObject(JSContextRef context, JSValueRef value);
 JSValueRef CYJSUndefined(JSContextRef context);
 JSValueRef CYJSNull(JSContextRef context);
 
+void *CYCastPointerEx_(JSContextRef context, JSObjectRef value);
+
+template <typename Type_>
+_finline Type_ CYCastPointerEx(JSContextRef context, JSObjectRef value) {
+    return reinterpret_cast<Type_>(CYCastPointerEx_(context, value));
+}
+
 void *CYCastPointer_(JSContextRef context, JSValueRef value, bool *guess = NULL);
 
 template <typename Type_>