[sword-svn] r1962 - in trunk/bindings/swig: . vstudio

lefticus at www.crosswire.org lefticus at www.crosswire.org
Tue Aug 29 17:47:12 MST 2006


Author: lefticus
Date: 2006-08-29 17:46:47 -0700 (Tue, 29 Aug 2006)
New Revision: 1962

Added:
   trunk/bindings/swig/defs.i
   trunk/bindings/swig/lzsscomprs.i
   trunk/bindings/swig/swcacher.i
   trunk/bindings/swig/swcomprs.i
   trunk/bindings/swig/swdisp.i
   trunk/bindings/swig/swfilter.i
   trunk/bindings/swig/swlocale.i
   trunk/bindings/swig/swobject.i
   trunk/bindings/swig/swoptfilter.i
   trunk/bindings/swig/swsearchable.i
   trunk/bindings/swig/url.i
   trunk/bindings/swig/versetreekey.i
   trunk/bindings/swig/vstudio/
   trunk/bindings/swig/vstudio/SwigSword.csproj
   trunk/bindings/swig/vstudio/libsword-csharpbindings.sln
   trunk/bindings/swig/vstudio/libsword_csharpsword.vcproj
   trunk/bindings/swig/zipcomprs.i
Removed:
   trunk/bindings/swig/lzsscompress.i
   trunk/bindings/swig/swcompress.i
   trunk/bindings/swig/swposition.i
   trunk/bindings/swig/zipcompress.i
Modified:
   trunk/bindings/swig/encfiltmgr.i
   trunk/bindings/swig/listkey.i
   trunk/bindings/swig/localemgr.i
   trunk/bindings/swig/markupfiltmgr.i
   trunk/bindings/swig/rawcom.i
   trunk/bindings/swig/rawgenbook.i
   trunk/bindings/swig/rawld.i
   trunk/bindings/swig/rawld4.i
   trunk/bindings/swig/rawtext.i
   trunk/bindings/swig/swbuf.i
   trunk/bindings/swig/swcom.i
   trunk/bindings/swig/swconfig.i
   trunk/bindings/swig/swfiltermgr.i
   trunk/bindings/swig/swgenbook.i
   trunk/bindings/swig/swkey.i
   trunk/bindings/swig/swld.i
   trunk/bindings/swig/swmgr.i
   trunk/bindings/swig/swmodule.i
   trunk/bindings/swig/sword.i
   trunk/bindings/swig/swtext.i
   trunk/bindings/swig/treekey.i
   trunk/bindings/swig/treekeyidx.i
   trunk/bindings/swig/versekey.i
   trunk/bindings/swig/zcom.i
   trunk/bindings/swig/zld.i
   trunk/bindings/swig/ztext.i
Log:
Updated to new method of swig interfaces, which use the sword .h files instead of redefining the interfaces. Note, this check in may break some of the bindings (python, perl, etc) but this will be fixed in the next check in.

Added: trunk/bindings/swig/defs.i
===================================================================
--- trunk/bindings/swig/defs.i	2006-08-29 01:48:21 UTC (rev 1961)
+++ trunk/bindings/swig/defs.i	2006-08-30 00:46:47 UTC (rev 1962)
@@ -0,0 +1,6 @@
+%{
+#include "defs.h"
+%}
+
+%include "defs.h"
+

Modified: trunk/bindings/swig/encfiltmgr.i
===================================================================
--- trunk/bindings/swig/encfiltmgr.i	2006-08-29 01:48:21 UTC (rev 1961)
+++ trunk/bindings/swig/encfiltmgr.i	2006-08-30 00:46:47 UTC (rev 1962)
@@ -1,175 +1,11 @@
 %{
 #include "encfiltmgr.h"
-using namespace sword;
 %}
 
+%include "encfiltmgr.h"
 
-class EncodingFilterMgr : public SWFilterMgr {
-public:
-        EncodingFilterMgr ();
-
-        virtual ~EncodingFilterMgr();
-
-%extend {
-
-        int Encoding(int enc) {
-             return self->Encoding(char(enc));
-        }
-}
-
-        
-
-        virtual void AddRawFilters(SWModule *module, ConfigEntMap &section);
-
-        virtual void AddEncodingFilters(SWModule *module, ConfigEntMap &section);
-};
-%{
-#include "encfiltmgr.h"
-using namespace sword;
-%}
-
-
-class EncodingFilterMgr : public SWFilterMgr {
-public:
-        EncodingFilterMgr ();
-
-        virtual ~EncodingFilterMgr();
-
-%extend {
-
-        int Encoding(int enc) {
-             return self->Encoding(char(enc));
-        }
-}
-
-        
-
-        virtual void AddRawFilters(SWModule *module, ConfigEntMap &section);
-
-        virtual void AddEncodingFilters(SWModule *module, ConfigEntMap &section);
-};
-%{
-#include "encfiltmgr.h"
-using namespace sword;
-%}
-
-
-class EncodingFilterMgr : public SWFilterMgr {
-public:
-        EncodingFilterMgr ();
-
-        virtual ~EncodingFilterMgr();
-
-%extend {
-
-        int Encoding(int enc) {
-             return self->Encoding(char(enc));
-        }
-}
-
-        
-
-        virtual void AddRawFilters(SWModule *module, ConfigEntMap &section);
-
-        virtual void AddEncodingFilters(SWModule *module, ConfigEntMap &section);
-};
-%{
-#include "encfiltmgr.h"
-using namespace sword;
-%}
-
-
-class EncodingFilterMgr : public SWFilterMgr {
-public:
-        EncodingFilterMgr ();
-
-        virtual ~EncodingFilterMgr();
-
-%extend {
-
-        int Encoding(int enc) {
-             return self->Encoding(char(enc));
-        }
-}
-
-        
-
-        virtual void AddRawFilters(SWModule *module, ConfigEntMap &section);
-
-        virtual void AddEncodingFilters(SWModule *module, ConfigEntMap &section);
-};
-%{
-#include "encfiltmgr.h"
-using namespace sword;
-%}
-
-
-class EncodingFilterMgr : public SWFilterMgr {
-public:
-        EncodingFilterMgr ();
-
-        virtual ~EncodingFilterMgr();
-
-%extend {
-
-        int Encoding(int enc) {
-             return self->Encoding(char(enc));
-        }
-}
-
-        
-
-        virtual void AddRawFilters(SWModule *module, ConfigEntMap &section);
-
-        virtual void AddEncodingFilters(SWModule *module, ConfigEntMap &section);
-};
-%{
-#include "encfiltmgr.h"
-using namespace sword;
-%}
-
-
-class EncodingFilterMgr : public SWFilterMgr {
-public:
-        EncodingFilterMgr ();
-
-        virtual ~EncodingFilterMgr();
-
-%extend {
-
-        int Encoding(int enc) {
-             return self->Encoding(char(enc));
-        }
-}
-
-        
-
-        virtual void AddRawFilters(SWModule *module, ConfigEntMap &section);
-
-        virtual void AddEncodingFilters(SWModule *module, ConfigEntMap &section);
-};
-%{
-#include "encfiltmgr.h"
-using namespace sword;
-%}
-
-
-class EncodingFilterMgr : public SWFilterMgr {
-public:
-        EncodingFilterMgr ();
-
-        virtual ~EncodingFilterMgr();
-
-%extend {
-
-        int Encoding(int enc) {
-             return self->Encoding(char(enc));
-        }
-}
-
-        
-
-        virtual void AddRawFilters(SWModule *module, ConfigEntMap &section);
-
-        virtual void AddEncodingFilters(SWModule *module, ConfigEntMap &section);
-};
+%extend sword::EncodingFilterMgr {
+	static sword::EncodingFilterMgr *castTo(sword::SWFilterMgr *o) {
+		return dynamic_cast<sword::EncodingFilterMgr*>(o);
+	}
+}
\ No newline at end of file

Modified: trunk/bindings/swig/listkey.i
===================================================================
--- trunk/bindings/swig/listkey.i	2006-08-29 01:48:21 UTC (rev 1961)
+++ trunk/bindings/swig/listkey.i	2006-08-30 00:46:47 UTC (rev 1962)
@@ -1,92 +1,21 @@
 %{
 #include "listkey.h"
-using namespace sword;
 %}
 
-class ListKey : public SWKey {
-public:
-	/** initializes instance of ListKey
-	*
-	* @param ikey text key
-	*/
-	ListKey (const char *ikey = 0);
-	ListKey (ListKey const &k);
+%ignore sword::ListKey::operator<<;
 
-	/** Cleans up instance of ListKey
-	*/
-	virtual ~ ListKey ();
+%include "listkey.h"
 
-	virtual SWKey *clone () const;
-
-	/** Clears out elements of list
-	*/
-	virtual void ClearList ();
-
-	/** Returns number of elements in list
-	* @return number of elements in list
-	*/
-	virtual int Count ();
-
-	/** Removes current element from list
-	*/
-	virtual void Remove ();
-
-	/** Sets key to element number
-	*
-	* @param ielement element number to set to
-	* @return error status
-	*/
-	//virtual char SetToElement (int ielement, SW_POSITION = TOP);
+/*
 %extend {
 	virtual char SetToElement(int element) {
 		return self->SetToElement(element, TOP);
 	};
 }
+*/
 
-	/** Gets a key element number
-	*
-	* @param pos element number to get (or default current)
-	* @return Key or null on error
-	*/
-	virtual SWKey* GetElement (int pos = -1);
-
-	/** Adds an element to the list
-	* @param ikey the element to add
-	*/
-	//ListKey & operator << (const SWKey &ikey);
-	virtual void add(const SWKey &ikey);
-
-	/** Equates this ListKey to another ListKey object
-	*
-	* @param ikey other ListKey object
-	*/
-	virtual void copyFrom(const ListKey & ikey);
-	//virtual void copyFrom(const SWKey & ikey) { SWKey::copyFrom(ikey); }
-
-	/** Positions this key
-	*
-	* @param p position
-	* @return *this
-	*/
-	virtual void setPosition(SW_POSITION);
-
-	/** Decrements a number of elements
-	*/
-	virtual void decrement(int step);
-
-	/** Increments a number of elements
-	*/
-	virtual void increment(int step);
-
-	virtual char Traversable ();
-	virtual long Index () const;
-
-	/**
-	* Returns the index for the new one given as as parameter.
-	* The first parameter is the new index.
-	*/
-	virtual long Index (long index);
-
-	//SWKEY_OPERATORS
-	//ListKey & operator =(const ListKey &key) { copyFrom(key); return *this; }
-};
+%extend sword::ListKey {
+	static sword::ListKey *castTo(sword::SWKey *o) {
+		return dynamic_cast<sword::ListKey*>(o);
+	}
+}
\ No newline at end of file

Modified: trunk/bindings/swig/localemgr.i
===================================================================
--- trunk/bindings/swig/localemgr.i	2006-08-29 01:48:21 UTC (rev 1961)
+++ trunk/bindings/swig/localemgr.i	2006-08-30 00:46:47 UTC (rev 1962)
@@ -1,20 +1,8 @@
 %{
 #include <localemgr.h>
-
-using namespace std;
-using namespace sword;
 %}
 
