blob: 78859cea9ef61bf2f8ac9e9df1a9044d9f71ffa5 [file] [log] [blame]
/**
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
// This file is autogenerated by
// weex_core_debug/Source/WeexCore/platform/android/jniprebuild/jni_generator.py
// For
// org/apache/weex/bridge/WxDebugJsBridge
#ifndef WEEX_PROJECT_WXDEBUGJSBRIDGE_JNI_H
#define WEEX_PROJECT_WXDEBUGJSBRIDGE_JNI_H
#include <jni.h>
#include "base/android/jni/android_jni.h"
namespace {
const char kWXDebugJsBridgeClassPath[] = "org/apache/weex/bridge/WXDebugJsBridge";
// Leaking this jclass as we cannot use LazyInstance from some threads.
jclass g_WXDebugJsBridge_clazz = NULL;
#define WXDebugJsBridge_clazz(env) g_WXDebugJsBridge_clazz
} // namespace
static void resetWXBridge(JNIEnv *env, jobject object, jobject bridge, jstring className);
static void jsHandleSetJSVersion(JNIEnv *env, jobject object, jstring jsVersion);
static void jsHandleReportException(JNIEnv *env, jobject object, jstring instanceId, jstring func,
jstring exceptionjstring);
static void jsHandleCallNative(JNIEnv *env, jobject object, jstring instanceId, jbyteArray tasks,
jstring callback);
static void jsHandleCallNativeModule(JNIEnv *env, jobject object, jstring instanceId, jstring module,
jstring method, jbyteArray
arguments, jbyteArray options,jboolean from);
static void jsHandleCallNativeComponent(JNIEnv *env, jobject object, jstring instanceId, jstring componentRef,
jstring method,
jbyteArray arguments, jbyteArray options, jboolean from);
static void jsHandleCallAddElement(JNIEnv *env, jobject object, jstring instanceId, jstring ref, jbyteArray dom,
jstring index);
static void jsHandleSetTimeout(JNIEnv *env, jobject object, jstring callbackId, jstring time);
static void jsHandleCallNativeLog(JNIEnv *env, jobject object, jbyteArray str_array);
static void jsHandleCallCreateBody(JNIEnv *env, jobject object, jstring pageId, jbyteArray domStr, jboolean from);
static void jsHandleCallUpdateFinish(JNIEnv *env, jobject object, jstring instanceId, jbyteArray tasks,
jstring callback);
static void jsHandleCallCreateFinish(JNIEnv *env, jobject object, jstring pageId);
static void jsHandleCallRefreshFinish(JNIEnv *env, jobject object, jstring instanceId, jbyteArray tasks,
jstring callback);
static void jsHandleCallUpdateAttrs(JNIEnv *env, jobject object, jstring pageId, jstring ref, jbyteArray data, jboolean from);
static void jsHandleCallUpdateStyle(JNIEnv *env, jobject object, jstring pageId, jstring ref, jbyteArray data, jboolean from);
static void jsHandleCallRemoveElement(JNIEnv *env, jobject object, jstring pageId, jstring ref);
static void jsHandleCallMoveElement(JNIEnv *env, jobject object, jstring pageId, jstring ref,
jstring parentRef, jstring index_str);
static void jsHandleCallAddEvent(JNIEnv *env, jobject object, jstring pageId, jstring ref, jstring event);
static void jsHandleCallRemoveEvent(JNIEnv *env, jobject object, jstring pageId, jstring ref, jstring event);
static void jsHandleSetInterval(JNIEnv *env, jobject object, jstring instanceId, jstring callbackId,
jstring time);
static void jsHandleClearInterval(JNIEnv *env, jobject object, jstring instanceId, jstring callbackId);
static void jsHandleCallGCanvasLinkNative(JNIEnv *env, jobject object, jstring contextId, int type,
jstring val);
static const JNINativeMethod kMethodsWXDebugJsBridge[] = {
{"resetWXBridge",
"(Ljava/lang/Object;Ljava/lang/String;)V",
reinterpret_cast<void *>(resetWXBridge)},
{"jsHandleSetJSVersion",
"(Ljava/lang/String;)V",
reinterpret_cast<void *>(jsHandleSetJSVersion)},
{"jsHandleReportException",
"(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V",
reinterpret_cast<void *>(jsHandleReportException)},
{"jsHandleCallNative",
"(Ljava/lang/String;[BLjava/lang/String;)V",
reinterpret_cast<void *>(jsHandleCallNative)},
{"jsHandleCallNativeModule",
"(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[B[BZ)V",
reinterpret_cast<void *>(jsHandleCallNativeModule)},
{"jsHandleCallNativeComponent",
"(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[B[BZ)V",
reinterpret_cast<void *>(jsHandleCallNativeComponent)},
{"jsHandleCallAddElement",
"(Ljava/lang/String;Ljava/lang/String;[BLjava/lang/String;Z)V",
reinterpret_cast<void *>(jsHandleCallAddElement)},
{"jsHandleSetTimeout",
"(Ljava/lang/String;Ljava/lang/String;)V",
reinterpret_cast<void *>(jsHandleSetTimeout)},
{"jsHandleCallNativeLog",
"([B)V",
reinterpret_cast<void *>(jsHandleCallNativeLog)},
{"jsHandleCallCreateBody",
"(Ljava/lang/String;[BZ)V",
reinterpret_cast<void *>(jsHandleCallCreateBody)},
{"jsHandleCallUpdateFinish",
"(Ljava/lang/String;[BLjava/lang/String;)V",
reinterpret_cast<void *>(jsHandleCallUpdateFinish)},
{"jsHandleCallCreateFinish",
"(Ljava/lang/String;)V",
reinterpret_cast<void *>(jsHandleCallCreateFinish)},
{"jsHandleCallRefreshFinish",
"(Ljava/lang/String;[BLjava/lang/String;)V",
reinterpret_cast<void *>(jsHandleCallRefreshFinish)},
{"jsHandleCallUpdateAttrs",
"(Ljava/lang/String;Ljava/lang/String;[BZ)V",
reinterpret_cast<void *>(jsHandleCallUpdateAttrs)},
{"jsHandleCallUpdateStyleNative",
"(Ljava/lang/String;Ljava/lang/String;[BZ)V",
reinterpret_cast<void *>(jsHandleCallUpdateStyle)},
{"jsHandleCallRemoveElement",
"(Ljava/lang/String;Ljava/lang/String;)V",
reinterpret_cast<void *>(jsHandleCallRemoveElement)},
{"jsHandleCallMoveElement",
"(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V",
reinterpret_cast<void *>(jsHandleCallMoveElement)},
{"jsHandleCallAddEvent",
"(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V",
reinterpret_cast<void *>(jsHandleCallAddEvent)},
{"jsHandleCallRemoveEvent",
"(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V",
reinterpret_cast<void *>(jsHandleCallRemoveEvent)},
{"jsHandleSetInterval",
"(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V",
reinterpret_cast<void *>(jsHandleSetInterval)},
{"jsHandleClearInterval",
"(Ljava/lang/String;Ljava/lang/String;)V",
reinterpret_cast<void *>(jsHandleClearInterval)},
{"jsHandleCallGCanvasLinkNative",
"(Ljava/lang/String;ILjava/lang/String;)V",
reinterpret_cast<void *>(jsHandleCallGCanvasLinkNative)}
};
static bool RegisterNativesImpl(JNIEnv *env) {
g_WXDebugJsBridge_clazz = reinterpret_cast<jclass>(env->NewGlobalRef(
base::android::GetClass(env, kWXDebugJsBridgeClassPath).Get()));
const int kMethodsWXDebugJsBridgeSize =
sizeof(kMethodsWXDebugJsBridge) / sizeof(kMethodsWXDebugJsBridge[0]);
return 0 <= env->RegisterNatives(WXDebugJsBridge_clazz(env),
kMethodsWXDebugJsBridge,
kMethodsWXDebugJsBridgeSize);
}
#endif //WEEX_PROJECT_WXDEBUGJSBRIDGE_JNI_H