Exemple #1
0
GVRActivity::GVRActivity(JNIEnv& env, jobject activity, jobject vrAppSettings,
        jobject callbacks) : envMainThread_(&env), configurationHelper_(env, vrAppSettings) //use_multiview(false)
{
    activity_ = env.NewGlobalRef(activity);

    activityClass_ = GetGlobalClassReference(env, activityClassName);
    viewManagerClass_ = GetGlobalClassReference(env, viewManagerClassName);

    onDrawEyeMethodId = GetMethodId(env, viewManagerClass_, "onDrawEye", "(I)V");
    updateSensoredSceneMethodId = GetMethodId(env, activityClass_, "updateSensoredScene", "()Z");
}
Exemple #2
0
GVRActivity::GVRActivity(JNIEnv& env, jobject activity, jobject vrAppSettings,
        jobject callbacks) : envMainThread_(&env), configurationHelper_(env, vrAppSettings)
{
    activity_ = env.NewGlobalRef(activity);
    activityRenderingCallbacks_ = env.NewGlobalRef(callbacks);

    activityClass_ = GetGlobalClassReference(env, activityClassName);
    activityRenderingCallbacksClass_ = GetGlobalClassReference(env, activityHandlerRenderingCallbacksClassName);

    onDrawEyeMethodId = GetMethodId(env, activityRenderingCallbacksClass_, "onDrawEye", "(I)V");
    updateSensoredSceneMethodId = GetMethodId(env, activityClass_, "updateSensoredScene", "()Z");
}
void CPPToJavaArchiveOpenVolumeCallback::Init(JNIEnv * initEnv) {
	TRACE_OBJECT_CALL("Init")

	// public Object getProperty(PropID propID);
	_getPropertyMethodID = GetMethodId(initEnv, "getProperty",
			"(" PROPID_CLASS_T ")" JAVA_OBJECT_T);

	// public IInStream getStream(String filename);
	_getStreamMethodID = GetMethodId(initEnv, "getStream",
			"(" JAVA_STRING_T ")" INSTREAM_CLASS_T);

	_propIDClass = GetClass(initEnv, PROPID_CLASS);

	_propIDGetPropIDByIndexMethodID = GetStaticMethodId(initEnv, _propIDClass,
			"getPropIDByIndex", "(I)" PROPID_CLASS_T);
}
void JniObject::CallVoidMethod(const char* method, const char* signature, ...) {
  va_list args;
  va_start(args, signature);
  auto mid = GetMethodId(method, signature);
  env_->CallVoidMethodV(static_cast<jobject>(obj_), mid, args);
  va_end(args);
  return;
}
void CPPToJavaArchiveExtractCallback::Init(JNIEnv * initEnv)
{
    TRACE_OBJECT_CALL("Init")

    _cryptoGetTextPasswordImpl = NULL;

    jclass cryptoGetTextPasswordClass = initEnv->FindClass(CRYPTOGETTEXTPASSWORD_CLASS);
    FATALIF(cryptoGetTextPasswordClass == NULL,
            "Can't find class " CRYPTOGETTEXTPASSWORD_CLASS);

    if (initEnv->IsInstanceOf(_javaImplementation, cryptoGetTextPasswordClass))
    {
        CMyComPtr<ICryptoGetTextPassword> cryptoGetTextPasswordComPtr =
            new CPPToJavaCryptoGetTextPassword(_nativeMethodContext, initEnv, _javaImplementation);
        _cryptoGetTextPasswordImpl = cryptoGetTextPasswordComPtr.Detach();
    }


	// public SequentialOutStream getStream(int index, ExtractAskMode extractAskMode);
	_getStreamMethodID = GetMethodId(initEnv, "getStream",
			"(I" EXTRACTASKMODE_CLASS_T ")" SEQUENTIALOUTSTREAM_CLASS_T);

	// public void prepareOperation(ExtractAskMode extractAskMode);
	_prepareOperationMethodID = GetMethodId(initEnv, "prepareOperation",
			"(" EXTRACTASKMODE_CLASS_T ")V");

	// public void setOperationResult(ExtractOperationResult extractOperationResult);
	_setOperationResultMethodID = GetMethodId(initEnv, "setOperationResult",
			"(" EXTRACTOPERATIONRESULT_CLASS_T ")V");

	_extractOperationResultClass = GetClass(initEnv, EXTRACTOPERATIONRESULT_CLASS);

	// public static ExtractOperationResult getOperationResult(int index)
	_extractOperationResultGetOperationResultMethodID =
			GetStaticMethodId(initEnv, _extractOperationResultClass,
			        "getOperationResult", "(I)" EXTRACTOPERATIONRESULT_CLASS_T);

	_extractAskModeClass = GetClass(initEnv, EXTRACTASKMODE_CLASS);

	// public static ExtractAskMode getExtractAskModeByIndex(int index)
	_extractAskModeGetExtractAskModeByIndexMethodID =
			GetStaticMethodId(initEnv, _extractAskModeClass, "getExtractAskModeByIndex",
			        "(I)" EXTRACTASKMODE_CLASS_T);
}
std::string JniObject::CallStringMethod(const char* method,
                                        const char* signature, ...) {
  va_list args;
  va_start(args, signature);
  auto mid = GetMethodId(method, signature);
  auto jstr = env_->CallObjectMethodV(static_cast<jobject>(obj_), mid, args);
  va_end(args);
  // Convert jstring to std::string.
  auto str = env_->GetStringUTFChars(static_cast<jstring>(jstr), NULL);
  std::string ret = str;
  env_->ReleaseStringUTFChars(static_cast<jstring>(jstr), str);
  env_->DeleteLocalRef(jstr);
  return ret;
}