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