mirror of https://github.com/kiwix/libkiwix.git
Add method to get value of tag from a book.
Only the `getTagStr` method is available on android because we need a proper exception handling on wrapping side. Fix #298
This commit is contained in:
parent
7275f9b8e3
commit
bc257d2d6d
|
@ -60,6 +60,8 @@ class Book
|
||||||
const std::string& getUrl() const { return m_url; }
|
const std::string& getUrl() const { return m_url; }
|
||||||
const std::string& getName() const { return m_name; }
|
const std::string& getName() const { return m_name; }
|
||||||
const std::string& getTags() const { return m_tags; }
|
const std::string& getTags() const { return m_tags; }
|
||||||
|
std::string getTagStr(const std::string& tagName) const;
|
||||||
|
bool getTagBool(const std::string& tagName) const;
|
||||||
const std::string& getOrigId() const { return m_origId; }
|
const std::string& getOrigId() const { return m_origId; }
|
||||||
const uint64_t& getArticleCount() const { return m_articleCount; }
|
const uint64_t& getArticleCount() const { return m_articleCount; }
|
||||||
const uint64_t& getMediaCount() const { return m_mediaCount; }
|
const uint64_t& getMediaCount() const { return m_mediaCount; }
|
||||||
|
|
|
@ -23,6 +23,7 @@
|
||||||
#include "tools/base64.h"
|
#include "tools/base64.h"
|
||||||
#include "tools/regexTools.h"
|
#include "tools/regexTools.h"
|
||||||
#include "tools/networkTools.h"
|
#include "tools/networkTools.h"
|
||||||
|
#include "tools/otherTools.h"
|
||||||
|
|
||||||
#include <pugixml.hpp>
|
#include <pugixml.hpp>
|
||||||
|
|
||||||
|
@ -203,4 +204,12 @@ const std::string& Book::getFavicon() const {
|
||||||
return m_favicon;
|
return m_favicon;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::string Book::getTagStr(const std::string& tagName) const {
|
||||||
|
return getTagValueFromTagList(convertTags(m_tags), tagName);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool Book::getTagBool(const std::string& tagName) const {
|
||||||
|
return convertStrToBool(getTagStr(tagName));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -66,4 +66,11 @@ GETTER(jstring, getFavicon)
|
||||||
GETTER(jstring, getFaviconUrl)
|
GETTER(jstring, getFaviconUrl)
|
||||||
GETTER(jstring, getFaviconMimeType)
|
GETTER(jstring, getFaviconMimeType)
|
||||||
|
|
||||||
|
METHOD(jstring, Book, getTagStr, jstring tagName) try {
|
||||||
|
auto cRet = Book->getTagStr(jni2c(tagName, env));
|
||||||
|
return c2jni(cRet, env);
|
||||||
|
} catch(...) {
|
||||||
|
return c2jni<std::string>("", env);
|
||||||
|
}
|
||||||
|
|
||||||
#undef GETTER
|
#undef GETTER
|
||||||
|
|
|
@ -20,6 +20,13 @@ public class Book
|
||||||
public native String getUrl();
|
public native String getUrl();
|
||||||
public native String getName();
|
public native String getName();
|
||||||
public native String getTags();
|
public native String getTags();
|
||||||
|
/**
|
||||||
|
* Return the value associated to the tag tagName
|
||||||
|
*
|
||||||
|
* @param tagName the tag name to search for.
|
||||||
|
* @return The value of the tag. If the tag is not found, return empty string.
|
||||||
|
*/
|
||||||
|
public native String getTagStr(String tagName);
|
||||||
|
|
||||||
public native long getArticleCount();
|
public native long getArticleCount();
|
||||||
public native long getMediaCount();
|
public native long getMediaCount();
|
||||||
|
|
Loading…
Reference in New Issue