JSGlobalContextRef CYGetJSContext();
apr_pool_t *CYGetGlobalPool();
JSObjectRef CYGetGlobalObject(JSContextRef context);
+
+void CYSetupContext(JSGlobalContextRef context);
const char *CYExecute(apr_pool_t *pool, const char *code);
void CYSetArgs(int argc, const char *argv[]);
void CYSetProperty(JSContextRef context, JSObjectRef object, size_t index, JSValueRef value);
void CYSetProperty(JSContextRef context, JSObjectRef object, JSStringRef name, JSValueRef value, JSPropertyAttributes attributes = kJSPropertyAttributeNone);
+JSObjectRef CYGetCachedObject(JSContextRef context, JSStringRef name);
+
JSValueRef CYCastJSValue(JSContextRef context, bool value);
JSValueRef CYCastJSValue(JSContextRef context, double value);
JSValueRef CYCastJSValue(JSContextRef context, int value);
JSValueRef (*RuntimeProperty)(JSContextRef, CYUTF8String);
void (*CallFunction)(JSContextRef, ffi_cif *, void (*)(), uint8_t *, void **);
+
+ void (*Initialize)();
void (*SetupContext)(JSContextRef);
bool (*PoolFFI)(apr_pool_t *, JSContextRef, sig::Type *, ffi_type *, void *, JSValueRef);