| // Copyright 2014 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| // This file is autogenerated by |
| // weex-core2/weex_core/Source/android/jniprebuild/jni_generator.py |
| // For |
| // com/taobao/weex/bridge/WXBridge |
| |
| #ifndef com_taobao_weex_bridge_WXBridge_JNI |
| #define com_taobao_weex_bridge_WXBridge_JNI |
| |
| #include <jni.h> |
| |
| //#include "base/android/jni_int_wrapper.h" |
| |
| // Step 1: forward declarations. |
| namespace { |
| const char kWXBridgeClassPath[] = "com/taobao/weex/bridge/WXBridge"; |
| // Leaking this jclass as we cannot use LazyInstance from some threads. |
| jclass g_WXBridge_clazz = NULL; |
| #define WXBridge_clazz(env) g_WXBridge_clazz |
| |
| } // namespace |
| |
| static jint InitFrameworkEnv(JNIEnv* env, jobject jcaller, |
| jstring framework, |
| jobject params, |
| jstring cacheDir, |
| jboolean pieSupport); |
| |
| static jint InitFramework(JNIEnv* env, jobject jcaller, |
| jstring framework, |
| jobject params); |
| |
| static jint ExecJS(JNIEnv* env, jobject jcaller, |
| jstring instanceId, |
| jstring name, |
| jstring function, |
| jobjectArray args); |
| |
| static jint ExecJSService(JNIEnv* env, jobject jcaller, |
| jstring javascript); |
| |
| static jbyteArray ExecJSWithResult(JNIEnv* env, jobject jcaller, |
| jstring instanceId, |
| jstring _namespace, |
| jstring _function, |
| jobjectArray args); |
| |
| static jint CreateInstanceContext(JNIEnv* env, jobject jcaller, |
| jstring instanceId, |
| jstring name, |
| jstring function, |
| jobjectArray args); |
| |
| static jint DestoryInstance(JNIEnv* env, jobject jcaller, |
| jstring instanceId, |
| jstring name, |
| jstring function, |
| jobjectArray args); |
| |
| static jstring ExecJSOnInstance(JNIEnv* env, jobject jcaller, |
| jstring instanceId, |
| jstring script, |
| jint type); |
| |
| static void TakeHeapSnapshot(JNIEnv* env, jobject jcaller, |
| jstring filename); |
| |
| static void BindMeasurementToRenderObject(JNIEnv* env, jobject jcaller, |
| jlong ptr); |
| |
| static void SetRenderContainerWrapContent(JNIEnv* env, jobject jcaller, |
| jboolean wrap, |
| jstring instanceId); |
| |
| static jlongArray GetFirstScreenRenderTime(JNIEnv* env, jobject jcaller, |
| jstring instanceId); |
| |
| static jlongArray GetRenderFinishTime(JNIEnv* env, jobject jcaller, |
| jstring instanceId); |
| |
| static void SetDefaultHeightAndWidthIntoRootDom(JNIEnv* env, jobject jcaller, |
| jstring instanceId, |
| jfloat defaultWidth, |
| jfloat defaultHeight, |
| jboolean isWidthWrapContent, |
| jboolean isHeightWrapContent); |
| |
| static void OnInstanceClose(JNIEnv* env, jobject jcaller, |
| jstring instanceId); |
| |
| static void ForceLayout(JNIEnv* env, jobject jcaller, |
| jstring instanceId); |
| |
| static jboolean NotifyLayout(JNIEnv* env, jobject jcaller, |
| jstring instanceId); |
| |
| static void SetStyleWidth(JNIEnv* env, jobject jcaller, |
| jstring instanceId, |
| jstring ref, |
| jfloat value); |
| |
| static void SetStyleHeight(JNIEnv* env, jobject jcaller, |
| jstring instanceId, |
| jstring ref, |
| jfloat value); |
| |
| static void SetMargin(JNIEnv* env, jobject jcaller, |
| jstring instanceId, |
| jstring ref, |
| jint edge, |
| jfloat value); |
| |
| static void SetPadding(JNIEnv* env, jobject jcaller, |
| jstring instanceId, |
| jstring ref, |
| jint edge, |
| jfloat value); |
| |
| static void SetPosition(JNIEnv* env, jobject jcaller, |
| jstring instanceId, |
| jstring ref, |
| jint edge, |
| jfloat value); |
| |
| static void MarkDirty(JNIEnv* env, jobject jcaller, |
| jstring instanceId, |
| jstring ref, |
| jboolean dirty); |
| |
| static void RegisterCoreEnv(JNIEnv* env, jobject jcaller, |
| jstring key, |
| jstring value); |
| |
| static void UpdateGlobalConfig(JNIEnv* env, jobject jcaller, |
| jstring config); |
| |
| // Step 2: method stubs. |
| |
| // Step 3: RegisterNatives. |
| |
| static const JNINativeMethod kMethodsWXBridge[] = { |
| { "nativeInitFrameworkEnv", |
| "(" |
| "Ljava/lang/String;" |
| "Lcom/taobao/weex/bridge/WXParams;" |
| "Ljava/lang/String;" |
| "Z" |
| ")" |
| "I", reinterpret_cast<void*>(InitFrameworkEnv) }, |
| { "nativeInitFramework", |
| "(" |
| "Ljava/lang/String;" |
| "Lcom/taobao/weex/bridge/WXParams;" |
| ")" |
| "I", reinterpret_cast<void*>(InitFramework) }, |
| { "nativeExecJS", |
| "(" |
| "Ljava/lang/String;" |
| "Ljava/lang/String;" |
| "Ljava/lang/String;" |
| "[Lcom/taobao/weex/bridge/WXJSObject;" |
| ")" |
| "I", reinterpret_cast<void*>(ExecJS) }, |
| { "nativeExecJSService", |
| "(" |
| "Ljava/lang/String;" |
| ")" |
| "I", reinterpret_cast<void*>(ExecJSService) }, |
| { "nativeExecJSWithResult", |
| "(" |
| "Ljava/lang/String;" |
| "Ljava/lang/String;" |
| "Ljava/lang/String;" |
| "[Lcom/taobao/weex/bridge/WXJSObject;" |
| ")" |
| "[B", reinterpret_cast<void*>(ExecJSWithResult) }, |
| { "nativeCreateInstanceContext", |
| "(" |
| "Ljava/lang/String;" |
| "Ljava/lang/String;" |
| "Ljava/lang/String;" |
| "[Lcom/taobao/weex/bridge/WXJSObject;" |
| ")" |
| "I", reinterpret_cast<void*>(CreateInstanceContext) }, |
| { "nativeDestoryInstance", |
| "(" |
| "Ljava/lang/String;" |
| "Ljava/lang/String;" |
| "Ljava/lang/String;" |
| "[Lcom/taobao/weex/bridge/WXJSObject;" |
| ")" |
| "I", reinterpret_cast<void*>(DestoryInstance) }, |
| { "nativeExecJSOnInstance", |
| "(" |
| "Ljava/lang/String;" |
| "Ljava/lang/String;" |
| "I" |
| ")" |
| "Ljava/lang/String;", reinterpret_cast<void*>(ExecJSOnInstance) }, |
| { "nativeTakeHeapSnapshot", |
| "(" |
| "Ljava/lang/String;" |
| ")" |
| "V", reinterpret_cast<void*>(TakeHeapSnapshot) }, |
| { "nativeBindMeasurementToRenderObject", |
| "(" |
| "J" |
| ")" |
| "V", reinterpret_cast<void*>(BindMeasurementToRenderObject) }, |
| { "nativeSetRenderContainerWrapContent", |
| "(" |
| "Z" |
| "Ljava/lang/String;" |
| ")" |
| "V", reinterpret_cast<void*>(SetRenderContainerWrapContent) }, |
| { "nativeGetFirstScreenRenderTime", |
| "(" |
| "Ljava/lang/String;" |
| ")" |
| "[J", reinterpret_cast<void*>(GetFirstScreenRenderTime) }, |
| { "nativeGetRenderFinishTime", |
| "(" |
| "Ljava/lang/String;" |
| ")" |
| "[J", reinterpret_cast<void*>(GetRenderFinishTime) }, |
| { "nativeSetDefaultHeightAndWidthIntoRootDom", |
| "(" |
| "Ljava/lang/String;" |
| "F" |
| "F" |
| "Z" |
| "Z" |
| ")" |
| "V", reinterpret_cast<void*>(SetDefaultHeightAndWidthIntoRootDom) }, |
| { "nativeOnInstanceClose", |
| "(" |
| "Ljava/lang/String;" |
| ")" |
| "V", reinterpret_cast<void*>(OnInstanceClose) }, |
| { "nativeForceLayout", |
| "(" |
| "Ljava/lang/String;" |
| ")" |
| "V", reinterpret_cast<void*>(ForceLayout) }, |
| { "nativeNotifyLayout", |
| "(" |
| "Ljava/lang/String;" |
| ")" |
| "Z", reinterpret_cast<void*>(NotifyLayout) }, |
| { "nativeSetStyleWidth", |
| "(" |
| "Ljava/lang/String;" |
| "Ljava/lang/String;" |
| "F" |
| ")" |
| "V", reinterpret_cast<void*>(SetStyleWidth) }, |
| { "nativeSetStyleHeight", |
| "(" |
| "Ljava/lang/String;" |
| "Ljava/lang/String;" |
| "F" |
| ")" |
| "V", reinterpret_cast<void*>(SetStyleHeight) }, |
| { "nativeSetMargin", |
| "(" |
| "Ljava/lang/String;" |
| "Ljava/lang/String;" |
| "I" |
| "F" |
| ")" |
| "V", reinterpret_cast<void*>(SetMargin) }, |
| { "nativeSetPadding", |
| "(" |
| "Ljava/lang/String;" |
| "Ljava/lang/String;" |
| "I" |
| "F" |
| ")" |
| "V", reinterpret_cast<void*>(SetPadding) }, |
| { "nativeSetPosition", |
| "(" |
| "Ljava/lang/String;" |
| "Ljava/lang/String;" |
| "I" |
| "F" |
| ")" |
| "V", reinterpret_cast<void*>(SetPosition) }, |
| { "nativeMarkDirty", |
| "(" |
| "Ljava/lang/String;" |
| "Ljava/lang/String;" |
| "Z" |
| ")" |
| "V", reinterpret_cast<void*>(MarkDirty) }, |
| { "nativeRegisterCoreEnv", |
| "(" |
| "Ljava/lang/String;" |
| "Ljava/lang/String;" |
| ")" |
| "V", reinterpret_cast<void*>(RegisterCoreEnv) }, |
| { "nativeUpdateGlobalConfig", |
| "(" |
| "Ljava/lang/String;" |
| ")" |
| "V", reinterpret_cast<void*>(UpdateGlobalConfig) }, |
| }; |
| |
| static bool RegisterNativesImpl(JNIEnv* env) { |
| |
| g_WXBridge_clazz = reinterpret_cast<jclass>(env->NewGlobalRef( |
| base::android::GetClass(env, kWXBridgeClassPath).Get())); |
| |
| const int kMethodsWXBridgeSize = |
| sizeof(kMethodsWXBridge)/sizeof(kMethodsWXBridge[0]); |
| |
| if (env->RegisterNatives(WXBridge_clazz(env), |
| kMethodsWXBridge, |
| kMethodsWXBridgeSize) < 0) { |
| //jni_generator::HandleRegistrationError( |
| // env, WXBridge_clazz(env), __FILE__); |
| return false; |
| } |
| |
| return true; |
| } |
| |
| #endif // com_taobao_weex_bridge_WXBridge_JNI |