-typedef map < SWBuf, SWLocale *, less < string > >LocaleMap;
+%ignore sword::LocaleMgr::getAvailableLocales;
 
-class LocaleMgr {
-public:
-  LocaleMgr (const char *iConfigPath = 0);
-  virtual ~LocaleMgr ();
-  virtual SWLocale *getLocale (const char *name);
-  virtual std::list < SWBuf > getAvailableLocales ();
-  virtual const char *getDefaultLocaleName();
-  virtual void setDefaultLocaleName (const char *name);
+%include "localemgr.h"
 
-  static LocaleMgr* const getSystemLocaleMgr();
-};

Deleted: trunk/bindings/swig/lzsscompress.i
===================================================================
--- trunk/bindings/swig/lzsscompress.i	2006-08-29 01:48:21 UTC (rev 1961)
+++ trunk/bindings/swig/lzsscompress.i	2006-08-30 00:46:47 UTC (rev 1962)
@@ -1,12 +0,0 @@
-%{
-#include <lzsscomprs.h>
-using namespace sword;
-%}
-
-class LZSSCompress : public SWCompress {
-public:
-  LZSSCompress ();
-  virtual ~LZSSCompress ();
-  virtual void Encode (void);
-  virtual void Decode (void);
-};

Added: trunk/bindings/swig/lzsscomprs.i
===================================================================
--- trunk/bindings/swig/lzsscomprs.i	2006-08-29 01:48:21 UTC (rev 1961)
+++ trunk/bindings/swig/lzsscomprs.i	2006-08-30 00:46:47 UTC (rev 1962)
@@ -0,0 +1,11 @@
+%{
+#include <lzsscomprs.h>
+%}
+
+%include "lzsscomprs.h"
+
+%extend sword::LZSSCompress {
+	static sword::LZSSCompress *castTo(sword::SWCompress *o) {
+		return dynamic_cast<sword::LZSSCompress*>(o);
+	}
+}
\ No newline at end of file

Modified: trunk/bindings/swig/markupfiltmgr.i
===================================================================
--- trunk/bindings/swig/markupfiltmgr.i	2006-08-29 01:48:21 UTC (rev 1961)
+++ trunk/bindings/swig/markupfiltmgr.i	2006-08-30 00:46:47 UTC (rev 1962)
@@ -3,124 +3,11 @@
 using namespace sword;
 %}
 
+%include "markupfiltmgr.h"
 
-class MarkupFilterMgr : public EncodingFilterMgr {
-public:
-        MarkupFilterMgr();
-        virtual ~MarkupFilterMgr();
 
-%extend {
-        int Markup(int markup) {
-                 return self->Markup(char(markup));
-        }
-}
-
-
-        virtual void AddRenderFilters(SWModule *module, ConfigEntMap &section);
-};
-
-%{
-#include <markupfiltmgr.h>
-using namespace sword;
-%}
-
-
-class MarkupFilterMgr : public EncodingFilterMgr {
-public:
-        MarkupFilterMgr();
-        virtual ~MarkupFilterMgr();
-
-%extend {
-        int Markup(int markup) {
-                 return self->Markup(char(markup));
-        }
-}
-
-
-        virtual void AddRenderFilters(SWModule *module, ConfigEntMap &section);
-};
-
-%{
-#include <markupfiltmgr.h>
-using namespace sword;
-%}
-
-
-class MarkupFilterMgr : public EncodingFilterMgr {
-public:
-        MarkupFilterMgr();
-        virtual ~MarkupFilterMgr();
-
-%extend {
-        int Markup(int markup) {
-                 return self->Markup(char(markup));
-        }
-}
-
-
-        virtual void AddRenderFilters(SWModule *module, ConfigEntMap &section);
-};
-
-%{
-#include <markupfiltmgr.h>
-using namespace sword;
-%}
-
-
-class MarkupFilterMgr : public EncodingFilterMgr {
-public:
-        MarkupFilterMgr();
-        virtual ~MarkupFilterMgr();
-
-%extend {
-        int Markup(int markup) {
-                 return self->Markup(char(markup));
-        }
-}
-
-
-        virtual void AddRenderFilters(SWModule *module, ConfigEntMap &section);
-};
-
-%{
-#include <markupfiltmgr.h>
-using namespace sword;
-%}
-
-
-class MarkupFilterMgr : public EncodingFilterMgr {
-public:
-        MarkupFilterMgr();
-        virtual ~MarkupFilterMgr();
-
-%extend {
-        int Markup(int markup) {
-                 return self->Markup(char(markup));
-        }
-}
-
-
-        virtual void AddRenderFilters(SWModule *module, ConfigEntMap &section);
-};
-
-%{
-#include <markupfiltmgr.h>
-using namespace sword;
-%}
-
-
-class MarkupFilterMgr : public EncodingFilterMgr {
-public:
-        MarkupFilterMgr();
-        virtual ~MarkupFilterMgr();
-
-%extend {
-        int Markup(int markup) {
-                 return self->Markup(char(markup));
-        }
-}
-
-
-        virtual void AddRenderFilters(SWModule *module, ConfigEntMap &section);
-};
-
+%extend sword::MarkupFilterMgr {
+	static sword::MarkupFilterMgr *castTo(sword::EncodingFilterMgr *o) {
+		return dynamic_cast<sword::MarkupFilterMgr*>(o);
+	}
+}
\ No newline at end of file

Modified: trunk/bindings/swig/rawcom.i
===================================================================
--- trunk/bindings/swig/rawcom.i	2006-08-29 01:48:21 UTC (rev 1961)
+++ trunk/bindings/swig/rawcom.i	2006-08-30 00:46:47 UTC (rev 1962)
@@ -1,15 +1,14 @@
 %{
 #include "rawcom.h"
-using namespace sword;
 %}
 
-class RawCom : public SWCom {
-public:
-     RawCom (const char *ipath, const char *iname = 0, const char *idesc = 0,
-		SWDisplay * idisp = 0, SWTextEncoding encoding = ENC_UNKNOWN, SWTextDirection dir = DIRECTION_LTR, SWTextMarkup markup = FMT_UNKNOWN,
-                const char* ilang = 0);
-     virtual ~ RawCom ();
-     
-     static char createModule (const char *path);
-};
 
+%include "rawcom.h"
+
+
+
+%extend sword::RawCom {
+	static sword::RawCom *castTo(sword::SWCom *o) {
+		return dynamic_cast<sword::RawCom*>(o);
+	}
+}
\ No newline at end of file

Modified: trunk/bindings/swig/rawgenbook.i
===================================================================
--- trunk/bindings/swig/rawgenbook.i	2006-08-29 01:48:21 UTC (rev 1961)
+++ trunk/bindings/swig/rawgenbook.i	2006-08-30 00:46:47 UTC (rev 1962)
@@ -1,22 +1,12 @@
 %{
 #include "rawgenbook.h"
-#include "treekeyidx.h"
-#include "swkey.h"
-using namespace sword;
 %}
 
-class RawGenBook : public SWGenBook {
-public:
-	RawGenBook (const char *ipath, const char *iname = 0, const char *idesc = 0, SWDisplay * idisp = 0, SWTextEncoding encoding = ENC_UNKNOWN, SWTextDirection dir = DIRECTION_LTR, SWTextMarkup markup = FMT_UNKNOWN, const char* ilang = 0);
-	virtual ~ RawGenBook ();
-	
-	static char createModule (const char *ipath);
+%include "rawgenbook.h"
 
-%extend {
-	TreeKeyIdx* getTreeKey() {
-		return ( (TreeKeyIdx *) ( (SWKey *) (*self) ) );
-	};
-}
-};
-
-
+%extend sword::RawGenBook {
+	static sword::RawGenBook *castTo(sword::SWGenBook *o) {
+		return dynamic_cast<sword::RawGenBook*>(o);
+	}
+	
+}
\ No newline at end of file

Modified: trunk/bindings/swig/rawld.i
===================================================================
--- trunk/bindings/swig/rawld.i	2006-08-29 01:48:21 UTC (rev 1961)
+++ trunk/bindings/swig/rawld.i	2006-08-30 00:46:47 UTC (rev 1962)
@@ -1,13 +1,12 @@
 %{
 #include "rawld.h"
-using namespace sword;
 %}
 
-class RawLD : public SWLD {
-public:
-    RawLD (const char *ipath, const char *iname = 0, const char *idesc =  0, SWDisplay * idisp = 0, SWTextEncoding encoding = ENC_UNKNOWN, SWTextDirection dir = DIRECTION_LTR, SWTextMarkup markup = FMT_UNKNOWN, const char* ilang = 0);
-    virtual ~RawLD ();
-    
-    static char createModule (const char *path);
-};
+%include "rawld.h"
 
+%extend sword::RawLD {
+	static sword::RawLD *castTo(sword::SWLD *o) {
+		return dynamic_cast<sword::RawLD*>(o);
+	}
+
+}
\ No newline at end of file

Modified: trunk/bindings/swig/rawld4.i
===================================================================
--- trunk/bindings/swig/rawld4.i	2006-08-29 01:48:21 UTC (rev 1961)
+++ trunk/bindings/swig/rawld4.i	2006-08-30 00:46:47 UTC (rev 1962)
@@ -1,13 +1,12 @@
 %{
 #include "rawld4.h"
-using namespace sword;
 %}
 
-class RawLD4 : public SWLD {
-public:
-    RawLD4(const char *ipath, const char *iname = 0, const char *idesc =  0, SWDisplay * idisp = 0, SWTextEncoding encoding = ENC_UNKNOWN, SWTextDirection dir = DIRECTION_LTR, SWTextMarkup markup = FMT_UNKNOWN, const char* ilang = 0);
-    virtual ~RawLD4();
-    
-    static char createModule (const char *path);
-};
+%include "rawld4.h"
 
+%extend sword::RawLD4 {
+	static sword::RawLD4 *castTo(sword::SWLD *o) {
+		return dynamic_cast<sword::RawLD4*>(o);
+	}
+
+}
\ No newline at end of file

Modified: trunk/bindings/swig/rawtext.i
===================================================================
--- trunk/bindings/swig/rawtext.i	2006-08-29 01:48:21 UTC (rev 1961)
+++ trunk/bindings/swig/rawtext.i	2006-08-30 00:46:47 UTC (rev 1962)
@@ -1,12 +1,12 @@
 %{
 #include "rawtext.h"
-using namespace sword;
 %}
 
-class RawText : public SWText {
-public:
-        RawText (const char *ipath, const char *iname = 0, const char *idesc = 0, SWDisplay * idisp = 0, SWTextEncoding encoding = ENC_UNKNOWN, SWTextDirection dir = DIRECTION_LTR, SWTextMarkup markup = FMT_UNKNOWN, const char* ilang = 0);
+%include "rawtext.h"
 
-	static char createModule (const char *path) { return RawVerse::createModule (path); }
-};
 
