X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=src%2Fnative%2Fnative.h;h=822d9bd9f17a9cd1828e596b041a4b36423b5ae9;hb=21d399c6e74991cde019a34f2f97d0a6e41707e3;hp=4b64fb5ed646d422329797699e87d6a035868a1e;hpb=43cbc3d65fed4d84ff445139bc14e26c1d99bf07;p=cacao.git diff --git a/src/native/native.h b/src/native/native.h index 4b64fb5ed..822d9bd9f 100644 --- a/src/native/native.h +++ b/src/native/native.h @@ -22,8 +22,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - $Id: native.h 8137 2007-06-22 16:41:36Z michi $ - */ @@ -32,7 +30,7 @@ #include "config.h" -#if !defined(WITH_STATIC_CLASSPATH) +#if defined(ENABLE_LTDL) && defined(HAVE_LTDL_H) # include #endif @@ -53,17 +51,6 @@ #define NATIVE_METHODS_COUNT sizeof(methods) / sizeof(JNINativeMethod) -/* table for locating native methods */ - -typedef struct nativeref nativeref; -typedef struct nativecompref nativecompref; - - -#if !defined(WITH_STATIC_CLASSPATH) -typedef struct hashtable_library_loader_entry hashtable_library_loader_entry; -typedef struct hashtable_library_name_entry hashtable_library_name_entry; - - /* native_methods_node_t ******************************************************/ typedef struct native_methods_node_t native_methods_node_t; @@ -78,15 +65,21 @@ struct native_methods_node_t { /* hashtable_library_loader_entry *********************************************/ +#if defined(ENABLE_LTDL) +typedef struct hashtable_library_loader_entry hashtable_library_loader_entry; +typedef struct hashtable_library_name_entry hashtable_library_name_entry; + struct hashtable_library_loader_entry { - hashtable_classloader_entry *cle; /* class loader */ + classloader *loader; /* class loader */ hashtable_library_name_entry *namelink;/* libs loaded by this loader */ hashtable_library_loader_entry *hashlink;/* link for external chaining */ }; +#endif /* hashtable_library_name_entry ***********************************************/ +#if defined(ENABLE_LTDL) struct hashtable_library_name_entry { utf *name; /* library name */ lt_dlhandle handle; /* libtool library handle */ @@ -95,25 +88,6 @@ struct hashtable_library_name_entry { #endif -struct nativeref { - char *classname; - char *methodname; - char *descriptor; - bool isstatic; - functionptr func; -}; - -/* table for fast string comparison */ - -struct nativecompref { - utf *classname; - utf *methodname; - utf *descriptor; - bool isstatic; - functionptr func; -}; - - /* function prototypes ********************************************************/ bool native_init(void); @@ -121,28 +95,18 @@ bool native_init(void); void native_method_register(utf *classname, const JNINativeMethod *methods, int32_t count); -#if defined(WITH_STATIC_CLASSPATH) - -functionptr native_findfunction(utf *cname, utf *mname, utf *desc, - bool isstatic); - -#else /* defined(WITH_STATIC_CLASSPATH) */ - +#if defined(ENABLE_LTDL) lt_dlhandle native_library_open(utf *filename); -void native_library_add(utf *filename, java_objectheader *loader, +void native_library_add(utf *filename, classloader *loader, lt_dlhandle handle); - hashtable_library_name_entry *native_library_find(utf *filename, - java_objectheader *loader); + classloader *loader); +#endif functionptr native_resolve_function(methodinfo *m); -#endif /* defined(WITH_STATIC_CLASSPATH) */ - -java_objectheader *native_new_and_init(classinfo *c); - -java_objectheader *native_new_and_init_string(classinfo *c, - java_objectheader *s); +java_handle_t *native_new_and_init(classinfo *c); +java_handle_t *native_new_and_init_string(classinfo *c, java_handle_t *s); #endif /* _NATIVE_H */ @@ -158,4 +122,5 @@ java_objectheader *native_new_and_init_string(classinfo *c, * c-basic-offset: 4 * tab-width: 4 * End: + * vim:noexpandtab:sw=4:ts=4: */