53 |
* Signature: (Ljava/lang/SecurityManager;)Ljava/lang/ClassLoader; |
* Signature: (Ljava/lang/SecurityManager;)Ljava/lang/ClassLoader; |
54 |
*/ |
*/ |
55 |
JNIEXPORT jobject JNICALL |
JNIEXPORT jobject JNICALL |
56 |
Java_java_io_ObjectInputStream_currentClassLoader( JNIEnv * env, |
Java_java_io_ObjectInputStream_currentClassLoader (JNIEnv * env, |
57 |
jclass clazz, |
jclass clazz, |
58 |
jobject loader ) |
jobject loader) |
59 |
{ |
{ |
60 |
jmethodID id = (*env)->GetMethodID( env, |
jmethodID id = (*env)->GetMethodID (env, |
61 |
(*env)->GetObjectClass( env, loader ), |
(*env)->GetObjectClass (env, loader), |
62 |
"currentClassLoader", |
"currentClassLoader", |
63 |
"()Ljava/lang/ClassLoader;" ); |
"()Ljava/lang/ClassLoader;"); |
64 |
|
|
65 |
if( id == NULL ) |
if (id == NULL) |
66 |
return NULL; |
return NULL; |
67 |
|
|
68 |
return (*env)->CallObjectMethod( env, loader, id, clazz ); |
return (*env)->CallObjectMethod (env, loader, id, clazz); |
69 |
} |
} |
70 |
|
|
71 |
|
|
75 |
* Signature: (Ljava/lang/Class;)Ljava/lang/Object; |
* Signature: (Ljava/lang/Class;)Ljava/lang/Object; |
76 |
*/ |
*/ |
77 |
JNIEXPORT jobject JNICALL |
JNIEXPORT jobject JNICALL |
78 |
Java_java_io_ObjectInputStream_allocateObject( JNIEnv * env, |
Java_java_io_ObjectInputStream_allocateObject (JNIEnv * env, |
79 |
jobject self |
jobject self |
80 |
__attribute__ ((__unused__)), |
__attribute__ ((__unused__)), |
81 |
jclass clazz, |
jclass clazz, |
82 |
jclass constr_clazz, |
jclass constr_clazz, |
83 |
jobject constructor) |
jobject constructor) |
84 |
{ |
{ |
85 |
jobject obj = (*env)->AllocObject( env, clazz ); |
jobject obj = (*env)->AllocObject (env, clazz); |
86 |
jmethodID id = (*env)->FromReflectedMethod( env, constructor); |
jmethodID id = (*env)->FromReflectedMethod (env, constructor); |
87 |
|
|
88 |
(*env)->CallNonvirtualVoidMethod( env, obj, constr_clazz, id); |
(*env)->CallNonvirtualVoidMethod (env, obj, constr_clazz, id); |
89 |
|
|
90 |
return obj; |
return obj; |
91 |
} |
} |