+%extend sword::RawText {
+	static sword::RawText *castTo(sword::SWText *o) {
+		return dynamic_cast<sword::RawText*>(o);
+	}	
+}
\ No newline at end of file

Modified: trunk/bindings/swig/swbuf.i
===================================================================
--- trunk/bindings/swig/swbuf.i	2006-08-29 01:48:21 UTC (rev 1961)
+++ trunk/bindings/swig/swbuf.i	2006-08-30 00:46:47 UTC (rev 1962)
@@ -1,65 +1,30 @@
 %{
 #include "swbuf.h"
-using namespace sword;
 %}
 
-class SWBuf {
-public:
-  	SWBuf(const char *initVal = 0);
-	SWBuf(char initVal);
-	SWBuf(const SWBuf &other);
-	virtual ~SWBuf();
+%ignore sword::SWBuf::operator const char *;
+%ignore sword::SWBuf::operator[];
+%ignore sword::SWBuf::operator+;
+%ignore sword::SWBuf::operator==;
+%ignore sword::SWBuf::operator!=;
+%ignore sword::SWBuf::operator+=;
+%ignore sword::SWBuf::operator-=;
+%ignore sword::SWBuf::operator<=;
+%ignore sword::SWBuf::operator>=;
+%ignore sword::SWBuf::operator<;
+%ignore sword::SWBuf::operator>;
+%ignore sword::SWBuf::operator<<;
+%ignore sword::SWBuf::operator>>;
+%ignore sword::SWBuf::operator=;
+%ignore sword::SWBuf::operator--;
+%ignore sword::SWBuf::charAt(unsigned long);
 
-	inline void setFillByte(char ch) { fillByte = ch; }
-	inline char getFillByte() { return fillByte; }
-	inline const char *c_str() const;
-	inline char &charAt(unsigned int pos) { return ((pos <= (unsigned int)(end - buf)) ? buf[pos] : nullStr[0]); }
-	inline unsigned int size() const { return length(); }
-	inline unsigned int length() const { return end - buf; }
+%include "swbuf.h"
 
-	void set(const char *newVal);
-	void set(const SWBuf &newVal);
-	void setSize(unsigned int len);
-	void append(const char *str, int max = -1);
-	inline void append(const SWBuf &str, int max = -1) { append(str.c_str(), max); }
-	inline void append(char ch);
-	void appendFormatted(const char *format, ...);
 
-	inline char *getRawData();
-
-	/*
-	inline operator const char *() const { return c_str(); }
-	inline char &operator[](unsigned int pos) { return charAt(pos); }
-	inline char &operator[](int pos) { return charAt((unsigned int)pos); }
-	inline SWBuf &operator =(const char *newVal) { set(newVal); return *this; }
-	inline SWBuf &operator =(const SWBuf &other) { set(other); return *this; }
-	inline SWBuf &operator +=(const char *str) { append(str); return *this; }
-	inline SWBuf &operator +=(char ch) { append(ch); return *this; }
-	inline SWBuf &operator -=(unsigned int len) { setSize(length()-len); return *this; }
-	inline SWBuf &operator --(int) { operator -=(1); return *this; }
-	inline SWBuf operator +(const SWBuf &other) const {
-		SWBuf retVal = buf;
-		retVal += other;
-		return retVal;
-	}
-	inline SWBuf operator +(char ch) const { return (*this) + SWBuf(ch); }
-	*/
-
-	int compare(const SWBuf &other) const;
-
-	/*
-	inline bool operator ==(const SWBuf &other) const;
-	inline bool operator !=(const SWBuf &other) const;
-	inline bool operator > (const SWBuf &other) const;
-	inline bool operator < (const SWBuf &other) const;
-	inline bool operator <=(const SWBuf &other) const;
-	inline bool operator >=(const SWBuf &other) const;
-
-	inline bool operator ==(const char *other) const;
-	inline bool operator !=(const char *other) const;
-	inline bool operator > (const char *other) const;
-	inline bool operator < (const char *other) const;
-	inline bool operator <=(const char *other) const;
-	inline bool operator >=(const char *other) const;
-	*/
+%extend sword::SWBuf {
+        char charAt2(unsigned int pos) {
+                return self->charAt((unsigned long)pos);
+        }
 };
+

Added: trunk/bindings/swig/swcacher.i
===================================================================
--- trunk/bindings/swig/swcacher.i	2006-08-29 01:48:21 UTC (rev 1961)
+++ trunk/bindings/swig/swcacher.i	2006-08-30 00:46:47 UTC (rev 1962)
@@ -0,0 +1,6 @@
+%{
+#include "swcacher.h"
+%}
+
+%include "swcacher.h"
+

Modified: trunk/bindings/swig/swcom.i
===================================================================
--- trunk/bindings/swig/swcom.i	2006-08-29 01:48:21 UTC (rev 1961)
+++ trunk/bindings/swig/swcom.i	2006-08-30 00:46:47 UTC (rev 1962)
@@ -1,11 +1,14 @@
 %{
 #include "swcom.h"
-using namespace sword;
 %}
 
-class SWCom : public SWModule {
-protected:
-  SWCom(const char *imodname = 0, const char *imoddesc = 0, SWDisplay * idisp = 0, SWTextEncoding enc = ENC_UNKNOWN, SWTextDirection dir = DIRECTION_LTR, SWTextMarkup mark = FMT_UNKNOWN, const char* ilang = 0);
-  virtual ~SWCom();
-};
+%ignore sword::SWCom::SWCom;
 
+%include "swcom.h"
+
+%extend sword::SWCom {
+	/* C++-style cast */
+	static sword::SWCom *castTo(sword::SWModule *o) {
+		return dynamic_cast<sword::SWCom*>(o);
+	}
+}
\ No newline at end of file

Deleted: trunk/bindings/swig/swcompress.i
===================================================================
--- trunk/bindings/swig/swcompress.i	2006-08-29 01:48:21 UTC (rev 1961)
+++ trunk/bindings/swig/swcompress.i	2006-08-30 00:46:47 UTC (rev 1962)
@@ -1,17 +0,0 @@
-%{
-#include <swcomprs.h>
-using namespace sword;
-%}
-
-class SWCompress {
-public:
-  SWCompress();
-  virtual ~SWCompress();
-
-  virtual char *Buf (const char *buf = 0, unsigned long *len = 0);
-  virtual char *zBuf (unsigned long *len, char *buf = 0);
-  virtual unsigned long GetChars (char *buf, unsigned long len);
-  virtual unsigned long SendChars (char *buf, unsigned long len);
-  virtual void Encode (void);
-  virtual void Decode (void);
-};

Added: trunk/bindings/swig/swcomprs.i
===================================================================
--- trunk/bindings/swig/swcomprs.i	2006-08-29 01:48:21 UTC (rev 1961)
+++ trunk/bindings/swig/swcomprs.i	2006-08-30 00:46:47 UTC (rev 1962)
@@ -0,0 +1,10 @@
+%{
+#include <swcomprs.h>
+%}
+
+%ignore sword::SWCompress::Buf;
+%ignore sword::SWCompress::zBuf;
+%ignore sword::SWCompress::GetChars;
+%ignore sword::SWCompress::SendChars;
+
+%include "swcomprs.h"

Modified: trunk/bindings/swig/swconfig.i
===================================================================
--- trunk/bindings/swig/swconfig.i	2006-08-29 01:48:21 UTC (rev 1961)
+++ trunk/bindings/swig/swconfig.i	2006-08-30 00:46:47 UTC (rev 1962)
@@ -1,37 +1,16 @@
 %{
-#include <stdio.h>
-#include <string>
-#include <map>
-#include <defs.h>
-#include <multimapwdef.h>
 #include "swconfig.h"
-
-using namespace sword;
-using namespace std;
 %}
 
-%include "std_vector.i"
-%include "std_string.i"
-%include "typemaps.i"
+%ignore sword::SWConfig::operator[];
+%ignore sword::SWConfig::operator+=;
+%ignore sword::SWConfig::sections;
+%ignore sword::SWConfig::Sections;
 
+%include "swconfig.h"
 
-typedef multimapwithdefault < SWBuf, SWBuf, less < SWBuf > > ConfigEntMap;
-typedef map < SWBuf, ConfigEntMap, less < SWBuf > > SectionMap;
 
-class SWConfig {
-public:
-  //member data
-  SWBuf filename;
-  SectionMap Sections;
-
-  //member functions
-  SWConfig(const char *ifilename);
-  virtual ~ SWConfig();
-
-  virtual void Load();
-  virtual void Save();
-
-%extend {
+%extend sword::SWConfig {
   void set(const char* group, const char* entry, const char* value) {
 	self->Sections[group][entry] = value;
   };
@@ -40,4 +19,3 @@
   };
 }
 
-};

Added: trunk/bindings/swig/swdisp.i
===================================================================
--- trunk/bindings/swig/swdisp.i	2006-08-29 01:48:21 UTC (rev 1961)
+++ trunk/bindings/swig/swdisp.i	2006-08-30 00:46:47 UTC (rev 1962)
@@ -0,0 +1,5 @@
+%{
+#include "swdisp.h"
+%}
+
+%include "swdisp.h"

Added: trunk/bindings/swig/swfilter.i
===================================================================
--- trunk/bindings/swig/swfilter.i	2006-08-29 01:48:21 UTC (rev 1961)
+++ trunk/bindings/swig/swfilter.i	2006-08-30 00:46:47 UTC (rev 1962)
@@ -0,0 +1,7 @@
+%{
+#include <swfilter.h>
+%}
+
+%ignore sword::SWFilter::getOptionValues;
+
+%include "swfilter.h"

Modified: trunk/bindings/swig/swfiltermgr.i
===================================================================
--- trunk/bindings/swig/swfiltermgr.i	2006-08-29 01:48:21 UTC (rev 1961)
+++ trunk/bindings/swig/swfiltermgr.i	2006-08-30 00:46:47 UTC (rev 1962)
@@ -1,22 +1,12 @@
 %{
 #include <swfiltermgr.h>
-using namespace sword;
 %}
 
-class SWFilterMgr {
-  SWFilterMgr ();
-  virtual ~SWFilterMgr ();
+%ignore sword::SWFilterMgr::AddGlobalOptions;
+%ignore sword::SWFilterMgr::AddLocalOptions;
+%ignore sword::SWFilterMgr::AddEncodingFilters;
+%ignore sword::SWFilterMgr::AddRenderFilters;
+%ignore sword::SWFilterMgr::AddStripFilters;
+%ignore sword::SWFilterMgr::AddRawFilters;
 
-  virtual void setParentMgr(SWMgr *parentMgr);
-  virtual SWMgr *getParentMgr();
-  virtual void AddGlobalOptions (SWModule * module, ConfigEntMap & section,
-				 ConfigEntMap::iterator start,
-				 ConfigEntMap::iterator end);
-  virtual void AddLocalOptions (SWModule * module, ConfigEntMap & section,
-				ConfigEntMap::iterator start,
-				ConfigEntMap::iterator end);
-  virtual void AddEncodingFilters (SWModule * module, ConfigEntMap & section);
-  virtual void AddRenderFilters (SWModule * module, ConfigEntMap & section);
-  virtual void AddStripFilters (SWModule * module, ConfigEntMap & section);
-  virtual void AddRawFilters (SWModule * module, ConfigEntMap & section);
-};
+%include "swfiltermgr.h"

Modified: trunk/bindings/swig/swgenbook.i
===================================================================
--- trunk/bindings/swig/swgenbook.i	2006-08-29 01:48:21 UTC (rev 1961)
+++ trunk/bindings/swig/swgenbook.i	2006-08-30 00:46:47 UTC (rev 1962)
@@ -1,11 +1,11 @@
 %{
 #include "swgenbook.h"
-using namespace sword;
 %}
 
-class SWGenBook : public SWModule {
-protected:
-	SWGenBook(const char *imodname = 0, const char *imoddesc = 0, SWDisplay * idisp = 0, SWTextEncoding encoding = ENC_UNKNOWN, SWTextDirection dir = DIRECTION_LTR, SWTextMarkup markup = FMT_UNKNOWN, const char* ilang = 0);
-	virtual ~SWGenBook();
-};
+%include "swgenbook.h"
 
+%extend sword::SWGenBook {
+	static sword::SWGenBook *castTo(sword::SWModule *o) {
+		return dynamic_cast<sword::SWGenBook*>(o);
+	}
+}
\ No newline at end of file

Modified: trunk/bindings/swig/swkey.i
===================================================================
--- trunk/bindings/swig/swkey.i	2006-08-29 01:48:21 UTC (rev 1961)
+++ trunk/bindings/swig/swkey.i	2006-08-30 00:46:47 UTC (rev 1962)
@@ -1,75 +1,53 @@
 %{
 #include "swkey.h"
-#include "versekey.h"
-using namespace sword;
 %}
 
-class SW_POSITION {
-public:
-  SW_POSITION(char ipos);
-};
+%ignore sword::SWKey::operator++;
+%ignore sword::SWKey::operator+=;
+%ignore sword::SWKey::operator--;
+%ignore sword::SWKey::operator-;
+%ignore sword::SWKey::operator-=;
+%ignore sword::SWKey::operator=;
+%ignore sword::SWKey::operator==;
+%ignore sword::SWKey::operator<;
+%ignore sword::SWKey::operator>;
+%ignore sword::SWKey::operator!=;
+%ignore sword::SWKey::operator>=;
+%ignore sword::SWKey::operator<=;
+%ignore sword::SWKey::operator const char *;
 
-#define POS_TOP ((char)1)
-#define POS_BOTTOM ((char)2)
+%ignore sword::SWKey::userData;
 
-#define TOP SW_POSITION(POS_TOP)
-#define BOTTOM SW_POSITION(POS_BOTTOM)
+%rename (getPosition) sword::SW_POSITION::operator char;
 
-/**
-* The SWKey class for the SWIG-Perl interface.
-*/
-class SWKey {
-public:
-  SWKey(const char *ikey = 0);
-  SWKey(SWKey const &k);
-  virtual SWKey *clone () const;
-  virtual ~SWKey();
+%include "swkey.h"
 
-  char Persist() const;
 
-%extend {
-  void setPersist(signed char persists) {
-  	self->Persist(persists);
-  };
-}
+//%extend {
+//  void setPersist(signed char persists) {
+//  	self->Persist(persists);
+//  };
+//}
 
-  virtual char Error ();
-
-  virtual void setText(const char *ikey);
-  virtual const char *getText() const;
-  virtual const char *getShortText() const;
-
-  virtual int compare (const SWKey & ikey);
-  virtual bool equals(const SWKey &ikey);
-  //virtual void setPosition(SW_POSITION);
-
-  virtual void decrement(int steps = 1);
-  virtual void increment(int steps = 1);
-  virtual char Traversable ();
-
-  virtual long Index() const;
-  //virtual long Index(long iindex);
-  
-%extend {
-  /**
-  * Goes to the next key. Only useful for VerseKeys at the moment.
-  */
-  void next() {
-  	(*self)++;
-  };
-  void prev() {
-  	(*self)++;
-  };
-  void setKey(const SWKey* key) {
-  	self->copyFrom(*key);
-  };
-  
-  /**
-  * We define here some casting functions since Perl etc. don't support casts of pointers.
-  */
-  VerseKey* toVerseKey() {
-	return dynamic_cast<VerseKey*>(self);
-  };
-}
-
-};
+ 
+//%extend {
+//  /**
+//  * Goes to the next key. Only useful for VerseKeys at the moment.
+//  */
+//  void next() {
+//  	(*self)++;
+//  };
+//  void prev() {
+//  	(*self)++;
+//  };
+//  void setKey(const SWKey* key) {
+//  	self->copyFrom(*key);
+//  };
+//  
+//  /**
+//  * We define here some casting functions since Perl etc. don't support casts of pointers.
+//  */
+//  VerseKey* toVerseKey() {
+//	return dynamic_cast<VerseKey*>(self);
+//  };
+//}

Modified: trunk/bindings/swig/swld.i
===================================================================
--- trunk/bindings/swig/swld.i	2006-08-29 01:48:21 UTC (rev 1961)
+++ trunk/bindings/swig/swld.i	2006-08-30 00:46:47 UTC (rev 1962)
@@ -1,11 +1,13 @@
 %{
 #include "swld.h"
-using namespace sword;
 %}
 
-class SWLD : public SWModule {
-public:
-  SWLD (const char *imodname = 0, const char *imoddesc = 0, SWDisplay * idisp = 0, SWTextEncoding encoding = ENC_UNKNOWN, SWTextDirection dir = DIRECTION_LTR, SWTextMarkup markup = FMT_UNKNOWN, const char* ilang = 0);
-  virtual ~ SWLD ();
-};
+%ignore sword::SWLD::SWLD;
 
+%include "swld.h"
+
+%extend sword::SWLD {
+	static sword::SWLD *castTo(sword::SWModule *o) {
+		return dynamic_cast<sword::SWLD*>(o);
+	}
+}
\ No newline at end of file

Added: trunk/bindings/swig/swlocale.i
===================================================================
--- trunk/bindings/swig/swlocale.i	2006-08-29 01:48:21 UTC (rev 1961)
+++ trunk/bindings/swig/swlocale.i	2006-08-30 00:46:47 UTC (rev 1962)
@@ -0,0 +1,31 @@
+%{
+#include "swlocale.h"
+%}
+
+%ignore sword::SWLocale::operator+=;
+%ignore sword::SWLocale::getBooks;
+
+%include "swlocale.h"
+
+%extend sword::SWLocale {
+        int getNumBookGroupings() {
+                return 2;
+        }
+
+        int getNumBooks(int grouping) {
+                char *numbooks;
+                struct sbook **books;
+
+                self->getBooks(&numbooks, &books);
+
+                return numbooks[grouping];
+        }
+
+        sbook getBook(int grouping, int booknum) {
+                char *numbooks;
+                struct sbook **books;
+                self->getBooks(&numbooks, &books);
+
+                return books[grouping][booknum];
+        }
+};

Modified: trunk/bindings/swig/swmgr.i
===================================================================
--- trunk/bindings/swig/swmgr.i	2006-08-29 01:48:21 UTC (rev 1961)
+++ trunk/bindings/swig/swmgr.i	2006-08-30 00:46:47 UTC (rev 1962)
@@ -1,49 +1,28 @@
+%include "std_map.i"
+
+%template() std::pair<sword::SWBuf, sword::SWModule*>;
+%template(ModuleMap) std::map<sword::SWBuf, sword::SWModule*>;
+
 %{
 #include <swmgr.h>
-using namespace sword;
 %}
 
-typedef map < SWBuf, SWModule *, less < SWBuf > > ModMap;
-typedef list < SWBuf > StringList;
-typedef map < SWBuf, SWFilter * > FilterMap;
+%ignore sword::SWMgr::Modules;
+%ignore sword::SWMgr::findConfig;
+%ignore sword::SWMgr::getGlobalOptions;
+%ignore sword::SWMgr::getGlobalOptionValues;
+%include "swmgr.h"
 
-class SWMgr {
-public:
-//member data
-  static void findConfig (char *configType, char **prefixPath, char **configPath);
-
-  SWConfig *config;
-  SWConfig *sysconfig;
-  ModMap Modules;
-  char *prefixPath;
-  char *configPath;
-
-//member functions
-  SWMgr (SWConfig* iconfig = 0, SWConfig* isysconfig = 0, bool autoload = true, SWFilterMgr* filterMgr = 0);
-  SWMgr(const char *iConfigPath, bool autoload = true, SWFilterMgr *filterMgr = 0);
-  virtual ~SWMgr();
-
-  virtual signed char Load ();
-  virtual void setGlobalOption (const char *option, const char *value);
-  virtual const char *getGlobalOption (const char *option);
-  virtual const char *getGlobalOptionTip (const char *option);
-  virtual StringList getGlobalOptions ();
-  virtual StringList getGlobalOptionValues (const char *option);
-  virtual signed char setCipherKey (const char *modName, const char *key);
+%extend sword::SWMgr {
+        std::map<sword::SWBuf, sword::SWModule*> &getModules() {
+          return self->Modules;
+        }
 	
-  SWModule *getModule(const char *modName);
-  virtual void InstallScan(const char *dir);
-  
-%extend {
-	const int moduleCount() {
-		return self->Modules.size();
-	}
-	
 	SWModule* getModuleAt( const int pos ) {
 		if (pos < 0 || pos > self->Modules.size() )
 			return 0;
 	
-		ModMap::iterator it = self->Modules.begin(); 
+		sword::ModMap::iterator it = self->Modules.begin(); 
 		
 		for (int i = 0; i < pos; ++i) {
 			it++;
@@ -56,4 +35,3 @@
 		return 0;
 	}
 } 
-};

Modified: trunk/bindings/swig/swmodule.i
===================================================================
--- trunk/bindings/swig/swmodule.i	2006-08-29 01:48:21 UTC (rev 1961)
+++ trunk/bindings/swig/swmodule.i	2006-08-30 00:46:47 UTC (rev 1962)
@@ -1,110 +1,58 @@
-%{
-#include "swmodule.h"
-using namespace sword;
-%}
-
+%include "stl.i"
+%include "std_pair.i"
 %include "std_map.i"
 
-typedef std::map < SWBuf, SWBuf > AttributeValue;
-typedef std::map < SWBuf, AttributeValue > AttributeList;
-typedef std::map < SWBuf, AttributeList > AttributeTypeList;
 
-%template(AttributeValue) std::map<SWBuf, SWBuf>;
-%template(AttributeList) std::map<SWBuf, AttributeValue>;
-%template(AttributeTypeList) std::map<SWBuf, AttributeList>;
+%inline %{
+typedef std::map< sword::SWBuf, sword::SWBuf > AttributeValueMap;
+typedef std::map< sword::SWBuf, AttributeValueMap> AttributeListMap;
+typedef std::map< sword::SWBuf, AttributeListMap> AttributetypeListMap; 
+%}
 
-class SWModule {
-public:
-  bool terminateSearch;
+%template() std::pair <sword::SWBuf, sword::SWBuf>;
+%template(AttributeValueMap) std::map < sword::SWBuf, sword::SWBuf >;
+%template() std::pair <sword::SWBuf, AttributeValueMap>;
+%template(AttributeListMap) std::map < sword::SWBuf, AttributeValueMap>;
+%template() std::pair < sword::SWBuf, AttributeListMap>;
+%template(AttributeTypeListMap) std::map < sword::SWBuf, AttributeListMap>;
 
-  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;
+%{
+#include "swmodule.h"
+%}
 
-  virtual char SetKey (const SWKey *ikey);
-  virtual SWKey& Key() const;
-  virtual SWKey *CreateKey ();
-  virtual const char* KeyText(const char *imodtype = 0);
-  virtual char Display();
+%warnfilter(401) sword::SWModule;
 
-//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);
+%ignore sword::SWModule::operator const char *;
+%ignore sword::SWModule::operator sword::SWKey &;
+%ignore sword::SWModule::operator sword::SWKey *;
+%ignore sword::SWModule::operator +=;
+%ignore sword::SWModule::operator -=;
+%ignore sword::SWModule::operator <<;
+%ignore sword::SWModule::operator ++;
+%ignore sword::SWModule::operator --;
+%ignore sword::SWModule::operator =;
 
-//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;
-  };
-}
+%ignore sword::SWModule::Search;
 
-//data functions
-%extend {
-  const char* text() {
-  	return (const char*)*self;
-  };
-  const char* StripText() {
-  	return self->StripText();
-  };
-}
+%ignore sword::SWModule::SWModule;
+%ignore sword::SWModule::filterBuffer;
+%ignore sword::SWModule::getEntryAttributes;
+%ignore sword::SWModule::getConfig;
+%ignore sword::SWModule::setConfig;
 
-  virtual char *getRawEntry();
+%include "swmodule.h"
 
-  virtual void setSkipConsecutiveLinks(bool val);
-  virtual bool getSkipConsecutiveLinks();
-  virtual AttributeTypeList &getEntryAttributes() const;
-  virtual void processEntryAttributes(bool val) const;
-  virtual bool isProcessEntryAttributes() const;
+%extend sword::SWModule {
+	
+	static sword::SWModule *castTo(sword::SWSearchable *o) {
+		return dynamic_cast<sword::SWModule*>(o);
+	}
 
-//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;
-  };
+    std::map < sword::SWBuf, std::map < sword::SWBuf, std::map < sword::SWBuf, sword::SWBuf > > > 
+    
+      &getEntryAttributesMap() {
+            return self->getEntryAttributes();
+    }
 }
-};
+

