From fe1de03b2365a6f37fe4a7003b0325890ad87ba7 Mon Sep 17 00:00:00 2001 From: Matthieu Gautier Date: Tue, 24 Jan 2023 15:10:17 +0100 Subject: [PATCH] =?UTF-8?q?Intrudoce=20DISPOSE=C2=A0macro=20to=20implement?= =?UTF-8?q?=20the=20dispose=20method.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/src/main/cpp/libkiwix/book.cpp | 5 +---- lib/src/main/cpp/libkiwix/filter.cpp | 5 +---- lib/src/main/cpp/libkiwix/kiwixserver.cpp | 6 ++---- lib/src/main/cpp/libkiwix/library.cpp | 5 +---- lib/src/main/cpp/libkiwix/manager.cpp | 6 ++---- lib/src/main/cpp/libzim/archive.cpp | 6 +----- lib/src/main/cpp/libzim/blob.cpp | 7 +------ lib/src/main/cpp/libzim/entry.cpp | 5 +---- lib/src/main/cpp/libzim/item.cpp | 5 +---- lib/src/main/cpp/libzim/query.cpp | 5 +---- lib/src/main/cpp/libzim/search.cpp | 6 +----- lib/src/main/cpp/libzim/search_iterator.cpp | 2 ++ lib/src/main/cpp/libzim/searcher.cpp | 6 ++---- lib/src/main/cpp/libzim/suggestion_item.cpp | 5 +---- lib/src/main/cpp/libzim/suggestion_iterator.cpp | 2 +- lib/src/main/cpp/libzim/suggestion_search.cpp | 5 +---- lib/src/main/cpp/libzim/suggestion_searcher.cpp | 6 +----- lib/src/main/cpp/macros.h | 1 + 18 files changed, 22 insertions(+), 66 deletions(-) diff --git a/lib/src/main/cpp/libkiwix/book.cpp b/lib/src/main/cpp/libkiwix/book.cpp index e95b295..b021565 100644 --- a/lib/src/main/cpp/libkiwix/book.cpp +++ b/lib/src/main/cpp/libkiwix/book.cpp @@ -34,10 +34,7 @@ METHOD0(void, allocate) SET_PTR(std::make_shared()); } -METHOD0(void, dispose) -{ - dispose(env, thisObj); -} +DISPOSE METHOD(void, update__Lorg_kiwix_libkiwix_Book_2, jobject otherBook) { diff --git a/lib/src/main/cpp/libkiwix/filter.cpp b/lib/src/main/cpp/libkiwix/filter.cpp index 12312ff..4e4a5f3 100644 --- a/lib/src/main/cpp/libkiwix/filter.cpp +++ b/lib/src/main/cpp/libkiwix/filter.cpp @@ -35,10 +35,7 @@ METHOD0(void, allocate) { SET_PTR(std::make_shared()); } -METHOD0(void, dispose) { - dispose(env, thisObj); -} - +DISPOSE #define FORWARD(name, args_type) \ METHOD(jobject, name, args_type value) { \ diff --git a/lib/src/main/cpp/libkiwix/kiwixserver.cpp b/lib/src/main/cpp/libkiwix/kiwixserver.cpp index 30e9ba8..e584adb 100644 --- a/lib/src/main/cpp/libkiwix/kiwixserver.cpp +++ b/lib/src/main/cpp/libkiwix/kiwixserver.cpp @@ -45,10 +45,8 @@ METHOD(void, setNativeServer, jobject jLibrary) } } -METHOD0(void, dispose) -{ - dispose(env, thisObj); -} + +DISPOSE /* Kiwix library functions */ METHOD(void, setRoot, jstring root) diff --git a/lib/src/main/cpp/libkiwix/library.cpp b/lib/src/main/cpp/libkiwix/library.cpp index 2ba168f..76dbb18 100644 --- a/lib/src/main/cpp/libkiwix/library.cpp +++ b/lib/src/main/cpp/libkiwix/library.cpp @@ -34,10 +34,7 @@ METHOD0(void, setNativeHandler) SET_PTR(std::make_shared()); } -METHOD0(void, dispose) -{ - dispose(env, thisObj); -} +DISPOSE /* Kiwix library functions */ METHOD(jboolean, addBook, jobject book) diff --git a/lib/src/main/cpp/libkiwix/manager.cpp b/lib/src/main/cpp/libkiwix/manager.cpp index 7e983f4..cc9a9bd 100644 --- a/lib/src/main/cpp/libkiwix/manager.cpp +++ b/lib/src/main/cpp/libkiwix/manager.cpp @@ -34,10 +34,8 @@ METHOD(void, allocate, jobject libraryObj) SET_PTR(std::make_shared(lib.get())); } -METHOD0(void, dispose) -{ - dispose(env, thisObj); -} +DISPOSE + /* Kiwix manager functions */ METHOD(jboolean, readFile, jstring path) { diff --git a/lib/src/main/cpp/libzim/archive.cpp b/lib/src/main/cpp/libzim/archive.cpp index 0b2332d..856a1ea 100644 --- a/lib/src/main/cpp/libzim/archive.cpp +++ b/lib/src/main/cpp/libzim/archive.cpp @@ -113,11 +113,7 @@ JNIEXPORT void JNICALL Java_org_kiwix_libzim_Archive_setNativeArchiveEmbedded( #endif } -JNIEXPORT void JNICALL -Java_org_kiwix_libzim_Archive_dispose(JNIEnv* env, jobject thisObj) -{ - dispose(env, thisObj); -} +DISPOSE GETTER(jstring, getFilename) GETTER(jlong, getFilesize) diff --git a/lib/src/main/cpp/libzim/blob.cpp b/lib/src/main/cpp/libzim/blob.cpp index 2ac159d..a197e11 100644 --- a/lib/src/main/cpp/libzim/blob.cpp +++ b/lib/src/main/cpp/libzim/blob.cpp @@ -33,12 +33,7 @@ #define TYPENAME libzim_Blob #include - - -METHOD0(void, dispose) -{ - dispose(env, thisObj); -} +DISPOSE METHOD0(jstring, getData) { return TO_JNI(std::string(*THIS)); diff --git a/lib/src/main/cpp/libzim/entry.cpp b/lib/src/main/cpp/libzim/entry.cpp index 1cf4258..2652e25 100644 --- a/lib/src/main/cpp/libzim/entry.cpp +++ b/lib/src/main/cpp/libzim/entry.cpp @@ -35,10 +35,7 @@ #include -METHOD0(void, dispose) -{ - dispose(env, thisObj); -} +DISPOSE GETTER(jboolean, isRedirect) GETTER(jstring, getTitle) diff --git a/lib/src/main/cpp/libzim/item.cpp b/lib/src/main/cpp/libzim/item.cpp index edbc168..e31b5c4 100644 --- a/lib/src/main/cpp/libzim/item.cpp +++ b/lib/src/main/cpp/libzim/item.cpp @@ -33,10 +33,7 @@ #define TYPENAME libzim_Item #include -METHOD0(void, dispose) -{ - dispose(env, thisObj); -} +DISPOSE GETTER(jstring, getTitle) GETTER(jstring, getPath) diff --git a/lib/src/main/cpp/libzim/query.cpp b/lib/src/main/cpp/libzim/query.cpp index b36983e..2578d66 100644 --- a/lib/src/main/cpp/libzim/query.cpp +++ b/lib/src/main/cpp/libzim/query.cpp @@ -46,10 +46,7 @@ METHOD(void, setNativeQuery, jstring query) } } -METHOD0(void, dispose) -{ - dispose(env, thisObj); -} +DISPOSE METHOD(jobject, setQuery, jstring query) { THIS->setQuery(TO_C(query)); diff --git a/lib/src/main/cpp/libzim/search.cpp b/lib/src/main/cpp/libzim/search.cpp index 2bcb828..763bb2c 100644 --- a/lib/src/main/cpp/libzim/search.cpp +++ b/lib/src/main/cpp/libzim/search.cpp @@ -33,11 +33,7 @@ #define TYPENAME libzim_Search #include - -METHOD0(void, dispose) -{ - dispose(env, thisObj); -} +DISPOSE METHOD(jobject, getResults, jint start, jint maxResults) { auto results = THIS->getResults(TO_C(start), TO_C(maxResults)); diff --git a/lib/src/main/cpp/libzim/search_iterator.cpp b/lib/src/main/cpp/libzim/search_iterator.cpp index 7ebb84d..6c04c7d 100644 --- a/lib/src/main/cpp/libzim/search_iterator.cpp +++ b/lib/src/main/cpp/libzim/search_iterator.cpp @@ -34,6 +34,8 @@ #define TYPENAME libzim_SearchIterator #include + +// We cannot use the default macro to implement `dispose` as we need to delete the end handle METHOD0(void, dispose) { // Delete end iterator diff --git a/lib/src/main/cpp/libzim/searcher.cpp b/lib/src/main/cpp/libzim/searcher.cpp index eb848fa..eaaff98 100644 --- a/lib/src/main/cpp/libzim/searcher.cpp +++ b/lib/src/main/cpp/libzim/searcher.cpp @@ -48,10 +48,8 @@ METHOD(void, setNativeSearcher, jobject archive) } -METHOD0(void, dispose) -{ - dispose(env, thisObj); -} + +DISPOSE METHOD(jobject, addArchive, jobject archive) { auto cArchive = getPtr(env, archive); diff --git a/lib/src/main/cpp/libzim/suggestion_item.cpp b/lib/src/main/cpp/libzim/suggestion_item.cpp index 82ff34d..35b1c4f 100644 --- a/lib/src/main/cpp/libzim/suggestion_item.cpp +++ b/lib/src/main/cpp/libzim/suggestion_item.cpp @@ -33,10 +33,7 @@ #define TYPENAME libzim_SuggestionItem #include -METHOD0(void, dispose) -{ - dispose(env, thisObj); -} +DISPOSE GETTER(jstring, getTitle) GETTER(jstring, getPath) diff --git a/lib/src/main/cpp/libzim/suggestion_iterator.cpp b/lib/src/main/cpp/libzim/suggestion_iterator.cpp index 6637780..5181ae1 100644 --- a/lib/src/main/cpp/libzim/suggestion_iterator.cpp +++ b/lib/src/main/cpp/libzim/suggestion_iterator.cpp @@ -33,7 +33,7 @@ #define TYPENAME libzim_SuggestionIterator #include - +// We cannot use the default macro to implement `dispose` as we need to delete the end handle METHOD0(void, dispose) { // Delete end iterator diff --git a/lib/src/main/cpp/libzim/suggestion_search.cpp b/lib/src/main/cpp/libzim/suggestion_search.cpp index 05dff7f..26fa783 100644 --- a/lib/src/main/cpp/libzim/suggestion_search.cpp +++ b/lib/src/main/cpp/libzim/suggestion_search.cpp @@ -33,10 +33,7 @@ #define TYPENAME libzim_SuggestionSearch #include -METHOD0(void, dispose) -{ - dispose(env, thisObj); -} +DISPOSE METHOD(jobject, getResults, jint start, jint maxResults) { auto results = THIS->getResults(TO_C(start), TO_C(maxResults)); diff --git a/lib/src/main/cpp/libzim/suggestion_searcher.cpp b/lib/src/main/cpp/libzim/suggestion_searcher.cpp index 8df8f3c..7e34c4f 100644 --- a/lib/src/main/cpp/libzim/suggestion_searcher.cpp +++ b/lib/src/main/cpp/libzim/suggestion_searcher.cpp @@ -47,11 +47,7 @@ METHOD(void, setNativeSearcher, jobject archive) } } - -METHOD0(void, dispose) -{ - dispose(env, thisObj); -} +DISPOSE METHOD(jobject, suggest, jstring query) { return BUILD_WRAPPER("org/kiwix/libzim/SuggestionSearch", THIS->suggest(TO_C(query))); diff --git a/lib/src/main/cpp/macros.h b/lib/src/main/cpp/macros.h index 807ab34..bef647b 100644 --- a/lib/src/main/cpp/macros.h +++ b/lib/src/main/cpp/macros.h @@ -39,3 +39,4 @@ JNIEXPORT retType JNICALL BUILD_METHOD(TYPENAME ,name) ( \ return TO_JNI(THIS->name()); \ } +#define DISPOSE METHOD0(void, dispose) { dispose(env, thisObj); }