Beispiel #1
0
jclass FindClass(const char *className,bool inQuiet)
{
    std::string cppClassName(className);
    jclass ret;
    if(jClassCache[cppClassName]!=NULL)
    {
        ret = jClassCache[cppClassName];
    }
    else
    {
        JNIEnv *env = GetEnv();
        jclass tmp = env->FindClass(className);
        if (!tmp)
        {
           if (inQuiet)
           {
              jthrowable exc = env->ExceptionOccurred();
              if (exc)
                 env->ExceptionClear();
           }
           else
              CheckException(env);
           return 0;
        }
        ret = (jclass)env->NewGlobalRef(tmp);
        jClassCache[cppClassName] = ret;
        env->DeleteLocalRef(tmp);
    }
    return ret;
}
Beispiel #2
0
jclass FindClass(const char *className)
{
    std::string cppClassName(className);
    jclass ret;
    if(jClassCache[cppClassName]!=NULL)
    {
        ret = jClassCache[cppClassName];
    }
    else
    {
        JNIEnv *env = GetEnv();
        jclass tmp = env->FindClass(className);
        ret = (jclass)env->NewGlobalRef(tmp);
        jClassCache[cppClassName] = ret;
    }
    return ret;
}