Added: trunk/bindings/swig/swobject.i
===================================================================
--- trunk/bindings/swig/swobject.i	2006-08-29 01:48:21 UTC (rev 1961)
+++ trunk/bindings/swig/swobject.i	2006-08-30 00:46:47 UTC (rev 1962)
@@ -0,0 +1,7 @@
+%{
+#include "swobject.h"
+%}
+
+%ignore sword::SWClass::SWClass;
+
+%include "swobject.h"

Added: trunk/bindings/swig/swoptfilter.i
===================================================================
--- trunk/bindings/swig/swoptfilter.i	2006-08-29 01:48:21 UTC (rev 1961)
+++ trunk/bindings/swig/swoptfilter.i	2006-08-30 00:46:47 UTC (rev 1962)
@@ -0,0 +1,13 @@
+%{
+#include "swoptfilter.h"
+%}
+
+%ignore sword::SWOptionFilter::getOptionValues;
+
+%include "swoptfilter.h"
+
+%extend sword::SWOptionFilter {
+	static sword::SWOptionFilter *castTo(sword::SWFilter *o) {
+		return dynamic_cast<sword::SWOptionFilter*>(o);
+	}
+}
\ No newline at end of file

Modified: trunk/bindings/swig/sword.i
===================================================================
--- trunk/bindings/swig/sword.i	2006-08-29 01:48:21 UTC (rev 1961)
+++ trunk/bindings/swig/sword.i	2006-08-30 00:46:47 UTC (rev 1962)
@@ -1,42 +1,47 @@
-/** @mainpage
-* This is the API documentation of the SWIG interface to Sword!<BR>
-* The interface contains the most useful classes of Sword to read, navigate and create/write modules. The SWIG intreface is interesting
-* for all who want to write Perl/PHP/Phyton/Ruby/TCL/Java code using the Sword library.<BR>
-* My aim is to support all who do so much work for the Sword project (Troy, Chris and all the others) and to make their work more easy with the SWIG interface.
-* The interface tries to use the function names of the Sword C++ API, but since operators are not (yet) supported in SWIG there are some additions to the functions, the operators can't be used.<BR>
-* Here are the basic classes you should know of:
-* @ref SWMgr, SWModule, SWKey, VerseKey and SWConfig.
-*/
+%include <stl.i>
+%include <std_map.i>
 
