本文整理汇总了C++中registerNatives函数的典型用法代码示例。如果您正苦于以下问题:C++ registerNatives函数的具体用法?C++ registerNatives怎么用?C++ registerNatives使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了registerNatives函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: JNI_OnLoad
Q_BLUETOOTH_EXPORT jint JNICALL JNI_OnLoad(JavaVM* vm, void* /*reserved*/)
{
typedef union {
JNIEnv *nativeEnvironment;
void *venv;
} UnionJNIEnvToVoid;
UnionJNIEnvToVoid uenv;
uenv.venv = 0;
if (vm->GetEnv(&uenv.venv, JNI_VERSION_1_4) != JNI_OK) {
__android_log_print(ANDROID_LOG_FATAL, logTag, "GetEnv failed");
return -1;
}
JNIEnv *env = uenv.nativeEnvironment;
if (!registerNatives(env)) {
__android_log_print(ANDROID_LOG_FATAL, logTag, "registerNatives failed");
return -1;
}
if (QT_BT_ANDROID().isDebugEnabled())
__android_log_print(ANDROID_LOG_INFO, logTag, "Bluetooth start");
return JNI_VERSION_1_4;
}
开发者ID:venkatarajasekhar,项目名称:Qt,代码行数:26,代码来源:jni_android.cpp
示例2: setupGateway
/**
* This sets up the 'Gateway' java class for execution of
* scripts. The class's constructor takes a jlong. This java long
* is used to store the pointer to 'this'. When ScriptRunner makes
* native calls, it passes that jlong back, so that it can call the
* methods of this C++ class.
*/
bool JavaBinderyImpl::setupGateway()
{
String className = "org/inkscape/cmn/Gateway";
if (!registerNatives(className, gatewayMethods))
{
return false;
}
jclass cls = env->FindClass(className.c_str());
if (!cls)
{
err("setupGateway: cannot find class '%s' : %s",
className.c_str(), getException().c_str());
return false;
}
jmethodID mid = env->GetMethodID(cls, "<init>", "(J)V");
if (!mid)
{
err("setupGateway: cannot find constructor for '%s' : %s",
className.c_str(), getException().c_str());
return false;
}
gatewayObj = env->NewObject(cls, mid, ((jlong)this));
if (!gatewayObj)
{
err("setupGateway: cannot construct '%s' : %s",
className.c_str(), getException().c_str());
return false;
}
msg("Gateway ready");
return true;
}
开发者ID:step21,项目名称:inkscape-osx-packaging-native,代码行数:39,代码来源:javabind.cpp
示例3: CountableOnLoad
void CountableOnLoad(JNIEnv* env) {
jclass countable = env->FindClass("com/facebook/jni/Countable");
gCountableNativePtr = env->GetFieldID(countable, "mInstance", "J");
registerNatives(env, countable, {
{ "dispose", "()V", (void*) dispose },
});
}
开发者ID:CleverLever,项目名称:react-native,代码行数:7,代码来源:Countable.cpp
示例4: __attribute__
/*
* Set some test stuff up.
*
* Returns the JNI version on success, -1 on failure.
*/
__attribute__ ((visibility("default"))) jint JNI_OnLoad(JavaVM* vm, void* reserved)
{
JNIEnv* env = NULL;
jint result = -1;
if ((*vm)->GetEnv(vm, (void**) &env, JNI_VERSION_1_4) != JNI_OK)
{
LOGE("ERROR: GetEnv failed");
goto bail;
}
assert(env != NULL);
LOGD("In main JNI_OnLoad");
if (registerNatives(env) < 0)
{
LOGE("ERROR: Exif native registration failed");
goto bail;
}
/* success -- return valid version number */
result = JNI_VERSION_1_4;
bail: return result;
}
开发者ID:jagrutibhadani,项目名称:Android-Exif-Extended,代码行数:30,代码来源:main.c
示例5: JNI_OnLoad
jint JNI_OnLoad(JavaVM* vm, void* reserved)
{
JNIEnv* env = NULL;
jint result = -1;
LOGE("OnLoad");
if (vm->GetEnv((void**)&env, JNI_VERSION_1_4) != JNI_OK) {
goto bail;
}
if (!registerNatives(env,
"com/ti/jfm/core/JFmRx",
JFmRxNative_sMethods,
NELEM(JFmRxNative_sMethods))) {
goto bail;
}
env->GetJavaVM(&g_jVM);
/* success -- return valid version number */
result = JNI_VERSION_1_4;
bail:
return result;
}
开发者ID:MardonHH,项目名称:vendor_ti_fmradio,代码行数:26,代码来源:JFmRxNative.cpp
示例6: JNI_OnLoad
Q_DECL_EXPORT jint JNICALL JNI_OnLoad(JavaVM* vm, void* /*reserved*/)
{
__android_log_print(ANDROID_LOG_INFO,"Qt", "qt start");
UnionJNIEnvToVoid uenv;
uenv.venv = NULL;
m_javaVM = 0;
if (vm->GetEnv(&uenv.venv, JNI_VERSION_1_4) != JNI_OK)
{
__android_log_print(ANDROID_LOG_FATAL,"Qt","GetEnv failed");
return -1;
}
m_env = uenv.nativeEnvironment;
if (!registerNatives(m_env))
{
__android_log_print(ANDROID_LOG_FATAL, "Qt", "registerNatives failed");
return -1;
}
if (!saveCustomClass(m_env, customClass))
{
__android_log_print(ANDROID_LOG_FATAL, "Qt", "Custom registerNatives failed");
return -1;
}
m_javaVM = vm;
return JNI_VERSION_1_4;
}
开发者ID:meetshah1995,项目名称:stellarium-finger,代码行数:26,代码来源:qtmain_android.cpp
示例7: JNI_OnLoad
Q_DECL_EXPORT jint JNICALL JNI_OnLoad(JavaVM *vm, void * /*reserved*/)
{
static bool initialized = false;
if (initialized)
return JNI_VERSION_1_6;
initialized = true;
typedef union {
JNIEnv *nativeEnvironment;
void *venv;
} UnionJNIEnvToVoid;
__android_log_print(ANDROID_LOG_INFO, logTag, "Sensors start");
UnionJNIEnvToVoid uenv;
uenv.venv = NULL;
javaVM = 0;
if (vm->GetEnv(&uenv.venv, JNI_VERSION_1_4) != JNI_OK) {
__android_log_print(ANDROID_LOG_FATAL, logTag, "GetEnv failed");
return -1;
}
JNIEnv *env = uenv.nativeEnvironment;
if (!registerNatives(env)) {
__android_log_print(ANDROID_LOG_FATAL, logTag, "registerNatives failed");
return -1;
}
javaVM = vm;
return JNI_VERSION_1_4;
}
开发者ID:2gis,项目名称:2gisqt5android,代码行数:30,代码来源:androidjnisensors.cpp
示例8: JNI_OnLoad
JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM* vm, void* reserved)
{
// JNIEnv* env = NULL;
// jint result = -1;
//
// if (vm->GetEnv( (void**) &env, JNI_VERSION_1_1) != JNI_OK) {
// __android_log_print(ANDROID_LOG_ERROR, "tag", "load library error 1");
// return JNI_ERR;
// }
// assert(env != NULL);
//
// if (!registerNatives(env)) {
// ALOG(ANDROID_LOG_ERROR, "tag", "load library error 2");
// return JNI_ERR;
// }
// result = JNI_VERSION_1_1;
// ALOG(ANDROID_LOG_ERROR, "tag", "load library success: %d", result);
// return result;
JNIEnv* env = NULL;
jint result = -1;
if (vm->GetEnv((void**) &env, JNI_VERSION_1_4) != JNI_OK) {//从VM中取得JNIEnv的指针
ALOG(ANDROID_LOG_ERROR, "tag","ERROR: GetEnv failed\n");
return JNI_ERR;
}
assert(env != NULL);
if (!registerNatives(env)) {//调用动态注册的方法
ALOG(ANDROID_LOG_ERROR, "tag","ERROR: MediaPlayer native registration failed\n");
return JNI_ERR;
}
result = JNI_VERSION_1_4;
ALOG(ANDROID_LOG_ERROR, "tag", "load library success: %d", result);
return result;
}
开发者ID:minstrelsy,项目名称:live555-for-android,代码行数:33,代码来源:tx_recorder_jni.cpp
示例9: JNI_OnLoad
Q_DECL_EXPORT jint JNICALL JNI_OnLoad(JavaVM *vm, void * /*reserved*/)
{
typedef union {
JNIEnv *nativeEnvironment;
void *venv;
} UnionJNIEnvToVoid;
LOG_MODEL_DEBUG("CAndroidNotification", "JNI_OnLoad start");
UnionJNIEnvToVoid uenv;
uenv.venv = NULL;
javaVM = 0;
if (vm->GetEnv(&uenv.venv, JNI_VERSION_1_4) != JNI_OK) {
LOG_MODEL_ERROR("CAndroidNotification", "GetEnv failed");
return -1;
}
JNIEnv *env = uenv.nativeEnvironment;
if (!registerNatives(env)) {
LOG_MODEL_ERROR("CAndroidNotification", "registerNatives failed");
return -1;
}
javaVM = vm;
return JNI_VERSION_1_4;
}
开发者ID:KangLin,项目名称:rabbitim,代码行数:25,代码来源:AndroidNotification.cpp
示例10: JNI_OnLoad
/*
* Set some test stuff up.
*
* Returns the JNI version on success, -1 on failure.
*/
jint JNI_OnLoad(JavaVM* vm, void* reserved)
{
UnionJNIEnvToVoid uenv;
uenv.venv = NULL;
jint result = -1;
JNIEnv* env = NULL;
if (vm->GetEnv(&uenv.venv, JNI_VERSION_1_4) != JNI_OK) {
fprintf(stderr, "ERROR: GetEnv failed\n");
goto bail;
}
env = uenv.env;
assert(env != NULL);
printf("In mgmain JNI_OnLoad\n");
if (!registerNatives(env)) {
fprintf(stderr, "ERROR: SEHome native registration failed\n");
goto bail;
}
register_com_android_se_SECamera(env);
register_com_android_se_SEObject(env);
register_com_android_se_scene(env);
register_com_android_se_SEParticleSystem(env);
register_com_android_se_XMLAnimation(env);
// register_com_android_se_uiManager(env);
/* success -- return valid version number */
result = JNI_VERSION_1_4;
bail:
return result;
}
开发者ID:3DHome,项目名称:3DHomeHD,代码行数:39,代码来源:android_se_sceneManager.cpp
示例11: JNI_OnLoad
jint JNI_OnLoad(JavaVM* vm, void* reserved)
{
UnionJNIEnvToVoid uenv;
uenv.venv = NULL;
jint result = -1;
JNIEnv* env = NULL;
LOGI("JNI_OnLoad");
if (vm->GetEnv(&uenv.venv, JNI_VERSION_1_4) != JNI_OK) {
LOGE("ERROR: GetEnv failed");
goto bail;
}
env = uenv.env;
if (registerNatives(env) != JNI_TRUE) {
LOGE("ERROR: registerNatives failed");
goto bail;
}
result = JNI_VERSION_1_4;
bail:
return result;
}
开发者ID:afjcjsbx,项目名称:gb-a-android,代码行数:25,代码来源:entry.cpp
示例12: initAMXGM
void CNetwork::initAMXGM( void ) {
if(registerNatives(gamemode_Natives)) {
ExecMain();
OnGameModeInit(); //Everything is loaded, init our gamemode..
mainHooks();
RestartMap();
}
}
开发者ID:colistro123,项目名称:Nightfire-iniMod,代码行数:8,代码来源:gamemodes.cpp
示例13: JNI_OnLoad
/*
* Set some test stuff up.
*
* Returns the JNI version on success, -1 on failure.
*/
JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM* vm, void* reserved) {
if (vm->GetEnv((void**) &gEnv, JNI_VERSION_1_4) != JNI_OK) {
return -1;
}
if (!registerNatives(gEnv)) {
return -1;
}
return JNI_VERSION_1_4;
}
开发者ID:2050utopia,项目名称:legend,代码行数:16,代码来源:legend_native.cpp
示例14: JNI_OnLoad
JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *vm, void *reserved)
{
JNIEnv *vm_env;
if (!vm->GetEnv((void **) &vm_env, JNI_VERSION_1_4))
env = new JCCEnv(vm, vm_env);
registerNatives(vm_env);
return JNI_VERSION_1_4;
}
开发者ID:ahua,项目名称:java,代码行数:11,代码来源:jcc.cpp
示例15: JNI_OnLoad
jint JNI_OnLoad(JavaVM* vm, void* reserved) {
jint result = -1;
JNIEnv* env = NULL;
if ((*vm)->GetEnv(vm, (void **) &env, JNI_VERSION_1_4)) {
goto fail;
}
if (registerNatives(env) != JNI_TRUE) {
goto fail;
}
result = JNI_VERSION_1_4;
fail: return result;
}
开发者ID:EricChen2013,项目名称:android-3,代码行数:12,代码来源:dynamicRegisterMethod.c
示例16: JNI_OnLoad
JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM* vm, void* reserved) {
JNIEnv* env = NULL;
jint result = -1;
if (vm->GetEnv((void**) &env, JNI_VERSION_1_4) != JNI_OK)
return JNI_FALSE;
assert(env != NULL);
if (registerNatives(env) != JNI_OK)
return JNI_FALSE;
return JNI_VERSION_1_4;
}
开发者ID:LCW523,项目名称:android_audio_video,代码行数:12,代码来源:native_codec_center.cpp
示例17: JNI_OnLoad
JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM* vm, void * reserved) {
jint result = -1;
gJvm = vm;
if(vm->GetEnv((void**)&gEnv, JNI_VERSION_1_6) != JNI_OK) goto bail;
if(vm->AttachCurrentThread(&gEnv, NULL) < 0) goto bail;
if(registerNatives(gEnv) != JNI_TRUE) goto bail;
result = JNI_VERSION_1_6;
bail:
return result;
}
开发者ID:ABruines,项目名称:libwebsockets,代码行数:13,代码来源:LwsService.cpp
示例18: JNI_OnLoad
//JVM虚拟机加载完so库后,接着会在该库中查找JNI_OnLoad()函数,并调用。因此在这里进行动态注册。
JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM* vm, void* reserved)
{
LOGE("---------------------------JNI_OnLoad---------------------------\n");
JNIEnv* env;
if ((vm->GetEnv((void**)&env, JNI_VERSION_1_4)) != JNI_OK)
{
return -1;
}
//进行动态注册
registerNatives(env);
return JNI_VERSION_1_4;
}
开发者ID:muupu,项目名称:practice_android,代码行数:15,代码来源:com_example_jnidemo_JniTest.cpp
示例19: JNI_OnLoad
JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM* vm, void* reserved)
{
JNIEnv* env = NULL;
jint result = -1;
if ((*vm)->GetEnv(vm, (void **)&env, JNI_VERSION_1_2) != JNI_OK)
return JNI_ERR;
if (!registerNatives(env))
return JNI_ERR;
/* success -- return valid version number */
result = JNI_VERSION_1_4;
return result;
}
开发者ID:sbt-android-mill,项目名称:sbt-android-mill,代码行数:15,代码来源:HelloWorldAndroidJNI.c
示例20: JNI_OnLoad
jint JNI_OnLoad(JavaVM* vm, void* reserved)
{
void *venv;
LOGE("JNI_OnLoad!");
if ((*vm)->GetEnv(vm, (void**)&venv, JNI_VERSION_1_4) != JNI_OK) {
LOGE("ERROR: GetEnv failed");
return -1;
}
if (registerNatives(venv) != JNI_TRUE) {
LOGE("ERROR: registerNatives failed");
return -1;
}
LOGE("JNI_VERSION_1_4 %d",JNI_VERSION_1_4);
return JNI_VERSION_1_4;
}
开发者ID:kuangzt,项目名称:Practice4Android,代码行数:15,代码来源:nmath.c
注:本文中的registerNatives函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论