diff options
Diffstat (limited to 'bindings/swig/swmodule.i')
-rw-r--r-- | bindings/swig/swmodule.i | 100 |
1 files changed, 100 insertions, 0 deletions
diff --git a/bindings/swig/swmodule.i b/bindings/swig/swmodule.i new file mode 100644 index 0000000..b9a792f --- /dev/null +++ b/bindings/swig/swmodule.i @@ -0,0 +1,100 @@ +%{ +#include "swmodule.h" +using namespace sword; +%} + +class SWModule { +public: + bool terminateSearch; + + SWModule (const char *imodname = 0, const char *imoddesc = 0, SWDisplay * idisp = 0, char *imodtype = 0, SWTextEncoding encoding = ENC_UNKNOWN, SWTextDirection dir = DIRECTION_LTR, SWTextMarkup markup = FMT_UNKNOWN, const char* modlang = 0); + virtual char Error(); + virtual const bool isUnicode() const; + virtual const ConfigEntMap& getConfig() const; + virtual const char *getConfigEntry(const char *key) const; + + virtual char SetKey (const SWKey *ikey); + virtual SWKey& Key() const; + virtual SWKey *CreateKey (); + virtual const char* KeyText(const char *imodtype = 0); + virtual char Display(); + +//Search functions + static void nullPercent (char percent, void *userData); + virtual ListKey & Search (const char *istr, int searchType = 0, int flags = 0, SWKey * scope = 0, bool * justCheckIfSupported = 0, void (*percent) (char, void *) = &nullPercent, void *percentUserData = 0); + virtual signed char createSearchFramework(); + virtual bool hasSearchFramework(); + virtual bool isSearchOptimallySupported (const char *istr, int searchType, int flags, SWKey * scope); + +//navigation functions +%extend { + const bool next() { + (*self)++; + return !self->Error(); + }; + const bool prev() { + (*self)--; + return !self->Error(); + }; + const bool inc(const int howFar) { + (*self)+=howFar; + return !self->Error(); + }; + const bool dec(const int howFar) { + (*self)-=howFar; + return !self->Error(); + }; + void setPosition(SW_POSITION pos) { + (*self) = pos; + }; + void top() { + (*self) = TOP; + }; + void bottom() { + (*self) = BOTTOM; + }; +} + +//data functions +%extend { + const char* text() { + return (const char*)*self; + }; + const char* StripText() { + return self->StripText(); + }; +} + + virtual char *getRawEntry(); + + virtual void setSkipConsecutiveLinks(bool val); + virtual bool getSkipConsecutiveLinks(); + virtual AttributeTypeList &getEntryAttributes() const; + virtual void processEntryAttributes(bool val) const; + virtual bool isProcessEntryAttributes() const; + +//module info functions + virtual char* Name (const char *imodname = 0); + virtual char* Description (const char *imoddesc = 0); + virtual char* Type (const char *imodtype = 0); + virtual char Direction(signed char newdir = -1); + virtual char Encoding(signed char enc = -1); + virtual char Markup(signed char enc = -1); + virtual char* Lang (const char *imodlang = 0); + +//write interface + virtual bool isWritable (); + static signed char createModule (const char *); + virtual void setEntry (const char *inbuf, long len); + virtual void deleteEntry (); + +%extend { + void write(const char* text) { + (*self) << text; + }; + + void writeLink(const SWKey* key) { + (*self) << key; + }; +} +}; |