-%module Sword
-%{
-#undef bool
-#undef assert
-#undef LOCAL
-#undef list
-%}
+#define SWDLLEXPORT  
 
-%include "../../include/defs.h"
+%include "defs.i"
 
+%include "swbuf.i"
+
 %include "swconfig.i"
-%include "swmgr.i"
-%include "swmodule.i"
+%include "swobject.i"
 
+
 %include "swkey.i"
+%include "listkey.i"
 %include "versekey.i"
-%include "listkey.i"
 %include "treekey.i"
 %include "treekeyidx.i"
+%include "versetreekey.i"
 
-%include "localemgr.i"
+%include "swdisp.i"
+
+%include "swfilter.i"
+%include "swoptfilter.i"
 %include "swfiltermgr.i"
+
+
+%include "swsearchable.i"
+//%include "swcacher.i"
+%include "swmodule.i"
+
+
+%include "swmgr.i"
+
 %include "encfiltmgr.i"
 %include "markupfiltmgr.i"
 
-%include "swtext.i"
-%include "rawtext.i"
-%include "ztext.i"
+%include "swlocale.i"
 
+%include "swcomprs.i"
+%include "lzsscomprs.i"
+%include "zipcomprs.i"
+
+
 %include "swcom.i"
 %include "rawcom.i"
 %include "zcom.i"
@@ -49,8 +54,10 @@
 %include "rawld4.i"
 %include "zld.i"
 
-%include "swcompress.i"
-%include "lzsscompress.i"
-%include "zipcompress.i"
+%include "swtext.i"
+%include "rawtext.i"
+%include "ztext.i"
 
-%include "swbuf.i"
+%include "localemgr.i"
+
+%include "url.i"

Deleted: trunk/bindings/swig/swposition.i
===================================================================
--- trunk/bindings/swig/swposition.i	2006-08-29 01:48:21 UTC (rev 1961)
+++ trunk/bindings/swig/swposition.i	2006-08-30 00:46:47 UTC (rev 1962)
@@ -1,15 +0,0 @@
-%{
-#include "swkey.h"
-using namespace sword;
-%}
-
-class SW_POSITION {
-public:
-  SW_POSITION(char ipos);
-};
-
-%define POS_TOP ((char)1)
-%define POS_BOTTOM ((char)2)
-
-%define TOP SW_POSITION(POS_TOP)
-%define BOTTOM SW_POSITION(POS_BOTTOM)

Added: trunk/bindings/swig/swsearchable.i
===================================================================
--- trunk/bindings/swig/swsearchable.i	2006-08-29 01:48:21 UTC (rev 1961)
+++ trunk/bindings/swig/swsearchable.i	2006-08-30 00:46:47 UTC (rev 1962)
@@ -0,0 +1,25 @@
+%{
+#include "swsearchable.h"
+%}
+
+%ignore sword::SWSearchable::search;
+%ignore sword::SWSearchable::createSearchFramework;
+%ignore sword::SWSearchable::nullPercent;
+
+%include "swsearchable.h"
+
+%extend sword::SWSearchable {
+        bool isSearchSupported(const char *istr, int searchType = 0,
+                                  int flags = 0,
+                SWKey * scope = 0) {
+                bool checksupported = true;
+                self->search(istr, searchType, flags, scope, &checksupported);
+                return checksupported;
+        }
+
+        ListKey &doSearch(const char *istr, int searchType = 0, int flags = 0,
+                          SWKey *scope = 0) {
+                return self->search(istr, searchType, flags, scope);
+        }
+};
+

Modified: trunk/bindings/swig/swtext.i
===================================================================
--- trunk/bindings/swig/swtext.i	2006-08-29 01:48:21 UTC (rev 1961)
+++ trunk/bindings/swig/swtext.i	2006-08-30 00:46:47 UTC (rev 1962)
@@ -1,11 +1,13 @@
 %{
 #include "swtext.h"
-using namespace sword;
 %}
 
-class SWText : public SWModule {
-public:
-  SWText (const char *imodname = 0, const char *imoddesc = 0, SWDisplay * idisp = 0, SWTextEncoding encoding = ENC_UNKNOWN, SWTextDirection dir = DIRECTION_LTR, SWTextMarkup markup = FMT_UNKNOWN, const char* ilang = 0);
-  virtual ~ SWText ();
-};
+%ignore sword::SWText::SWText;
 
+%include "swtext.h"
+
+%extend sword::SWText {
+	static sword::SWText *castTo(sword::SWModule *o) {
+		return dynamic_cast<sword::SWText*>(o);
+	}
+}
\ No newline at end of file

Modified: trunk/bindings/swig/treekey.i
===================================================================
--- trunk/bindings/swig/treekey.i	2006-08-29 01:48:21 UTC (rev 1961)
+++ trunk/bindings/swig/treekey.i	2006-08-30 00:46:47 UTC (rev 1962)
@@ -1,48 +1,38 @@
 %{
 #include "treekey.h"
-using namespace sword;
 %}
 
