diff --git a/lib/src/main/cpp/libkiwix/illustration.cpp b/lib/src/main/cpp/libkiwix/illustration.cpp index f4730d9..d86b0cc 100644 --- a/lib/src/main/cpp/libkiwix/illustration.cpp +++ b/lib/src/main/cpp/libkiwix/illustration.cpp @@ -19,7 +19,7 @@ #include -#include "org_kiwix_libkiwix_Book.h" +#include "org_kiwix_libkiwix_Illustration.h" #include "utils.h" #include "book.h" diff --git a/lib/src/main/cpp/utils.h b/lib/src/main/cpp/utils.h index d6b74f5..f6afd89 100644 --- a/lib/src/main/cpp/utils.h +++ b/lib/src/main/cpp/utils.h @@ -141,6 +141,14 @@ inline jobject buildWrapper(JNIEnv* env, const char* class_name, T&& obj, const setPtr(env, wrapper, std::move(ptr)); return wrapper; } + +template +inline jobject buildWrapper(JNIEnv* env, const char* class_name, std::shared_ptr&& ptr, const char* handleName = "nativeHandle") { + auto wrapper = newObject(class_name, env); + setPtr(env, wrapper, std::move(ptr)); + return wrapper; +} + #define BUILD_WRAPPER(CLASSNAME, OBJ) buildWrapper(env, CLASSNAME, std::move(OBJ)) template diff --git a/lib/src/test/test.java b/lib/src/test/test.java index 04b469b..6ef3cf4 100644 --- a/lib/src/test/test.java +++ b/lib/src/test/test.java @@ -122,6 +122,7 @@ public class test { Book book = lib.getBookById(bookIds[0]); assertEquals(book.getTitle(), "Test ZIM file"); assertEquals(book.getTags(), "unit;test"); + assertEquals(book.getIllustration(48).width(), 48); assertEquals(book.getIllustration(48).url(), "http://localhost/meta?name=favicon&content=small"); assertEquals(book.getUrl(), "http://localhost/small.zim");