summaryrefslogtreecommitdiff
path: root/include/flatapi.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/flatapi.h')
-rw-r--r--include/flatapi.h533
1 files changed, 465 insertions, 68 deletions
diff --git a/include/flatapi.h b/include/flatapi.h
index 4c59ba6..c5f8412 100644
--- a/include/flatapi.h
+++ b/include/flatapi.h
@@ -2,9 +2,9 @@
*
* flatapi.h - This file contains an api usable by non-C++ environments
*
- * $Id: flatapi.h 2833 2013-06-29 06:40:28Z chrislit $
+ * $Id: flatapi.h 3184 2014-04-17 04:30:54Z greg.hellings $
*
- * Copyright 2002-2013 CrossWire Bible Society (http://www.crosswire.org)
+ * Copyright 2002-2014 CrossWire Bible Society (http://www.crosswire.org)
* CrossWire Bible Society
* P. O. Box 2528
* Tempe, AZ 85280-2528
@@ -20,87 +20,484 @@
*
*/
-#ifndef SWORDAPI_H
-#define SWORDAPI_H
+#ifndef SWORDFLATAPI_H
+#define SWORDFLATAPI_H
-#include <defs.h>
#include <inttypes.h>
-#ifdef __cplusplus
-#endif
+#include <defs.h>
+#ifdef __cplusplus
extern "C" {
+#endif
#define SWHANDLE intptr_t
+struct org_crosswire_sword_ModInfo {
+ char *name;
+ char *description;
+ char *category;
+ char *language;
+ char *version;
+ char *delta;
+};
-//-----------------------------------------------------------------
-// stringlist_iterator methods
-void SWDLLEXPORT stringlist_iterator_next(SWHANDLE hsli);
-const char * SWDLLEXPORT stringlist_iterator_val(SWHANDLE hsli);
+struct org_crosswire_sword_SearchHit {
+ const char *modName;
+ char *key;
+ long score;
+};
-//-----------------------------------------------------------------
-// listkey_iterator methods
-void SWDLLEXPORT listkey_iterator_next(SWHANDLE lki);
-const char * SWDLLEXPORT listkey_iterator_val(SWHANDLE hsli);
-
-//-----------------------------------------------------------------
-// modmap methods
-//
-void SWDLLEXPORT ModList_iterator_next(SWHANDLE hmmi);
-SWHANDLE SWDLLEXPORT ModList_iterator_val(SWHANDLE hmmi);
+#undef org_crosswire_sword_SWModule_SEARCHTYPE_REGEX
+#define org_crosswire_sword_SWModule_SEARCHTYPE_REGEX 1L
+#undef org_crosswire_sword_SWModule_SEARCHTYPE_PHRASE
+#define org_crosswire_sword_SWModule_SEARCHTYPE_PHRASE -1L
+#undef org_crosswire_sword_SWModule_SEARCHTYPE_MULTIWORD
+#define org_crosswire_sword_SWModule_SEARCHTYPE_MULTIWORD -2L
+#undef org_crosswire_sword_SWModule_SEARCHTYPE_ENTRYATTR
+#define org_crosswire_sword_SWModule_SEARCHTYPE_ENTRYATTR -3L
+#undef org_crosswire_sword_SWModule_SEARCHTYPE_LUCENE
+#define org_crosswire_sword_SWModule_SEARCHTYPE_LUCENE -4L
+
+/*
+ * Class: org_crosswire_sword_SWModule
+ * Method: terminateSearch
+ * Signature: ()V
+ */
+void SWDLLEXPORT org_crosswire_sword_SWModule_terminateSearch
+ (SWHANDLE hSWModule);
+
+/*
+ * Class: org_crosswire_sword_SWModule
+ * Method: search
+ * Signature: (Ljava/lang/String;IJLjava/lang/String;Lorg/crosswire/android/sword/SWModule/SearchProgressReporter;)[Lorg/crosswire/android/sword/SWModule/SearchHit;
+ */
+const struct org_crosswire_sword_SearchHit * SWDLLEXPORT org_crosswire_sword_SWModule_search
+ (SWHANDLE hSWModule, const char *searchString, int searchType, long flags, const char *scope, SWHANDLE progressReporter);
+
+/*
+ * Class: org_crosswire_sword_SWModule
+ * Method: error
+ * Signature: ()C
+ */
+char SWDLLEXPORT org_crosswire_sword_SWModule_popError
+ (SWHANDLE hSWModule);
+
+/*
+ * Class: org_crosswire_sword_SWModule
+ * Method: getEntrySize
+ * Signature: ()J
+ */
+long SWDLLEXPORT org_crosswire_sword_SWModule_getEntrySize
+ (SWHANDLE hSWModule);
+
+/*
+ * Class: org_crosswire_sword_SWModule
+ * Method: getEntryAttribute
+ * Signature: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)[Ljava/lang/String;
+ */
+const char ** SWDLLEXPORT org_crosswire_sword_SWModule_getEntryAttribute
+ (SWHANDLE hSWModule, const char *level1, const char *level2, const char *level3, char filteredBool);
+
+/*
+ * Class: org_crosswire_sword_SWModule
+ * Method: parseKeyList
+ * Signature: (Ljava/lang/String;)[Ljava/lang/String;
+ */
+const char ** SWDLLEXPORT org_crosswire_sword_SWModule_parseKeyList
+ (SWHANDLE hSWModule, const char *keyText);
+
+/*
+ * Class: org_crosswire_sword_SWModule
+ * Method: setKeyText
+ * Signature: (Ljava/lang/String;)V
+ */
+// Special values handled for VerseKey modules:
+// [+-][book|chapter] - [de|in]crement by chapter or book
+// (e.g. "+chapter" will increment the VerseKey 1 chapter)
+// [=][key] - position absolutely and don't normalize
+// (e.g. "jn.1.0" for John Chapter 1 intro; "jn.0.0" For Book of John Intro)
+void SWDLLEXPORT org_crosswire_sword_SWModule_setKeyText
+ (SWHANDLE hSWModule, const char *key);
+
+/*
+ * Class: org_crosswire_sword_SWModule
+ * Method: getKeyText
+ * Signature: ()Ljava/lang/String;
+ */
+const char * SWDLLEXPORT org_crosswire_sword_SWModule_getKeyText
+ (SWHANDLE hSWModule);
+
+/*
+ * Class: org_crosswire_sword_SWModule
+ * Method: hasKeyChildren
+ * Signature: ()Z
+ */
+char SWDLLEXPORT org_crosswire_sword_SWModule_hasKeyChildren
+ (SWHANDLE hSWModule);
+
+/*
+ * Class: org_crosswire_sword_SWModule
+ * Method: getKeyChildren
+ * Signature: ()[Ljava/lang/String;
+ */
+
+// This method returns child nodes for a genbook,
+// but has special handling if called on a VerseKey module:
+// [0..7] [testament, book, chapter, verse, chapterMax, verseMax, bookName, osisRef]
+const char ** SWDLLEXPORT org_crosswire_sword_SWModule_getKeyChildren
+ (SWHANDLE hSWModule);
+
+/*
+ * Class: org_crosswire_sword_SWModule
+ * Method: getName
+ * Signature: ()Ljava/lang/String;
+ */
+const char * SWDLLEXPORT org_crosswire_sword_SWModule_getName
+ (SWHANDLE hSWModule);
+
+/*
+ * Class: org_crosswire_sword_SWModule
+ * Method: getDescription
+ * Signature: ()Ljava/lang/String;
+ */
+const char * SWDLLEXPORT org_crosswire_sword_SWModule_getDescription
+ (SWHANDLE hSWModule);
+
+/*
+ * Class: org_crosswire_sword_SWModule
+ * Method: getCategory
+ * Signature: ()Ljava/lang/String;
+ */
+const char * SWDLLEXPORT org_crosswire_sword_SWModule_getCategory
+ (SWHANDLE hSWModule);
+
+/*
+ * Class: org_crosswire_sword_SWModule
+ * Method: getKeyParent
+ * Signature: ()Ljava/lang/String;
+ */
+const char * SWDLLEXPORT org_crosswire_sword_SWModule_getKeyParent
+ (SWHANDLE hSWModule);
+
+/*
+ * Class: org_crosswire_sword_SWModule
+ * Method: previous
+ * Signature: ()V
+ */
+void SWDLLEXPORT org_crosswire_sword_SWModule_previous
+ (SWHANDLE hSWModule);
+
+/*
+ * Class: org_crosswire_sword_SWModule
+ * Method: next
+ * Signature: ()V
+ */
+void SWDLLEXPORT org_crosswire_sword_SWModule_next
+ (SWHANDLE hSWModule);
+
+/*
+ * Class: org_crosswire_sword_SWModule
+ * Method: begin
+ * Signature: ()V
+ */
+void SWDLLEXPORT org_crosswire_sword_SWModule_begin
+ (SWHANDLE hSWModule);
+
+/*
+ * Class: org_crosswire_sword_SWModule
+ * Method: getStripText
+ * Signature: ()Ljava/lang/String;
+ */
+const char * SWDLLEXPORT org_crosswire_sword_SWModule_stripText
+ (SWHANDLE hSWModule);
+
+/*
+ * Class: org_crosswire_sword_SWModule
+ * Method: getRenderText
+ * Signature: ()Ljava/lang/String;
+ */
+const char * SWDLLEXPORT org_crosswire_sword_SWModule_renderText
+ (SWHANDLE hSWModule);
+
+/*
+ * Class: org_crosswire_sword_SWModule
+ * Method: getRenderHeader
+ * Signature: ()Ljava/lang/String;
+ */
+// CSS styles associated with this text
+const char * SWDLLEXPORT org_crosswire_sword_SWModule_getRenderHeader
+ (SWHANDLE hSWModule);
+
+/*
+ * Class: org_crosswire_sword_SWModule
+ * Method: getRawEntry
+ * Signature: ()Ljava/lang/String;
+ */
+const char * SWDLLEXPORT org_crosswire_sword_SWModule_getRawEntry
+ (SWHANDLE hSWModule);
+
+/*
+ * Class: org_crosswire_sword_SWModule
+ * Method: setRawEntry
+ * Signature: (Ljava/lang/String;)V
+ */
+void SWDLLEXPORT org_crosswire_sword_SWModule_setRawEntry
+ (SWHANDLE hSWModule, const char *entryBuffer);
+
+/*
+ * Class: org_crosswire_sword_SWModule
+ * Method: getConfigEntry
+ * Signature: (Ljava/lang/String;)Ljava/lang/String;
+ */
+const char * SWDLLEXPORT org_crosswire_sword_SWModule_getConfigEntry
+ (SWHANDLE hSWModule, const char *key);
+
+/*
+ * Class: org_crosswire_sword_SWModule
+ * Method: deleteSearchFramework
+ * Signature: ()V
+ */
+void SWDLLEXPORT org_crosswire_sword_SWModule_deleteSearchFramework
+ (SWHANDLE hSWModule);
+
+/*
+ * Class: org_crosswire_sword_SWModule
+ * Method: hasSearchFramework
+ * Signature: ()Z
+ */
+char SWDLLEXPORT org_crosswire_sword_SWModule_hasSearchFramework
+ (SWHANDLE hSWModule);
+
+/*
+ * Class: org_crosswire_sword_SWMgr
+ * Method: new
+ * Signature: ()V
+ */
+SWHANDLE SWDLLEXPORT org_crosswire_sword_SWMgr_new
+ ();
+
+/*
+ * Class: org_crosswire_sword_SWMgr
+ * Method: delete
+ * Signature: ()V
+ */
+void SWDLLEXPORT org_crosswire_sword_SWMgr_delete
+ (SWHANDLE hSWMgr);
+
+/*
+ * Class: org_crosswire_sword_SWMgr
+ * Method: version
+ * Signature: ()Ljava/lang/String;
+ */
+const char * SWDLLEXPORT org_crosswire_sword_SWMgr_version
+ (SWHANDLE hSWMgr);
+
+/*
+ * Class: org_crosswire_sword_SWMgr
+ * Method: getModInfoList
+ * Signature: ()[Lorg/crosswire/android/sword/SWMgr/ModInfo;
+ */
+const struct org_crosswire_sword_ModInfo * SWDLLEXPORT org_crosswire_sword_SWMgr_getModInfoList
+ (SWHANDLE hSWMgr);
+
+/*
+ * Class: org_crosswire_sword_SWMgr
+ * Method: getModuleByName
+ * Signature: (Ljava/lang/String;)Lorg/crosswire/android/sword/SWModule;
+ */
+SWHANDLE SWDLLEXPORT org_crosswire_sword_SWMgr_getModuleByName
+ (SWHANDLE hSWMgr, const char *moduleName);
+
+/*
+ * Class: org_crosswire_sword_SWMgr
+ * Method: getPrefixPath
+ * Signature: ()Ljava/lang/String;
+ */
+const char * SWDLLEXPORT org_crosswire_sword_SWMgr_getPrefixPath
+ (SWHANDLE hSWMgr);
+
+/*
+ * Class: org_crosswire_sword_SWMgr
+ * Method: getConfigPath
+ * Signature: ()Ljava/lang/String;
+ */
+const char * SWDLLEXPORT org_crosswire_sword_SWMgr_getConfigPath
+ (SWHANDLE hSWMgr);
+
+/*
+ * Class: org_crosswire_sword_SWMgr
+ * Method: setGlobalOption
+ * Signature: (Ljava/lang/String;Ljava/lang/String;)V
+ */
+void SWDLLEXPORT org_crosswire_sword_SWMgr_setGlobalOption
+ (SWHANDLE hSWMgr, const char *option, const char *value);
+
+/*
+ * Class: org_crosswire_sword_SWMgr
+ * Method: getGlobalOption
+ * Signature: (Ljava/lang/String;)Ljava/lang/String;
+ */
+const char * SWDLLEXPORT org_crosswire_sword_SWMgr_getGlobalOption
+ (SWHANDLE hSWMgr, const char *option);
+
+/*
+ * Class: org_crosswire_sword_SWMgr
+ * Method: getGlobalOptionTip
+ * Signature: (Ljava/lang/String;)Ljava/lang/String;
+ */
+const char * SWDLLEXPORT org_crosswire_sword_SWMgr_getGlobalOptionTip
+ (SWHANDLE hSWMgr, const char *option);
+
+/*
+ * Class: org_crosswire_sword_SWMgr
+ * Method: filterText
+ * Signature: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
+ */
+const char * SWDLLEXPORT org_crosswire_sword_SWMgr_filterText
+ (SWHANDLE hSWMgr, const char *filterName, const char *text);
+
+/*
+ * Class: org_crosswire_sword_SWMgr
+ * Method: getGlobalOptions
+ * Signature: ()[Ljava/lang/String;
+ */
+const char ** SWDLLEXPORT org_crosswire_sword_SWMgr_getGlobalOptions
+ (SWHANDLE hSWMgr);
+
+/*
+ * Class: org_crosswire_sword_SWMgr
+ * Method: getGlobalOptionValues
+ * Signature: (Ljava/lang/String;)[Ljava/lang/String;
+ */
+const char ** SWDLLEXPORT org_crosswire_sword_SWMgr_getGlobalOptionValues
+ (SWHANDLE hSWMgr, const char *option);
+
+/*
+ * Class: org_crosswire_sword_SWMgr
+ * Method: setCipherKey
+ * Signature: (Ljava/lang/String;Ljava/lang/String;)V
+ */
+void SWDLLEXPORT org_crosswire_sword_SWMgr_setCipherKey
+ (SWHANDLE hSWMgr, const char *modName, const char *key);
+
+/*
+ * Class: org_crosswire_sword_SWMgr
+ * Method: setJavascript
+ * Signature: (Z)V
+ */
+void SWDLLEXPORT org_crosswire_sword_SWMgr_setJavascript
+ (SWHANDLE hSWMgr, char valueBool);
+
+/*
+ * Class: org_crosswire_sword_SWMgr
+ * Method: getAvailableLocales
+ * Signature: ()[Ljava/lang/String;
+ */
+const char ** SWDLLEXPORT org_crosswire_sword_SWMgr_getAvailableLocales
+ (SWHANDLE hSWMgr);
+
+/*
+ * Class: org_crosswire_sword_SWMgr
+ * Method: setDefaultLocale
+ * Signature: (Ljava/lang/String;)V
+ */
+void SWDLLEXPORT org_crosswire_sword_SWMgr_setDefaultLocale
+ (SWHANDLE hSWMgr, const char *name);
-//-----------------------------------------------------------------
-// SWMgr methods
+/*
+ * Class: org_crosswire_sword_SWMgr
+ * Method: translate
+ * Signature: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
+ */
+const char * SWDLLEXPORT org_crosswire_sword_SWMgr_translate
+ (SWHANDLE hSWMgr, const char *text, const char *localeName);
+
+
+
+
+
+//
+// InstallMgr methods
+//
//
-SWHANDLE SWDLLEXPORT SWMgr_new(char filterType);
-// SWConfig *, SWConfig *, bool, SWFilterMgr *
-SWHANDLE SWDLLEXPORT SWMgr_newEx(SWHANDLE hiconfig, SWHANDLE hisysconfig, char autoload, SWHANDLE hfilterMgr);
-void SWDLLEXPORT SWMgr_delete(SWHANDLE hmgr);
-SWHANDLE SWDLLEXPORT SWMgr_getConfig(SWHANDLE hmgr);
-SWHANDLE SWDLLEXPORT SWMgr_getModulesIterator(SWHANDLE hmgr);
-SWHANDLE SWDLLEXPORT SWMgr_getModuleByName(SWHANDLE hmgr, const char *name);
-const char * SWDLLEXPORT SWMgr_getPrefixPath(SWHANDLE hmgr);
-const char * SWDLLEXPORT SWMgr_getConfigPath(SWHANDLE hmgr);
-void SWDLLEXPORT SWMgr_setGlobalOption(SWHANDLE hmgr, const char *option, const char *value);
-const char * SWDLLEXPORT SWMgr_getGlobalOption(SWHANDLE hmgr, const char *option);
-const char * SWDLLEXPORT SWMgr_getGlobalOptionTip(SWHANDLE hmgr, const char *option);
-// ret: forward_iterator
-SWHANDLE SWDLLEXPORT SWMgr_getGlobalOptionsIterator(SWHANDLE hmgr);
-// ret: forward_iterator
-SWHANDLE SWDLLEXPORT SWMgr_getGlobalOptionValuesIterator(SWHANDLE hmgr, const char *option);
-void SWDLLEXPORT SWMgr_setCipherKey(SWHANDLE hmgr, const char *modName, const char *key);
-
-
-//-----------------------------------------------------------------
-// SWModule methods
-
-void SWDLLEXPORT SWModule_terminateSearch(SWHANDLE hmodule);
-SWHANDLE SWDLLEXPORT SWModule_doSearch(SWHANDLE hmodule, const char *searchString, int type, int params, void (*percent) (char, void *), void *percentUserData);
-char SWDLLEXPORT SWModule_error(SWHANDLE hmodule);
-int SWDLLEXPORT SWModule_getEntrySize(SWHANDLE hmodule);
-void SWDLLEXPORT SWModule_setKeyText(SWHANDLE hmodule, const char *key);
-const char * SWDLLEXPORT SWModule_getKeyText(SWHANDLE hmodule);
-const char * SWDLLEXPORT SWModule_getName(SWHANDLE hmodule);
-const char * SWDLLEXPORT SWModule_getDescription(SWHANDLE hmodule);
-const char * SWDLLEXPORT SWModule_getType(SWHANDLE hmodule);
-void SWDLLEXPORT SWModule_previous(SWHANDLE hmodule);
-void SWDLLEXPORT SWModule_next(SWHANDLE hmodule);
-void SWDLLEXPORT SWModule_begin(SWHANDLE hmodule);
-const char * SWDLLEXPORT SWModule_getStripText(SWHANDLE hmodule);
-const char * SWDLLEXPORT SWModule_getRenderText(SWHANDLE hmodule);
-const char * SWDLLEXPORT SWModule_getEntryAttributes(SWHANDLE hmodule, const char *level1, const char *level2, const char *level3);
-const char * SWDLLEXPORT SWModule_getPreverseHeader(SWHANDLE hmodule, const char *key, int pvHeading);
-const char * SWDLLEXPORT SWModule_getFootnoteType(SWHANDLE hmodule, const char *key, const char *note);
-const char * SWDLLEXPORT SWModule_getFootnoteBody(SWHANDLE hmodule, const char *key, const char *note);
-const char * SWDLLEXPORT SWModule_getFootnoteRefList(SWHANDLE hmodule, const char *key, const char *note);
-
-SWHANDLE SWDLLEXPORT listkey_getVerselistIterator(const char *list, const char *key, const char *v11n = "KJV");
-}
+
+/*
+ * Class: org_crosswire_sword_InstallMgr
+ * Method: new
+ * Signature: (Ljava/lang/String;Lorg/crosswire/android/sword/SWModule/SearchProgressReporter;)V
+ */
+SWHANDLE SWDLLEXPORT org_crosswire_sword_InstallMgr_new
+ (const char *baseDir, SWHANDLE statusReporter);
+
+/*
+ * Class: org_crosswire_sword_InstallMgr
+ * Method: setUserDisclaimerConfirmed
+ * Signature: ()V
+ */
+void SWDLLEXPORT org_crosswire_sword_InstallMgr_setUserDisclaimerConfirmed
+ (SWHANDLE hInstallMgr);
+
+/*
+ * Class: org_crosswire_sword_InstallMgr
+ * Method: syncConfig
+ * Signature: ()I
+ */
+int SWDLLEXPORT org_crosswire_sword_InstallMgr_syncConfig
+ (SWHANDLE hInstallMgr);
+
+/*
+ * Class: org_crosswire_sword_InstallMgr
+ * Method: uninstallModule
+ * Signature: (Lorg/crosswire/android/sword/SWMgr;Ljava/lang/String;)I
+ */
+int SWDLLEXPORT org_crosswire_sword_InstallMgr_uninstallModule
+ (SWHANDLE hInstallMgr, SWHANDLE hSWMgr_removeFrom, const char *modName);
+
+/*
+ * Class: org_crosswire_sword_InstallMgr
+ * Method: getRemoteSources
+ * Signature: ()[Ljava/lang/String;
+ */
+const char ** SWDLLEXPORT org_crosswire_sword_InstallMgr_getRemoteSources
+ (SWHANDLE hInstallMgr);
+
+/*
+ * Class: org_crosswire_sword_InstallMgr
+ * Method: refreshRemoteSource
+ * Signature: (Ljava/lang/String;)I
+ */
+int SWDLLEXPORT org_crosswire_sword_InstallMgr_refreshRemoteSource
+ (SWHANDLE hInstallMgr, const char *sourceName);
+
+/*
+ * Class: org_crosswire_sword_InstallMgr
+ * Method: getRemoteModInfoList
+ * Signature: (Lorg/crosswire/android/sword/SWMgr;Ljava/lang/String;)[Lorg/crosswire/android/sword/SWMgr/ModInfo;
+ */
+const struct org_crosswire_sword_ModInfo * SWDLLEXPORT org_crosswire_sword_InstallMgr_getRemoteModInfoList
+ (SWHANDLE hInstallMgr, SWHANDLE hSWMgr_deltaCompareTo, const char *sourceName);
+
+/*
+ * Class: org_crosswire_sword_InstallMgr
+ * Method: remoteInstallModule
+ * Signature: (Lorg/crosswire/android/sword/SWMgr;Ljava/lang/String;Ljava/lang/String;)I
+ */
+int SWDLLEXPORT org_crosswire_sword_InstallMgr_remoteInstallModule
+ (SWHANDLE hInstallMgr_from, SWHANDLE hSWMgr_to, const char *sourceName, const char *modName);
+
+/*
+ * Class: org_crosswire_sword_InstallMgr
+ * Method: getRemoteModuleByName
+ * Signature: (Ljava/lang/String;Ljava/lang/String;)Lorg/crosswire/android/sword/SWModule;
+ */
+SWHANDLE SWDLLEXPORT org_crosswire_sword_InstallMgr_getRemoteModuleByName
+ (SWHANDLE hInstallMgr, const char *sourceName, const char *modName);
+
#ifdef __cplusplus
+}
#endif
-
#endif