mirror of
https://github.com/kiwix/java-libkiwix.git
synced 2025-09-12 08:44:10 -04:00
Repass on kiwix::Library wrapper
This commit is contained in:
parent
29518279dc
commit
d63b84a5cc
@ -29,7 +29,7 @@
|
||||
#include "macros.h"
|
||||
|
||||
/* Kiwix Reader JNI functions */
|
||||
METHOD0(void, allocate)
|
||||
METHOD0(void, setNativeHandler)
|
||||
{
|
||||
SET_PTR(std::make_shared<NATIVE_TYPE>());
|
||||
}
|
||||
@ -40,22 +40,17 @@ METHOD0(void, dispose)
|
||||
}
|
||||
|
||||
/* Kiwix library functions */
|
||||
/*JNIEXPORT jboolean JNICALL
|
||||
Java_org_kiwix_kiwixlib_Library_addBook(
|
||||
JNIEnv* env, jobject thisObj, jstring path)
|
||||
METHOD(jboolean, addBook, jobject book)
|
||||
{
|
||||
auto cPath = TO_C(path);
|
||||
auto cBook = getPtr<kiwix::Book>(env, book);
|
||||
|
||||
try {
|
||||
kiwix::Reader reader(cPath);
|
||||
kiwix::Book book;
|
||||
book.update(reader);
|
||||
return LIBRARY->addBook(book);
|
||||
return THIS->addBook(*cBook);
|
||||
} catch (std::exception& e) {
|
||||
LOG("Unable to add the book");
|
||||
LOG(e.what()); }
|
||||
LOG("%s", e.what()); }
|
||||
return false;
|
||||
}*/
|
||||
}
|
||||
|
||||
METHOD(jobject, getBookById, jstring id) {
|
||||
auto obj = NEW_OBJECT("org/kiwix/libkiwix/Book");
|
||||
@ -63,12 +58,27 @@ METHOD(jobject, getBookById, jstring id) {
|
||||
return obj;
|
||||
}
|
||||
|
||||
METHOD(jobject, getArchiveById, jstring id) {
|
||||
auto obj = NEW_OBJECT("org/kiwix/libzim/Archive");
|
||||
setPtr(env, obj, THIS->getArchiveById(TO_C(id)));
|
||||
return obj;
|
||||
}
|
||||
|
||||
METHOD(jboolean, removeBookById, jstring id) {
|
||||
return TO_JNI(THIS->removeBookById(TO_C(id)));
|
||||
}
|
||||
|
||||
METHOD(jboolean, writeToFile, jstring path) {
|
||||
return TO_JNI(THIS->writeToFile(TO_C(path)));
|
||||
}
|
||||
|
||||
METHOD(jint, getBookCount, jboolean localBooks, jboolean remoteBooks) {
|
||||
return THIS->getBookCount(localBooks, remoteBooks);
|
||||
return TO_JNI(THIS->getBookCount(TO_C(localBooks), TO_C(remoteBooks)));
|
||||
}
|
||||
|
||||
GETTER(jobjectArray, getBooksIds)
|
||||
GETTER(jobjectArray, getBooksLanguages)
|
||||
GETTER(jobjectArray, getBooksCategories)
|
||||
GETTER(jobjectArray, getBooksCreators)
|
||||
GETTER(jobjectArray, getBooksPublishers)
|
||||
|
||||
|
@ -19,31 +19,42 @@
|
||||
|
||||
package org.kiwix.libkiwix;
|
||||
|
||||
import org.kiwix.libzim.Archive;
|
||||
import org.kiwix.libzim.Searcher;
|
||||
import org.kiwix.libkiwix.Book;
|
||||
import org.kiwix.libkiwix.JNIKiwixException;
|
||||
|
||||
public class Library
|
||||
{
|
||||
public native boolean addBook(String path) throws JNIKiwixException;
|
||||
public Library()
|
||||
{
|
||||
setNativeHandler();
|
||||
}
|
||||
public native boolean addBook(Book book) throws JNIKiwixException;
|
||||
|
||||
public native Book getBookById(String id);
|
||||
|
||||
public native Archive getArchiveById(String id);
|
||||
//public native Searcher getSearcherById(String id);
|
||||
//public native Searcher getSearcherByIds(String ids[]);
|
||||
|
||||
public native boolean removeBookById(String id);
|
||||
|
||||
public native boolean writeToFile(String path);
|
||||
|
||||
public native int getBookCount(boolean localBooks, boolean remoteBooks);
|
||||
|
||||
public native String[] getBooksIds();
|
||||
public native String[] filter(Filter filter);
|
||||
|
||||
public native String[] getBooksLanguages();
|
||||
public native String[] getBooksCategories();
|
||||
public native String[] getBooksCreators();
|
||||
public native String[] getBooksPublishers();
|
||||
|
||||
public Library()
|
||||
{
|
||||
allocate();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void finalize() { dispose(); }
|
||||
private native void allocate();
|
||||
private native void setNativeHandler();
|
||||
private native void dispose();
|
||||
private long nativeHandle;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user