Lines Matching defs:object

35 JavaObject::JavaObject(jobject object, JNIEnv* env)
121 bool IsJavaInstanceOf(JNIEnv* env, jobject object, const std::string& class_name) {
123 return clazz ? env->IsInstanceOf(object, clazz) == JNI_TRUE : false;
133 Value ToCValue(JNIEnv* env, jobject object) {
135 if (object != NULL) {
136 if (IsJavaInstanceOf(env, object, "java/lang/Boolean")) {
137 jmethodID method = env->GetMethodID(env->GetObjectClass(object), "booleanValue", "()Z");
138 result = MakeIntValue(env->CallBooleanMethod(object, method) == JNI_TRUE ? 1 : 0);
139 } else if (IsJavaInstanceOf(env, object, "java/lang/Integer")) {
140 jmethodID method = env->GetMethodID(env->GetObjectClass(object), "intValue", "()I");
141 result = MakeIntValue(env->CallIntMethod(object, method));
142 } else if (IsJavaInstanceOf(env, object, "java/lang/Float")) {
143 jmethodID method = env->GetMethodID(env->GetObjectClass(object), "floatValue", "()F");
144 result = MakeFloatValue(env->CallFloatMethod(object, method));
145 } else if (IsJavaInstanceOf(env, object, "java/lang/String")) {
146 result = MakeStringValue(ToCppString(env, static_cast<jstring>(object)).c_str());
147 } else if (IsJavaInstanceOf(env, object, "[I")) {
148 jint* elems = env->GetIntArrayElements(static_cast<jintArray>(object), NULL);
149 const jint count = env->GetArrayLength(static_cast<jintArray>(object));
151 env->ReleaseIntArrayElements(static_cast<jintArray>(object), elems, JNI_ABORT);
152 } else if (IsJavaInstanceOf(env, object, "[F")) {
153 jfloat* elems = env->GetFloatArrayElements(static_cast<jfloatArray>(object), NULL);
154 const jint count = env->GetArrayLength(static_cast<jfloatArray>(object));
156 env->ReleaseFloatArrayElements(static_cast<jfloatArray>(object), elems, JNI_ABORT);