-class TreeKey : public SWKey {
-protected:
-	TreeKey();
-	~TreeKey();
+%ignore sword::TreeKey::getUserData(int *);
+%ignore sword::TreeKey::setUserData(const char *, int);
 
-public:
+%include <carrays.i>
 
-	virtual const char *getLocalName() = 0;
-	virtual const char *setLocalName(const char *) = 0;
+//%pointer_class(unsigned char, BytePointer);
+//%array_class(unsigned char, ByteArray);
 
-	virtual const char *getUserData(int *size = 0) = 0;
-	virtual void setUserData(const char *userData, int size = 0) = 0;
+%include "treekey.h"
 
-	virtual const char *getFullName() const = 0;
+%extend sword::TreeKey {
+	static sword::TreeKey *castTo(sword::SWKey *o) {
+		return dynamic_cast<sword::TreeKey*>(o);
+	}
+}
 
-	virtual void root() = 0;
-	virtual bool parent() = 0;
+/*
+%extend sword::TreeKey {
 
-	virtual bool firstChild() = 0;
-	virtual bool nextSibling() = 0;
-	virtual bool previousSibling() = 0;
+        const unsigned char *getUserData2() {
+                return (const unsigned char*)(self->getUserData(0));
+        }
 
-	virtual bool hasChildren() = 0;
+        int getUserDataSize() {
+                int s;
+                self->getUserData(&s);
+                return s;
+        }
 
-	virtual void append() = 0;
-	virtual void appendChild() = 0;
-	virtual void insertBefore() = 0;
-
-	virtual void remove() = 0;
-
-	virtual void setOffset(unsigned long offset) = 0;
-	virtual unsigned long getOffset() const = 0;
-
-	//virtual void setText(const char *ikey) = 0;
-	virtual void setPosition(SW_POSITION p) = 0;
-	//virtual const char *getText() const = 0;
-	//virtual int compare(const SWKey &ikey) = 0;
-	//virtual void decrement(int steps = 1) = 0;
-	//virtual void increment(int steps = 1) = 0;
-	virtual char Traversable ();
-	virtual long Index () const;
-	//virtual long Index (long iindex);
+        void setUserData(unsigned char data[], int size) {
+                self->setUserData(((const char*)(data)), size);
+        }
 };
+*/

Modified: trunk/bindings/swig/treekeyidx.i
===================================================================
--- trunk/bindings/swig/treekeyidx.i	2006-08-29 01:48:21 UTC (rev 1961)
+++ trunk/bindings/swig/treekeyidx.i	2006-08-30 00:46:47 UTC (rev 1962)
@@ -1,19 +1,11 @@
 %{
 #include "treekeyidx.h"
-using namespace sword;
 %}
 
-class TreeKeyIdx : public TreeKey {
-public:
-	TreeKeyIdx(const TreeKeyIdx &ikey);
-	TreeKeyIdx (const char *idxPath, int fileMode = -1);
-	~TreeKeyIdx ();
+%include "treekeyidx.h"
 
-	virtual void save();
-
-	virtual void copyFrom(const TreeKeyIdx &ikey);
-
-	virtual int _compare (const TreeKeyIdx & ikey);
-
-	static signed char create(const char *path);
-};
+%extend sword::TreeKeyIdx {
+	static sword::TreeKeyIdx *castTo(sword::TreeKey *o) {
+		return dynamic_cast<sword::TreeKeyIdx*>(o);
+	}
+}
\ No newline at end of file

Added: trunk/bindings/swig/url.i
===================================================================
--- trunk/bindings/swig/url.i	2006-08-29 01:48:21 UTC (rev 1961)
+++ trunk/bindings/swig/url.i	2006-08-30 00:46:47 UTC (rev 1962)
@@ -0,0 +1,5 @@
+%{
+#include <url.h>
+%}
+
+%include "url.h"

Modified: trunk/bindings/swig/versekey.i
===================================================================
--- trunk/bindings/swig/versekey.i	2006-08-29 01:48:21 UTC (rev 1961)
+++ trunk/bindings/swig/versekey.i	2006-08-30 00:46:47 UTC (rev 1962)
@@ -1,71 +1,49 @@
 %{
 #include "versekey.h"
-#include "listkey.h"
-using namespace sword;
 %}
 
-class VerseKey : public SWKey {
-public:
-  VerseKey(const char *ikey = 0);
-  VerseKey(const SWKey * ikey);
-  VerseKey(const char *min, const char *max);
-  VerseKey(const VerseKey &k);
-  virtual ~VerseKey();
 
-  virtual SWKey *clone() const;
 
-//bound management
-//  VerseKey & LowerBound(const char *lb);
-//  VerseKey & UpperBound(const char *ub);
-  VerseKey & LowerBound() const;
-  VerseKey & UpperBound() const;
-  void ClearBounds();
+%ignore sword::sbook::versemax;
+%ignore sword::VerseKey::setBookAbbrevs;
+%ignore sword::VerseKey::setBooks;
+%ignore sword::VerseKey::setLocale;
+		
 
-//data functions
-  virtual ListKey ParseVerseList (const char *buf, const char *defaultKey="Genesis 1:1", bool expandRange=false);
+%ignore sword::VerseKey::builtin_BMAX;
+%ignore sword::VerseKey::builtin_books;
+%ignore sword::VerseKey::builtin_abbrevs;
+%ignore sword::VerseKey::BMAX;
+%ignore sword::VerseKey::books;
+					
 
-  virtual void setText(const char *ikey);
-  virtual const char* getText () const;
-  virtual const char *getRangeText() const;
-  virtual const char *getShortText() const;
 
+%include "versekey.h"
 
-  virtual char Traversable();
+%extend sword::sbook {
+	const int verseMax( int chapter ) {
+		if ( chapter > 0  && chapter < self->chapmax ) {
+			return self->versemax[chapter-1];
+		} else {
+			return 0;
+		}
+	}
+};
 
-  virtual void decrement(int step);
-  virtual void increment(int step);
 
-  virtual const char *getBookName() const;
-  virtual const char *getBookAbbrev() const;
 
-  virtual char Testament() const;
-  virtual char Book() const;
-  virtual int Chapter() const;
-  virtual int Verse() const;
+%extend sword::VerseKey {
+	/* C++-style cast */
+	static sword::VerseKey *castTo(sword::SWKey *o) {
+		return dynamic_cast<sword::VerseKey*>(o);
+	}
 
-  //virtual char Testament(char itestament);
-//  virtual char Book(char ibook);
-//  virtual int Chapter(int ichapter);
-//  virtual int Verse(int iverse);
 
-  virtual void Normalize(char autocheck = 0);
-  virtual char AutoNormalize(char iautonorm = MAXPOS (char));
-
-  virtual char Headings(char iheadings = MAXPOS (char));
-  virtual const char *getOSISRef() const;
-
-  virtual int compare(const SWKey & ikey);
-  virtual int _compare(const VerseKey & ikey);
-
-  virtual void setLocale(const char *name);
-  virtual const char *getLocale() const;
-
-// extensions to Sword's class
-
-%extend {
 	/* Get number of books in the given testament
 	* testament may be 1 (OT) or 2 (NT)
 	*/
+
+        
 	const int bookCount( const int testament ) {
 		if ( (testament < 1) || (testament > 2) ) {
 			return 0;
@@ -73,6 +51,7 @@
 		return self->BMAX[testament-1];
 	};
 
+
 	/* Get name of book
 	* Returns the name of the booknumber in the givn testament.
 	* Testament may be 1 (OT) or 2 (NT)
@@ -103,7 +82,6 @@
 
 		return self->books[testament-1][book-1].chapmax;
 	};
-
 	/* Get number of verses in the given chapter of the given in the given testament,
 	* testament may be 1 (OT) or 2 (NT)
 	* book may be in the range 1 <= bookCount(testament)
@@ -123,6 +101,4 @@
 		return self->books[testament-1][book-1].versemax[chapter-1];
 
 	};
-}
-
 };

Added: trunk/bindings/swig/versetreekey.i
===================================================================
--- trunk/bindings/swig/versetreekey.i	2006-08-29 01:48:21 UTC (rev 1961)
+++ trunk/bindings/swig/versetreekey.i	2006-08-30 00:46:47 UTC (rev 1962)
@@ -0,0 +1,114 @@
+%{
+#include "versetreekey.h"
+%}
+
+/*
+
+%ignore sword::sbook::versemax;
+%ignore sword::VerseKey::setBookAbbrevs;
+%ignore sword::VerseKey::setBooks;
+%ignore sword::VerseKey::setLocale;
+		
+
+%ignore sword::VerseKey::builtin_BMAX;
+%ignore sword::VerseKey::builtin_books;
+%ignore sword::VerseKey::builtin_abbrevs;
+%ignore sword::VerseKey::BMAX;
+%ignore sword::VerseKey::books;
+					
+*/
+
+%include "versetreekey.h"
+
+/*
+%extend sword::sbook {
+	const int verseMax( int chapter ) {
+		if ( chapter > 0  && chapter < self->chapmax ) {
+			return self->versemax[chapter-1];
+		} else {
+			return 0;
+		}
+	}
+};
+*/
+
+
+%extend sword::VerseTreeKey {
+	/* C++-style cast */
+	static sword::VerseTreeKey *castTo(sword::VerseKey *o) {
+		return dynamic_cast<sword::VerseTreeKey*>(o);
+	}
+
+
+	/* Get number of books in the given testament
+	* testament may be 1 (OT) or 2 (NT)
+	*/
+
+/*        
+	const int bookCount( const int testament ) {
+		if ( (testament < 1) || (testament > 2) ) {
+			return 0;
+		};
+		return self->BMAX[testament-1];
+	};
+*/
+
+	/* Get name of book
+	* Returns the name of the booknumber in the givn testament.
+	* Testament may be 1 (OT) or 2 (NT)
+	* book may be in the range of 1 <= bookCount(testament)
+	*/
+
+	/*
+	const char* bookName( const int testament, const int book ) {
+		if ( (testament < 1) || (testament > 2) ) {
+			return "";
+		};
+		if ( (book < 1) || (book > self->BMAX[testament-1]) ) {
+			return "";
+		}
+
+		return self->books[testament-1][book-1].name;
+	};
+*/
+
+	/* Get number of chapters in the given testament and book number
+	* testament may be 1 (OT) or 2 (NT)
+	* book may be in the range 1 <= bookCount(testament)
+	*/
+/*
+const int chapterCount( const int testament, const int book ) {
+		if ( (testament < 1) || (testament > 2) ) {
+			return 0;
+		};
+		if ( (book < 1) || (book > self->BMAX[testament-1]) ) {
+			return 0;
+		}
+
+		return self->books[testament-1][book-1].chapmax;
+	};
+	*/
+
+	/* Get number of verses in the given chapter of the given in the given testament,
+	* testament may be 1 (OT) or 2 (NT)
+	* book may be in the range 1 <= bookCount(testament)
+	* chapter may be in the range 1 <= chapterCount(testament, book)
+	*/
+	
+	/*
+	const int verseCount( const int testament, const int book, const int chapter ) {
+		if ( (testament < 1) || (testament > 2) ) {
+			return 0;
+		};
+		if ( (book < 1) || (book > self->BMAX[testament-1]) ) {
+			return 0;
+		}
+		if ( (chapter < 1) || (chapter > self->books[testament-1][book-1].chapmax) ) {
+			return 0;
+		}
+
+		return self->books[testament-1][book-1].versemax[chapter-1];
+
+	};
+	*/
+};

Added: trunk/bindings/swig/vstudio/SwigSword.csproj
===================================================================
--- trunk/bindings/swig/vstudio/SwigSword.csproj	2006-08-29 01:48:21 UTC (rev 1961)
+++ trunk/bindings/swig/vstudio/SwigSword.csproj	2006-08-30 00:46:47 UTC (rev 1962)
@@ -0,0 +1,98 @@
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>8.0.50727</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{F594299C-1C3B-461E-B64A-6167735DCA12}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>SwigSword</RootNamespace>
+    <AssemblyName>SwigSword</AssemblyName>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="System" />
+    <Reference Include="System.Data" />
+    <Reference Include="System.Xml" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="abbrev.cs" />
+    <Compile Include="AttributeListMap.cs" />
+    <Compile Include="AttributeTypeListMap.cs" />
+    <Compile Include="AttributeValueMap.cs" />
+    <Compile Include="EncodingFilterMgr.cs" />
+    <Compile Include="ListKey.cs" />
+    <Compile Include="LocaleMgr.cs" />
+    <Compile Include="LZSSCompress.cs" />
+    <Compile Include="MarkupFilterMgr.cs" />
+    <Compile Include="ModuleMap.cs" />
+    <Compile Include="RawCom.cs" />
+    <Compile Include="RawGenBook.cs" />
+    <Compile Include="RawLD.cs" />
+    <Compile Include="RawLD4.cs" />
+    <Compile Include="RawText.cs" />
+    <Compile Include="sbook.cs" />
+    <Compile Include="SWBuf.cs" />
+    <Compile Include="SWClass.cs" />
+    <Compile Include="SWCom.cs" />
+    <Compile Include="SWCompress.cs" />
+    <Compile Include="SWConfig.cs" />
+    <Compile Include="SWDisplay.cs" />
+    <Compile Include="SWFilter.cs" />
+    <Compile Include="SWFilterMgr.cs" />
+    <Compile Include="SWGenBook.cs" />
+    <Compile Include="SWKey.cs" />
+    <Compile Include="SWLD.cs" />
+    <Compile Include="SWLocale.cs" />
+    <Compile Include="SWMgr.cs" />
+    <Compile Include="SWModule.cs" />
+    <Compile Include="SWObject.cs" />
+    <Compile Include="SWOptionFilter.cs" />
+    <Compile Include="Sword.cs" />
+    <Compile Include="SwordPINVOKE.cs" />
+    <Compile Include="SWSearchable.cs" />
+    <Compile Include="SWText.cs" />
+    <Compile Include="SW_POSITION.cs" />
+    <Compile Include="TreeKey.cs" />
+    <Compile Include="TreeKeyIdx.cs" />
+    <Compile Include="URL.cs" />
+    <Compile Include="VerseKey.cs" />
+    <Compile Include="VerseTreeKey.cs" />
+    <Compile Include="zCom.cs" />
+    <Compile Include="ZipCompress.cs" />
+    <Compile Include="zLD.cs" />
+    <Compile Include="zText.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <Folder Include="Properties\" />
+  </ItemGroup>
+  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
+       Other similar extension points exist, see Microsoft.Common.targets.
+  <Target Name="BeforeBuild">
+  </Target>
+  <Target Name="AfterBuild">
+  </Target>
+  -->
+  <PropertyGroup>
+    <PreBuildEvent>
+    </PreBuildEvent>
+  </PropertyGroup>
+</Project>
\ No newline at end of file

Added: trunk/bindings/swig/vstudio/libsword-csharpbindings.sln
===================================================================
--- trunk/bindings/swig/vstudio/libsword-csharpbindings.sln	2006-08-29 01:48:21 UTC (rev 1961)
+++ trunk/bindings/swig/vstudio/libsword-csharpbindings.sln	2006-08-30 00:46:47 UTC (rev 1962)
@@ -0,0 +1,36 @@
+
+Microsoft Visual Studio Solution File, Format Version 9.00
+# Visual C++ Express 2005
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libsword", "..\..\..\lib\vcppmake\vc8\libsword.vcproj", "{97449E5E-F880-4D22-933A-0D2FC32034D4}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libsword_csharpsword", "libsword_csharpsword.vcproj", "{0BD1471F-07D9-441C-9210-40A52770F2A1}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug with ICU|Win32 = Debug with ICU|Win32
+		Debug|Win32 = Debug|Win32
+		Release with ICU|Win32 = Release with ICU|Win32
+		Release|Win32 = Release|Win32
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{97449E5E-F880-4D22-933A-0D2FC32034D4}.Debug with ICU|Win32.ActiveCfg = Debug with ICU|Win32
+		{97449E5E-F880-4D22-933A-0D2FC32034D4}.Debug with ICU|Win32.Build.0 = Debug with ICU|Win32
+		{97449E5E-F880-4D22-933A-0D2FC32034D4}.Debug|Win32.ActiveCfg = Debug|Win32
+		{97449E5E-F880-4D22-933A-0D2FC32034D4}.Debug|Win32.Build.0 = Debug|Win32
+		{97449E5E-F880-4D22-933A-0D2FC32034D4}.Release with ICU|Win32.ActiveCfg = Release with ICU|Win32
+		{97449E5E-F880-4D22-933A-0D2FC32034D4}.Release with ICU|Win32.Build.0 = Release with ICU|Win32
+		{97449E5E-F880-4D22-933A-0D2FC32034D4}.Release|Win32.ActiveCfg = Release|Win32
+		{97449E5E-F880-4D22-933A-0D2FC32034D4}.Release|Win32.Build.0 = Release|Win32
+		{0BD1471F-07D9-441C-9210-40A52770F2A1}.Debug with ICU|Win32.ActiveCfg = Debug with ICU|Win32
+		{0BD1471F-07D9-441C-9210-40A52770F2A1}.Debug with ICU|Win32.Build.0 = Debug with ICU|Win32
+		{0BD1471F-07D9-441C-9210-40A52770F2A1}.Debug|Win32.ActiveCfg = Debug|Win32
+		{0BD1471F-07D9-441C-9210-40A52770F2A1}.Debug|Win32.Build.0 = Debug|Win32
+		{0BD1471F-07D9-441C-9210-40A52770F2A1}.Release with ICU|Win32.ActiveCfg = Release with ICU|Win32
+		{0BD1471F-07D9-441C-9210-40A52770F2A1}.Release with ICU|Win32.Build.0 = Release with ICU|Win32
+		{0BD1471F-07D9-441C-9210-40A52770F2A1}.Release|Win32.ActiveCfg = Release|Win32
+		{0BD1471F-07D9-441C-9210-40A52770F2A1}.Release|Win32.Build.0 = Release|Win32
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal

Added: trunk/bindings/swig/vstudio/libsword_csharpsword.vcproj
===================================================================
--- trunk/bindings/swig/vstudio/libsword_csharpsword.vcproj	2006-08-29 01:48:21 UTC (rev 1961)
+++ trunk/bindings/swig/vstudio/libsword_csharpsword.vcproj	2006-08-30 00:46:47 UTC (rev 1962)
@@ -0,0 +1,974 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+	ProjectType="Visual C++"
+	Version="8.00"
+	Name="libsword_csharpsword"
+	ProjectGUID="{0BD1471F-07D9-441C-9210-40A52770F2A1}"
+	RootNamespace="libsword"
+	AssemblyReferenceSearchPaths="&quot;..\..\..\lib\vcppmake\vc8\Release&quot;"
+	>
+	<Platforms>
+		<Platform
+			Name="Win32"
+		/>
+	</Platforms>
+	<ToolFiles>
+	</ToolFiles>
+	<Configurations>
+		<Configuration
+			Name="Release|Win32"
+			OutputDirectory=".\Release"
+			IntermediateDirectory=".\Release"
+			ConfigurationType="2"
+			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+			UseOfMFC="0"
+			ATLMinimizesCRunTimeLibraryUsage="false"
+			CharacterSet="2"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+				CommandLine=" swig -csharp -c++ -nodefaultctor -DNDEBUG -DWIN32 -D_LIB -DREGEX_MALLOC -DSWUSINGDLL -dllimport libsword_csharpsword.dll -module Sword -o Sword.cxx -I.. -I../../../include ../sword.i  "
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="2"
+				InlineFunctionExpansion="1"
+				AdditionalIncludeDirectories="../../../apps/windoze/CBuilder5/InstallMgr/curl,../../../include,../../../src/utilfuns/win32,../../../apps/windoze/CBuilder5/InstallMgr/curl/include"
+				PreprocessorDefinitions="NDEBUG;WIN32;_LIB;REGEX_MALLOC;SWUSINGDLL"
+				StringPooling="true"
+				RuntimeLibrary="2"
+				EnableFunctionLevelLinking="true"
+				UsePrecompiledHeader="0"
+				PrecompiledHeaderFile=".\Release/libsword.pch"
+				AssemblerListingLocation=".\Release/"
+				ObjectFile=".\Release/"
+				ProgramDataBaseFileName=".\Release/"
+				SuppressStartupBanner="true"
+				CompileAs="0"
+				DisableSpecificWarnings="4996"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+				PreprocessorDefinitions="NDEBUG"
+				Culture="1033"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCManifestTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+			/>
+			<Tool
+				Name="VCFxCopTool"
+			/>
+			<Tool
+				Name="VCAppVerifierTool"
+			/>
+			<Tool
+				Name="VCWebDeploymentTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Debug with ICU|Win32"
+			OutputDirectory=".\ICUDebug"
+			IntermediateDirectory=".\ICUDebug"
+			ConfigurationType="2"
+			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+			UseOfMFC="0"
+			ATLMinimizesCRunTimeLibraryUsage="false"
+			CharacterSet="2"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+				CommandLine=" swig -csharp -c++ -nodefaultctor -dllimport libsword-csharpwrap.dll -module Sword -o Sword.cxx -I.. -I../../../include ../sword.i"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				AdditionalOptions="/D _CRT_SECURE_NO_DEPRECATE"
+				Optimization="0"
+				AdditionalIncludeDirectories="../../../../icu-sword/source/common,../../../../icu-sword/source/i18n,../../../include,../../../src/utilfuns/win32"
+				PreprocessorDefinitions="NDEBUG;WIN32;_LIB;REGEX_MALLOC;SWMAKINGDLL"
+				BasicRuntimeChecks="3"
+				RuntimeLibrary="3"
+				UsePrecompiledHeader="0"
+				PrecompiledHeaderFile=".\ICUDebug/libsword.pch"
+				AssemblerListingLocation=".\ICUDebug/"
+				ObjectFile=".\ICUDebug/"
+				ProgramDataBaseFileName=".\ICUDebug/"
+				SuppressStartupBanner="true"
+				DebugInformationFormat="4"
+				CompileAs="0"
+				DisableSpecificWarnings="4996"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+				PreprocessorDefinitions="_DEBUG"
+				Culture="1033"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies="libsword.lib"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCManifestTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+			/>
+			<Tool
+				Name="VCFxCopTool"
+			/>
+			<Tool
+				Name="VCAppVerifierTool"
+			/>
+			<Tool
+				Name="VCWebDeploymentTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Debug|Win32"
+			OutputDirectory=".\Debug"
+			IntermediateDirectory=".\Debug"
+			ConfigurationType="2"
+			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+			UseOfMFC="0"
+			ATLMinimizesCRunTimeLibraryUsage="false"
+			CharacterSet="2"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+				CommandLine=" swig -csharp -c++ -nodefaultctor -dllimport libsword-csharpwrap.dll -module Sword -o Sword.cxx -I.. -I../../../include ../sword.i"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="0"
+				AdditionalIncludeDirectories="../../../include,../../../src/utilfuns/win32"
+				PreprocessorDefinitions="_DEBUG;WIN32;_LIB;REGEX_MALLOC;SWMAKINGDLL"
+				BasicRuntimeChecks="3"
+				RuntimeLibrary="3"
+				UsePrecompiledHeader="0"
+				PrecompiledHeaderFile=".\Debug/libsword.pch"
+				AssemblerListingLocation=".\Debug/"
+				ObjectFile=".\Debug/"
+				ProgramDataBaseFileName=".\Debug/"
+				BrowseInformation="1"
+				SuppressStartupBanner="true"
+				DebugInformationFormat="4"
+				CompileAs="0"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+				PreprocessorDefinitions="_DEBUG"
+				Culture="1033"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies="libsword.lib"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCManifestTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+			/>
+			<Tool
+				Name="VCFxCopTool"
+			/>
+			<Tool
+				Name="VCAppVerifierTool"
+			/>
+			<Tool
+				Name="VCWebDeploymentTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Release with ICU|Win32"
+			OutputDirectory=".\ICURelease"
+			IntermediateDirectory=".\ICURelease"
+			ConfigurationType="2"
+			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+			UseOfMFC="0"
+			ATLMinimizesCRunTimeLibraryUsage="false"
+			CharacterSet="2"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+				CommandLine=" swig -csharp -c++ -nodefaultctor -DNDEBUG -DWIN32 -D_LIB -DREGEX_MALLOC -DSWUSINGDLL -dllimport libsword-csharpwrap.dll -module Sword -o Sword.cxx -I.. -I../../../include ../sword.i  "
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="2"
+				InlineFunctionExpansion="1"
+				AdditionalIncludeDirectories="../../../../icu-sword/include,../../../include,../../../src/utilfuns/win32,../../../apps/windoze/CBuilder5/InstallMgr/curl/include"
+				PreprocessorDefinitions="NDEBUG;_ICU_;WIN32;_LIB;REGEX_MALLOC"
+				StringPooling="true"
+				RuntimeLibrary="2"
+				EnableFunctionLevelLinking="true"
+				UsePrecompiledHeader="0"
+				PrecompiledHeaderFile=".\ICURelease/libsword.pch"
+				AssemblerListingLocation=".\ICURelease/"
+				ObjectFile=".\ICURelease/"
+				ProgramDataBaseFileName=".\ICURelease/"
+				SuppressStartupBanner="true"
+				CompileAs="0"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+				PreprocessorDefinitions="NDEBUG"
+				Culture="1033"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies="libsword.lib"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCManifestTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+			/>
+			<Tool
+				Name="VCFxCopTool"
+			/>
+			<Tool
+				Name="VCAppVerifierTool"
+			/>
+			<Tool
+				Name="VCWebDeploymentTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
+		</Configuration>
+	</Configurations>
+	<References>
+		<ProjectReference
+			ReferencedProjectIdentifier="{97449E5E-F880-4D22-933A-0D2FC32034D4}"
+			RelativePathToProject=".\libsword.vcproj"
+		/>
+	</References>
+	<Files>
+		<Filter
+			Name="Sword Source Files"
+			>
+			<File
+				RelativePath=".\Sword.cxx"
+				>
+			</File>
+		</Filter>
+		<Filter
+			Name="Sword Header Files"
+			>
+			<File
+				RelativePath="..\..\..\include\apocrypha.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\canon.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\cdsourcemgr.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\cipherfil.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\defs.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\echomod.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\encfiltmgr.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\entriesblk.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\femain.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\filemgr.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\flatapi.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\ftpparse.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\gbffootnotes.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\gbfheadings.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\gbfhtml.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\gbfhtmlhref.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\gbfmorph.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\gbfosis.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\gbfplain.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\gbfredletterwords.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\gbfrtf.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\gbfstrongs.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\gbfthml.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\gbfwebif.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\Greek2Greek.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\GreekChars.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\greeklexattribs.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\hebrewmcim.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\hrefcom.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\latin1utf16.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\latin1utf8.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\listkey.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\localemgr.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\lzsscomprs.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\markupfiltmgr.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\multimapwdef.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\nullim.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\osisfootnotes.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\osisheadings.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\osishtmlhref.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\osislemma.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\osismorph.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\osismorphsegmentation.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\osisosis.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\osisplain.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\osisredletterwords.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\osisrtf.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\osisscripref.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\osisstrongs.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\osiswebif.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\papyriplain.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\plainfootnotes.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\plainhtml.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\rawcom.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\rawfiles.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\rawgbf.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\rawgenbook.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\rawld.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\rawld4.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\rawstr.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\rawstr4.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\rawtext.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\rawverse.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\regex.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\remotesourcemgr.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\roman.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\rtfhtml.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\sapphire.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\scsuutf8.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\stringmgr.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\strkey.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\swbasicfilter.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\swbuf.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\swcacher.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\swcipher.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\swcom.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\swcomprs.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\swconfig.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\swdisp.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\swdisprtf.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\swdisprtfchap.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\swfilter.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\swfiltermgr.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\swgenbook.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\swinputmeth.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\swinstallmgr.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\swkey.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\swld.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\swlocale.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\swlog.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\swmacs.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\swmgr.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\swmodule.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\swobject.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\swoptfilter.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\swremotemgr.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\swsearchable.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\swtext.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\swunicod.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\swversion.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\swwinlog.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\sysdata.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\tbdisp.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\teiplain.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\teirtf.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\thmlfootnotes.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\thmlgbf.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\thmlheadings.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\thmlhtml.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\thmlhtmlhref.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\thmllemma.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\thmlmorph.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\thmlosis.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\thmlplain.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\thmlrtf.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\thmlscripref.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\thmlstrongs.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\thmlvariants.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\thmlwebif.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\treekey.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\treekeyidx.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\unicodertf.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\unixstr.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\untgz.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\url.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\utf16utf8.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\utf8arshaping.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\utf8bidireorder.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\utf8cantillation.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\utf8greekaccents.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\utf8hebrewpoints.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\utf8html.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\utf8latin1.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\utf8nfc.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\utf8nfkd.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\utf8transliterator.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\utf8utf16.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\utilfuns.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\utilstr.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\utilxml.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\versekey.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\versetreekey.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\zcom.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\zconf.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\zipcomprs.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\zld.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\zlib.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\zstr.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\ztext.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\include\zverse.h"
+				>
+			</File>
+		</Filter>
+	</Files>
+	<Globals>
+	</Globals>
+</VisualStudioProject>

Modified: trunk/bindings/swig/zcom.i
===================================================================
--- trunk/bindings/swig/zcom.i	2006-08-29 01:48:21 UTC (rev 1961)
+++ trunk/bindings/swig/zcom.i	2006-08-30 00:46:47 UTC (rev 1962)
@@ -1,13 +1,12 @@
 %{
+#include "zverse.h"
 #include "zcom.h"
-using namespace sword;
 %}
 
-class zCom : public SWCom {
-public:
-    zCom (const char *ipath, const char *iname = 0, const char *idesc = 0, int blockType = CHAPTERBLOCKS, SWCompress * icomp = 0, SWDisplay * idisp = 0, SWTextEncoding encoding = ENC_UNKNOWN, SWTextDirection dir = DIRECTION_LTR, SWTextMarkup markup = FMT_UNKNOWN, const char* ilang = 0);
-    virtual ~zCom ();
-    
-   static char createModule (const char *path, int blockBound);
-};
+%include "zcom.h"
 
+%extend sword::zCom {
+	static sword::zCom *castTo(sword::SWCom *o) {
+		return dynamic_cast<sword::zCom*>(o);
+	}
+}
\ No newline at end of file

Deleted: trunk/bindings/swig/zipcompress.i
===================================================================
--- trunk/bindings/swig/zipcompress.i	2006-08-29 01:48:21 UTC (rev 1961)
+++ trunk/bindings/swig/zipcompress.i	2006-08-30 00:46:47 UTC (rev 1962)
@@ -1,12 +0,0 @@
-%{
-#include <zipcomprs.h>
-using namespace sword;
-%}
-
-class ZipCompress : public SWCompress {
-public:
-  ZipCompress();
-  virtual ~ZipCompress ();
-  virtual void Encode (void);
-  virtual void Decode (void);
-};

Added: trunk/bindings/swig/zipcomprs.i
===================================================================
--- trunk/bindings/swig/zipcomprs.i	2006-08-29 01:48:21 UTC (rev 1961)
+++ trunk/bindings/swig/zipcomprs.i	2006-08-30 00:46:47 UTC (rev 1962)
@@ -0,0 +1,11 @@
+%{
+#include <zipcomprs.h>
+%}
+
+%include "zipcomprs.h"
+
+%extend sword::ZipCompress {
+	static sword::ZipCompress *castTo(sword::SWCompress *o) {
+		return dynamic_cast<sword::ZipCompress*>(o);
+	}
+}
\ No newline at end of file

Modified: trunk/bindings/swig/zld.i
===================================================================
--- trunk/bindings/swig/zld.i	2006-08-29 01:48:21 UTC (rev 1961)
+++ trunk/bindings/swig/zld.i	2006-08-30 00:46:47 UTC (rev 1962)
@@ -1,13 +1,11 @@
 %{
 #include "zld.h"
-using namespace sword;
 %}
 
-class zLD : public SWLD {
-public:
-	zLD(const char *ipath, const char *iname = 0, const char *idesc = 0, long blockCount = 200, SWCompress *icomp = 0, SWDisplay * idisp = 0, SWTextEncoding encoding = ENC_UNKNOWN, SWTextDirection dir = DIRECTION_LTR, SWTextMarkup markup = FMT_UNKNOWN, const char* ilang = 0);
-	virtual ~zLD();
-	
-	static char createModule (const char *path);
-};
+%include "zld.h"
 
+%extend sword::zLD {
+	static sword::zLD *castTo(sword::SWLD *o) {
+		return dynamic_cast<sword::zLD*>(o);
+	}
+}
\ No newline at end of file

Modified: trunk/bindings/swig/ztext.i
===================================================================
--- trunk/bindings/swig/ztext.i	2006-08-29 01:48:21 UTC (rev 1961)
+++ trunk/bindings/swig/ztext.i	2006-08-30 00:46:47 UTC (rev 1962)
@@ -1,13 +1,11 @@
 %{
 #include "ztext.h"
-using namespace sword;
 %}
 
-class zText : public SWText {
-public:
-      	zText(const char *ipath, const char *iname = 0, const char *idesc = 0, int blockType = CHAPTERBLOCKS, SWCompress * icomp = 0, SWDisplay * idisp = 0, SWTextEncoding encoding = ENC_UNKNOWN, SWTextDirection dir = DIRECTION_LTR, SWTextMarkup markup = FMT_UNKNOWN, const char* ilang = 0);
-	virtual ~zText ();
-	
-	static char createModule (const char *path, int blockBound);
-};
+%include "ztext.h"
 
+%extend sword::zText {
+	static sword::zText *castTo(sword::SWText *o) {
+		return dynamic_cast<sword::zText*>(o);
+	}
+}
\ No newline at end of file




More information about the sword-cvs mailing list