Intrudoce DISPOSE macro to implement the dispose method.

This commit is contained in:
Matthieu Gautier 2023-01-24 15:10:17 +01:00
parent fbdea0dda2
commit fe1de03b23
18 changed files with 22 additions and 66 deletions

View File

@ -34,10 +34,7 @@ METHOD0(void, allocate)
SET_PTR(std::make_shared<NATIVE_TYPE>());
}
METHOD0(void, dispose)
{
dispose<NATIVE_TYPE>(env, thisObj);
}
DISPOSE
METHOD(void, update__Lorg_kiwix_libkiwix_Book_2, jobject otherBook)
{

View File

@ -35,10 +35,7 @@ METHOD0(void, allocate) {
SET_PTR(std::make_shared<NATIVE_TYPE>());
}
METHOD0(void, dispose) {
dispose<kiwix::Library>(env, thisObj);
}
DISPOSE
#define FORWARD(name, args_type) \
METHOD(jobject, name, args_type value) { \

View File

@ -45,10 +45,8 @@ METHOD(void, setNativeServer, jobject jLibrary)
}
}
METHOD0(void, dispose)
{
dispose<NATIVE_TYPE>(env, thisObj);
}
DISPOSE
/* Kiwix library functions */
METHOD(void, setRoot, jstring root)

View File

@ -34,10 +34,7 @@ METHOD0(void, setNativeHandler)
SET_PTR(std::make_shared<NATIVE_TYPE>());
}
METHOD0(void, dispose)
{
dispose<NATIVE_TYPE>(env, thisObj);
}
DISPOSE
/* Kiwix library functions */
METHOD(jboolean, addBook, jobject book)

View File

@ -34,10 +34,8 @@ METHOD(void, allocate, jobject libraryObj)
SET_PTR(std::make_shared<NATIVE_TYPE>(lib.get()));
}
METHOD0(void, dispose)
{
dispose<NATIVE_TYPE>(env, thisObj);
}
DISPOSE
/* Kiwix manager functions */
METHOD(jboolean, readFile, jstring path)
{

View File

@ -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<zim::Archive>(env, thisObj);
}
DISPOSE
GETTER(jstring, getFilename)
GETTER(jlong, getFilesize)

View File

@ -33,12 +33,7 @@
#define TYPENAME libzim_Blob
#include <macros.h>
METHOD0(void, dispose)
{
dispose<NATIVE_TYPE>(env, thisObj);
}
DISPOSE
METHOD0(jstring, getData) {
return TO_JNI(std::string(*THIS));

View File

@ -35,10 +35,7 @@
#include <macros.h>
METHOD0(void, dispose)
{
dispose<NATIVE_TYPE>(env, thisObj);
}
DISPOSE
GETTER(jboolean, isRedirect)
GETTER(jstring, getTitle)

View File

@ -33,10 +33,7 @@
#define TYPENAME libzim_Item
#include <macros.h>
METHOD0(void, dispose)
{
dispose<NATIVE_TYPE>(env, thisObj);
}
DISPOSE
GETTER(jstring, getTitle)
GETTER(jstring, getPath)

View File

@ -46,10 +46,7 @@ METHOD(void, setNativeQuery, jstring query)
}
}
METHOD0(void, dispose)
{
dispose<NATIVE_TYPE>(env, thisObj);
}
DISPOSE
METHOD(jobject, setQuery, jstring query) {
THIS->setQuery(TO_C(query));

View File

@ -33,11 +33,7 @@
#define TYPENAME libzim_Search
#include <macros.h>
METHOD0(void, dispose)
{
dispose<NATIVE_TYPE>(env, thisObj);
}
DISPOSE
METHOD(jobject, getResults, jint start, jint maxResults) {
auto results = THIS->getResults(TO_C(start), TO_C(maxResults));

View File

@ -34,6 +34,8 @@
#define TYPENAME libzim_SearchIterator
#include <macros.h>
// We cannot use the default macro to implement `dispose` as we need to delete the end handle
METHOD0(void, dispose)
{
// Delete end iterator

View File

@ -48,10 +48,8 @@ METHOD(void, setNativeSearcher, jobject archive)
}
METHOD0(void, dispose)
{
dispose<NATIVE_TYPE>(env, thisObj);
}
DISPOSE
METHOD(jobject, addArchive, jobject archive) {
auto cArchive = getPtr<zim::Archive>(env, archive);

View File

@ -33,10 +33,7 @@
#define TYPENAME libzim_SuggestionItem
#include <macros.h>
METHOD0(void, dispose)
{
dispose<NATIVE_TYPE>(env, thisObj);
}
DISPOSE
GETTER(jstring, getTitle)
GETTER(jstring, getPath)

View File

@ -33,7 +33,7 @@
#define TYPENAME libzim_SuggestionIterator
#include <macros.h>
// We cannot use the default macro to implement `dispose` as we need to delete the end handle
METHOD0(void, dispose)
{
// Delete end iterator

View File

@ -33,10 +33,7 @@
#define TYPENAME libzim_SuggestionSearch
#include <macros.h>
METHOD0(void, dispose)
{
dispose<NATIVE_TYPE>(env, thisObj);
}
DISPOSE
METHOD(jobject, getResults, jint start, jint maxResults) {
auto results = THIS->getResults(TO_C(start), TO_C(maxResults));

View File

@ -47,11 +47,7 @@ METHOD(void, setNativeSearcher, jobject archive)
}
}
METHOD0(void, dispose)
{
dispose<NATIVE_TYPE>(env, thisObj);
}
DISPOSE
METHOD(jobject, suggest, jstring query) {
return BUILD_WRAPPER("org/kiwix/libzim/SuggestionSearch", THIS->suggest(TO_C(query)));

View File

@ -39,3 +39,4 @@ JNIEXPORT retType JNICALL BUILD_METHOD(TYPENAME ,name) ( \
return TO_JNI(THIS->name()); \
}
#define DISPOSE METHOD0(void, dispose) { dispose<NATIVE_TYPE>(env, thisObj); }