This commit introduces C++ wrapper classes for Java heap objects.
[cacao.git] / src / native / vm / gnuclasspath / java_lang_management_VMManagementFactory.c
index c5331d2bff7ac2ee0773df8fd2df7323bc13596e..fa7f17240ed449e0477d9808efb2f5ce48aed63d 100644 (file)
@@ -32,7 +32,8 @@
 #include "native/jni.h"
 #include "native/native.h"
 
-#include "native/include/java_lang_management_VMManagementFactory.h"
+// FIXME
+//#include "native/include/java_lang_management_VMManagementFactory.h"
 
 #include "toolbox/logging.h"
 
 #include "vmcore/globals.hpp"
 
 
-/* native methods implemented by this file ************************************/
-
-static JNINativeMethod methods[] = {
-       { "getMemoryPoolNames",       "()[Ljava/lang/String;", (void *) (ptrint) &Java_java_lang_management_VMManagementFactory_getMemoryPoolNames       },
-       { "getMemoryManagerNames",    "()[Ljava/lang/String;", (void *) (ptrint) &Java_java_lang_management_VMManagementFactory_getMemoryManagerNames    },
-       { "getGarbageCollectorNames", "()[Ljava/lang/String;", (void *) (ptrint) &Java_java_lang_management_VMManagementFactory_getGarbageCollectorNames },
-};
-
-
-/* _Jv_java_lang_management_VMManagementFactory_init ***************************
-
-   Register native functions.
-
-*******************************************************************************/
-
-void _Jv_java_lang_management_VMManagementFactory_init(void)
-{
-       utf *u;
-
-       u = utf_new_char("java/lang/management/VMManagementFactory");
-
-       native_method_register(u, methods, NATIVE_METHODS_COUNT);
-}
-
-
 /*
  * Class:     java/lang/management/VMManagementFactory
  * Method:    getMemoryPoolNames
  * Signature: ()[Ljava/lang/String;
  */
-JNIEXPORT java_handle_objectarray_t* JNICALL Java_java_lang_management_VMManagementFactory_getMemoryPoolNames(JNIEnv *env, jclass clazz)
+JNIEXPORT jobjectArray JNICALL Java_java_lang_management_VMManagementFactory_getMemoryPoolNames(JNIEnv *env, jclass clazz)
 {
        java_handle_objectarray_t *oa;
 
@@ -88,7 +64,7 @@ JNIEXPORT java_handle_objectarray_t* JNICALL Java_java_lang_management_VMManagem
  * Method:    getMemoryManagerNames
  * Signature: ()[Ljava/lang/String;
  */
-JNIEXPORT java_handle_objectarray_t* JNICALL Java_java_lang_management_VMManagementFactory_getMemoryManagerNames(JNIEnv *env, jclass clazz)
+JNIEXPORT jobjectArray JNICALL Java_java_lang_management_VMManagementFactory_getMemoryManagerNames(JNIEnv *env, jclass clazz)
 {
        java_handle_objectarray_t *oa;
 
@@ -105,7 +81,7 @@ JNIEXPORT java_handle_objectarray_t* JNICALL Java_java_lang_management_VMManagem
  * Method:    getGarbageCollectorNames
  * Signature: ()[Ljava/lang/String;
  */
-JNIEXPORT java_handle_objectarray_t* JNICALL Java_java_lang_management_VMManagementFactory_getGarbageCollectorNames(JNIEnv *env, jclass clazz)
+JNIEXPORT jobjectArray JNICALL Java_java_lang_management_VMManagementFactory_getGarbageCollectorNames(JNIEnv *env, jclass clazz)
 {
        java_handle_objectarray_t *oa;
 
@@ -117,6 +93,31 @@ JNIEXPORT java_handle_objectarray_t* JNICALL Java_java_lang_management_VMManagem
 }
 
 
+/* native methods implemented by this file ************************************/
+
+static JNINativeMethod methods[] = {
+       { "getMemoryPoolNames",       "()[Ljava/lang/String;", (void*) (uintptr_t) &Java_java_lang_management_VMManagementFactory_getMemoryPoolNames       },
+       { "getMemoryManagerNames",    "()[Ljava/lang/String;", (void*) (uintptr_t) &Java_java_lang_management_VMManagementFactory_getMemoryManagerNames    },
+       { "getGarbageCollectorNames", "()[Ljava/lang/String;", (void*) (uintptr_t) &Java_java_lang_management_VMManagementFactory_getGarbageCollectorNames },
+};
+
+
+/* _Jv_java_lang_management_VMManagementFactory_init ***************************
+
+   Register native functions.
+
+*******************************************************************************/
+
+void _Jv_java_lang_management_VMManagementFactory_init(void)
+{
+       utf *u;
+
+       u = utf_new_char("java/lang/management/VMManagementFactory");
+
+       native_method_register(u, methods, NATIVE_METHODS_COUNT);
+}
+
+
 /*
  * These are local overrides for various environment variables in Emacs.
  * Please do not remove this and leave it at the end of the file, where