mirror of https://github.com/kiwix/libkiwix.git
Renamed org.kiwix.kiwixlib.{Pair->DirectAccessInfo}
This commit is contained in:
parent
5a99634dfd
commit
7a465e66d7
|
@ -379,22 +379,22 @@ JNIEXPORT jobject JNICALL
|
||||||
Java_org_kiwix_kiwixlib_JNIKiwixReader_getDirectAccessInformation(
|
Java_org_kiwix_kiwixlib_JNIKiwixReader_getDirectAccessInformation(
|
||||||
JNIEnv* env, jobject obj, jstring url)
|
JNIEnv* env, jobject obj, jstring url)
|
||||||
{
|
{
|
||||||
jclass classPair = env->FindClass("org/kiwix/kiwixlib/Pair");
|
jclass daiClass = env->FindClass("org/kiwix/kiwixlib/DirectAccessInfo");
|
||||||
jmethodID midPairinit = env->GetMethodID(classPair, "<init>", "()V");
|
jmethodID daiInitMethod = env->GetMethodID(daiClass, "<init>", "()V");
|
||||||
jobject pair = env->NewObject(classPair, midPairinit);
|
jobject dai = env->NewObject(daiClass, daiInitMethod);
|
||||||
setPairObjValue("", 0, pair, env);
|
setDaiObjValue("", 0, dai, env);
|
||||||
|
|
||||||
std::string cUrl = jni2c(url, env);
|
std::string cUrl = jni2c(url, env);
|
||||||
try {
|
try {
|
||||||
auto entry = READER->getEntryFromEncodedPath(cUrl);
|
auto entry = READER->getEntryFromEncodedPath(cUrl);
|
||||||
entry = entry.getFinalEntry();
|
entry = entry.getFinalEntry();
|
||||||
auto part_info = entry.getDirectAccessInfo();
|
auto part_info = entry.getDirectAccessInfo();
|
||||||
setPairObjValue(part_info.first, part_info.second, pair, env);
|
setDaiObjValue(part_info.first, part_info.second, dai, env);
|
||||||
} catch (std::exception& e) {
|
} catch (std::exception& e) {
|
||||||
LOG("Unable to get direct access info for url: %s", cUrl.c_str());
|
LOG("Unable to get direct access info for url: %s", cUrl.c_str());
|
||||||
LOG(e.what());
|
LOG(e.what());
|
||||||
}
|
}
|
||||||
return pair;
|
return dai;
|
||||||
}
|
}
|
||||||
|
|
||||||
JNIEXPORT jboolean JNICALL
|
JNIEXPORT jboolean JNICALL
|
||||||
|
|
|
@ -12,7 +12,7 @@ java_sources = files([
|
||||||
'org/kiwix/kiwixlib/JNIKiwixString.java',
|
'org/kiwix/kiwixlib/JNIKiwixString.java',
|
||||||
'org/kiwix/kiwixlib/JNIKiwixBool.java',
|
'org/kiwix/kiwixlib/JNIKiwixBool.java',
|
||||||
'org/kiwix/kiwixlib/JNIKiwixException.java',
|
'org/kiwix/kiwixlib/JNIKiwixException.java',
|
||||||
'org/kiwix/kiwixlib/Pair.java'
|
'org/kiwix/kiwixlib/DirectAccessInfo.java'
|
||||||
])
|
])
|
||||||
|
|
||||||
kiwix_jni = custom_target('jni',
|
kiwix_jni = custom_target('jni',
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
|
|
||||||
package org.kiwix.kiwixlib;
|
package org.kiwix.kiwixlib;
|
||||||
|
|
||||||
public class Pair
|
public class DirectAccessInfo
|
||||||
{
|
{
|
||||||
public String filename;
|
public String filename;
|
||||||
public long offset;
|
public long offset;
|
|
@ -24,7 +24,7 @@ import org.kiwix.kiwixlib.JNIKiwixException;
|
||||||
import org.kiwix.kiwixlib.JNIKiwixString;
|
import org.kiwix.kiwixlib.JNIKiwixString;
|
||||||
import org.kiwix.kiwixlib.JNIKiwixInt;
|
import org.kiwix.kiwixlib.JNIKiwixInt;
|
||||||
import org.kiwix.kiwixlib.JNIKiwixSearcher;
|
import org.kiwix.kiwixlib.JNIKiwixSearcher;
|
||||||
import org.kiwix.kiwixlib.Pair;
|
import org.kiwix.kiwixlib.DirectAccessInfo;
|
||||||
import java.io.FileDescriptor;
|
import java.io.FileDescriptor;
|
||||||
|
|
||||||
public class JNIKiwixReader
|
public class JNIKiwixReader
|
||||||
|
@ -103,13 +103,13 @@ public class JNIKiwixReader
|
||||||
* the zim file (or zim part) and directly read the content from it (and so
|
* the zim file (or zim part) and directly read the content from it (and so
|
||||||
* bypassing the libzim).
|
* bypassing the libzim).
|
||||||
*
|
*
|
||||||
* Return a `Pair` (filename, offset) where the content is located.
|
* Return a `DirectAccessInfo` (filename, offset) where the content is located.
|
||||||
*
|
*
|
||||||
* If the content cannot be directly accessed (content is compressed or zim
|
* If the content cannot be directly accessed (content is compressed or zim
|
||||||
* file is cut in the middle of the content), the filename is an empty string
|
* file is cut in the middle of the content), the filename is an empty string
|
||||||
* and offset is zero.
|
* and offset is zero.
|
||||||
*/
|
*/
|
||||||
public native Pair getDirectAccessInformation(String url);
|
public native DirectAccessInfo getDirectAccessInformation(String url);
|
||||||
|
|
||||||
public native boolean searchSuggestions(String prefix, int count);
|
public native boolean searchSuggestions(String prefix, int count);
|
||||||
|
|
||||||
|
|
|
@ -246,7 +246,7 @@ inline void setBoolObjValue(const bool value, const jobject obj, JNIEnv* env)
|
||||||
env->SetIntField(obj, objFid, c2jni(value, env));
|
env->SetIntField(obj, objFid, c2jni(value, env));
|
||||||
}
|
}
|
||||||
|
|
||||||
inline void setPairObjValue(const std::string& filename, const long offset,
|
inline void setDaiObjValue(const std::string& filename, const long offset,
|
||||||
const jobject obj, JNIEnv* env)
|
const jobject obj, JNIEnv* env)
|
||||||
{
|
{
|
||||||
jclass objClass = env->GetObjectClass(obj);
|
jclass objClass = env->GetObjectClass(obj);
|
||||||
|
|
Loading…
Reference in New Issue