/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.19
 * 
 * This file is not intended to be easily readable and contains a number of 
 * coding conventions designed to improve portability and efficiency. Do not make
 * changes to this file unless you know what you are doing--modify the SWIG 
 * interface file instead. 
 * ----------------------------------------------------------------------------- */


#ifdef __cplusplus
template<class T> class SwigValueWrapper {
    T *tt;
public:
    inline SwigValueWrapper() : tt(0) { }
    inline ~SwigValueWrapper() { if (tt) delete tt; } 
    inline SwigValueWrapper& operator=(const T& t) { tt = new T(t); return *this; }
    inline operator T&() const { return *tt; }
    inline T *operator&() { return tt; }
};                                                    
#endif



#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#ifdef WIN32
#  define DllExport   __declspec( dllexport )
#else
#  define DllExport  
#endif 


#define  SWIG_MemoryError    1
#define  SWIG_IOError        2
#define  SWIG_RuntimeError   3
#define  SWIG_IndexError     4
#define  SWIG_TypeError      5
#define  SWIG_DivisionByZero 6
#define  SWIG_OverflowError  7
#define  SWIG_SyntaxError    8
#define  SWIG_ValueError     9
#define  SWIG_SystemError   10
#define  SWIG_UnknownError  99


#include "db_cxx.h"
#include "dbxml/DbXml.hpp"
#include <errno.h>
#include <fstream>

using namespace DbXml;

class XmlIndexDeclaration {
public:
	XmlIndexDeclaration() {}
	XmlIndexDeclaration(const std::string &uri, const std::string &name, const std::string &index) : uri(uri), name(name), index(index) {}

	std::string uri, name, index;
};

static DbTxn *DbEnv_txn_begin(DbEnv *self,DbTxn *pid,u_int32_t flags){
		DbTxn *txn;
		self->txn_begin(pid, &txn, flags);
		return txn;
	}
static XmlIndexSpecification *XmlContainer_getIndexSpecification(XmlContainer const *self,DbTxn *txn){
		return new XmlIndexSpecification(self->getIndexSpecification(txn));
	}
static XmlDocument *XmlContainer_getDocument(XmlContainer *self,DbTxn *txn,u_int32_t id,u_int32_t flags){
		return new XmlDocument(self->getDocument(txn, id, flags));
	}
static XmlQueryExpression *XmlContainer_parseXPathExpression(XmlContainer const *self,DbTxn *txn,std::string const &query,XmlQueryContext *context){
		return new XmlQueryExpression(self->parseXPathExpression(txn, query, context));
	}
static XmlResults *XmlContainer_queryWithXPath__SWIG_0(XmlContainer const *self,DbTxn *txn,std::string const &query,XmlQueryContext *context,u_int32_t flags){
		return new XmlResults(self->queryWithXPath(txn, query, context, flags));
	}
static XmlResults *XmlContainer_queryWithXPath__SWIG_1(XmlContainer const *self,DbTxn *txn,XmlQueryExpression &query,u_int32_t flags){
		return new XmlResults(self->queryWithXPath(txn, query, flags));
	}
static void XmlContainer_dump(XmlContainer *self,char const *filename,u_int32_t flags){
		std::ofstream out(filename);
		self->dump(&out, flags);
		out.close();
	}
static void XmlContainer_load(XmlContainer *self,char const *filename,u_int32_t flags){
		std::ifstream in(filename);
		unsigned long lineno = 0;
		self->load(&in, &lineno, flags);
		in.close();
	}
static void XmlContainer_verify(XmlContainer *self,char const *filename,u_int32_t flags){
		std::ofstream out;
		if (flags & DB_SALVAGE)
			out.open(filename);
		self->verify(&out, flags);
		if (flags & DB_SALVAGE)
			out.close();
	}
void XmlContainer_setLogLevel(LogLevel level,bool enabled){
		DbXml::setLogLevel(level, enabled);
	}
void XmlContainer_setLogCategory(LogCategory category,bool enabled){
		DbXml::setLogCategory(category, enabled);
	}
int XmlContainer_get_version_major(){
		int major;
		(void)dbxml_version(&major, NULL, NULL);
		return major;
	}
int XmlContainer_get_version_minor(){
		int minor;
		(void)dbxml_version(NULL, &minor, NULL);
		return minor;
	}
int XmlContainer_get_version_patch(){
		int patch;
		(void)dbxml_version(NULL, NULL, &patch);
		return patch;
	}
char const *XmlContainer_get_version_string(){
		return dbxml_version(NULL, NULL, NULL);
	}
static std::string XmlDocument_getContentAsString(XmlDocument const *self){
		std::string s;
		return self->getContentAsString(s);
	}
static XmlResults *XmlDocument_queryWithXPath__SWIG_0(XmlDocument const *self,std::string const &query,XmlQueryContext *context){
		return new XmlResults(self->queryWithXPath(query, context));
	}
static XmlResults *XmlDocument_queryWithXPath__SWIG_1(XmlDocument const *self,XmlQueryExpression &query){
		return new XmlResults(self->queryWithXPath(query));
	}
static XmlValue *XmlQueryContext_getVariableValue(XmlQueryContext *self,std::string const &name){
		XmlValue *value = new XmlValue;
		if (self->getVariableValue(name, *value))
			return value;
		else {
			delete value;
			return NULL;
		}
	}
static XmlIndexDeclaration *XmlIndexSpecification_find(XmlIndexSpecification *self,std::string const &uri,std::string const &name){
		XmlIndexDeclaration *idecl = new XmlIndexDeclaration(uri, name, "");
		if (self->find(idecl->uri, idecl->name, idecl->index))
			return idecl;
		else {
			delete idecl;
			return NULL;
		}
	}
static XmlIndexDeclaration *XmlIndexSpecification_next(XmlIndexSpecification *self){
		XmlIndexDeclaration *idecl = new XmlIndexDeclaration;
		if (self->next(idecl->uri, idecl->name, idecl->index))
			return idecl;
		else {
			delete idecl;
			return NULL;
		}
	}
static char const *XmlIndexDeclaration_get_uri(XmlIndexDeclaration const *self){ return self->uri.c_str(); }
static char const *XmlIndexDeclaration_get_name(XmlIndexDeclaration const *self){ return self->name.c_str(); }
static char const *XmlIndexDeclaration_get_index(XmlIndexDeclaration const *self){ return self->index.c_str(); }
static char const *XmlQueryExpression_getXPathQuery(XmlQueryExpression const *self){
		return self->getXPathQuery().c_str();
	}

#ifdef __cplusplus
extern "C" {
#endif

DllExport int CSharp_DbTxn_abort(int jarg1) {
    int jresult = 0 ;
    DbTxn *arg1 = (DbTxn *) 0 ;
    int result;
    
    arg1 = *(DbTxn **)&jarg1; 
    result = (int)(arg1)->abort();
    
    jresult = result; 
    return jresult;
}


DllExport int CSharp_DbTxn_commit(int jarg1, unsigned int jarg2) {
    int jresult = 0 ;
    DbTxn *arg1 = (DbTxn *) 0 ;
    u_int32_t arg2 ;
    int result;
    
    arg1 = *(DbTxn **)&jarg1; 
    arg2 = (u_int32_t)jarg2; 
    result = (int)(arg1)->commit(arg2);
    
    jresult = result; 
    return jresult;
}


DllExport int CSharp_DbTxn_discard(int jarg1, unsigned int jarg2) {
    int jresult = 0 ;
    DbTxn *arg1 = (DbTxn *) 0 ;
    u_int32_t arg2 ;
    int result;
    
    arg1 = *(DbTxn **)&jarg1; 
    arg2 = (u_int32_t)jarg2; 
    result = (int)(arg1)->discard(arg2);
    
    jresult = result; 
    return jresult;
}


DllExport unsigned int CSharp_DbTxn_id(int jarg1) {
    unsigned int jresult = 0 ;
    DbTxn *arg1 = (DbTxn *) 0 ;
    u_int32_t result;
    
    arg1 = *(DbTxn **)&jarg1; 
    result = (u_int32_t)(arg1)->id();
    
    jresult = result; 
    return jresult;
}


DllExport int CSharp_DbTxn_set_timeout(int jarg1, jlong jarg2, unsigned int jarg3) {
    int jresult = 0 ;
    DbTxn *arg1 = (DbTxn *) 0 ;
    db_timeout_t arg2 ;
    u_int32_t arg3 ;
    int result;
    db_timeout_t *argp2 ;
    
    arg1 = *(DbTxn **)&jarg1; 
    argp2 = *(db_timeout_t **)&jarg2; 
    if (!argp2) {
        //     SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Attempt to dereference null db_timeout_t");
        return 0;
    }
    arg2 = *argp2; 
    arg3 = (u_int32_t)jarg3; 
    result = (int)(arg1)->set_timeout(arg2,arg3);
    
    jresult = result; 
    return jresult;
}


DllExport int CSharp_new_DbEnv(unsigned int jarg1) {
    int jresult = 0 ;
    u_int32_t arg1 ;
    DbEnv *result;
    
    arg1 = (u_int32_t)jarg1; 
    result = (DbEnv *)new DbEnv(arg1);
    
    *(DbEnv **)&jresult = result; 
    return jresult;
}


DllExport void CSharp_delete_DbEnv(int jarg1) {
    DbEnv *arg1 = (DbEnv *) 0 ;
    
    arg1 = *(DbEnv **)&jarg1; 
    delete arg1;
    
}


DllExport int CSharp_DbEnv_close(int jarg1, unsigned int jarg2) {
    int jresult = 0 ;
    DbEnv *arg1 = (DbEnv *) 0 ;
    u_int32_t arg2 ;
    int result;
    
    arg1 = *(DbEnv **)&jarg1; 
    arg2 = (u_int32_t)jarg2; 
    result = (int)(arg1)->close(arg2);
    
    jresult = result; 
    return jresult;
}


DllExport int CSharp_DbEnv_dbremove(int jarg1, int jarg2, char * jarg3, char * jarg4, unsigned int jarg5) {
    int jresult = 0 ;
    DbEnv *arg1 = (DbEnv *) 0 ;
    DbTxn *arg2 = (DbTxn *) 0 ;
    char *arg3 ;
    char *arg4 ;
    u_int32_t arg5 ;
    int result;
    
    arg1 = *(DbEnv **)&jarg1; 
    arg2 = *(DbTxn **)&jarg2; 
    {
        arg3 = jarg3;
    }
    {
        arg4 = jarg4;
    }
    arg5 = (u_int32_t)jarg5; 
    result = (int)(arg1)->dbremove(arg2,(char const *)arg3,(char const *)arg4,arg5);
    
    jresult = result; 
    return jresult;
}


DllExport int CSharp_DbEnv_dbrename(int jarg1, int jarg2, char * jarg3, char * jarg4, char * jarg5, unsigned int jarg6) {
    int jresult = 0 ;
    DbEnv *arg1 = (DbEnv *) 0 ;
    DbTxn *arg2 = (DbTxn *) 0 ;
    char *arg3 ;
    char *arg4 ;
    char *arg5 ;
    u_int32_t arg6 ;
    int result;
    
    arg1 = *(DbEnv **)&jarg1; 
    arg2 = *(DbTxn **)&jarg2; 
    {
        arg3 = jarg3;
    }
    {
        arg4 = jarg4;
    }
    {
        arg5 = jarg5;
    }
    arg6 = (u_int32_t)jarg6; 
    result = (int)(arg1)->dbrename(arg2,(char const *)arg3,(char const *)arg4,(char const *)arg5,arg6);
    
    jresult = result; 
    return jresult;
}


DllExport int CSharp_DbEnv_open(int jarg1, char * jarg2, unsigned int jarg3, int jarg4) {
    int jresult = 0 ;
    DbEnv *arg1 = (DbEnv *) 0 ;
    char *arg2 ;
    u_int32_t arg3 ;
    int arg4 ;
    int result;
    
    arg1 = *(DbEnv **)&jarg1; 
    {
        arg2 = jarg2;
    }
    arg3 = (u_int32_t)jarg3; 
    arg4 = (int)jarg4; 
    result = (int)(arg1)->open((char const *)arg2,arg3,arg4);
    
    jresult = result; 
    return jresult;
}


DllExport int CSharp_DbEnv_remove(int jarg1, char * jarg2, unsigned int jarg3) {
    int jresult = 0 ;
    DbEnv *arg1 = (DbEnv *) 0 ;
    char *arg2 ;
    u_int32_t arg3 ;
    int result;
    
    arg1 = *(DbEnv **)&jarg1; 
    {
        arg2 = jarg2;
    }
    arg3 = (u_int32_t)jarg3; 
    result = (int)(arg1)->remove((char const *)arg2,arg3);
    
    jresult = result; 
    return jresult;
}


DllExport int CSharp_DbEnv_set_cachesize(int jarg1, unsigned int jarg2, unsigned int jarg3, int jarg4) {
    int jresult = 0 ;
    DbEnv *arg1 = (DbEnv *) 0 ;
    u_int32_t arg2 ;
    u_int32_t arg3 ;
    int arg4 ;
    int result;
    
    arg1 = *(DbEnv **)&jarg1; 
    arg2 = (u_int32_t)jarg2; 
    arg3 = (u_int32_t)jarg3; 
    arg4 = (int)jarg4; 
    result = (int)(arg1)->set_cachesize(arg2,arg3,arg4);
    
    jresult = result; 
    return jresult;
}


DllExport int CSharp_DbEnv_set_data_dir(int jarg1, char * jarg2) {
    int jresult = 0 ;
    DbEnv *arg1 = (DbEnv *) 0 ;
    char *arg2 ;
    int result;
    
    arg1 = *(DbEnv **)&jarg1; 
    {
        arg2 = jarg2;
    }
    result = (int)(arg1)->set_data_dir((char const *)arg2);
    
    jresult = result; 
    return jresult;
}


DllExport int CSharp_DbEnv_set_encrypt(int jarg1, char * jarg2, unsigned int jarg3) {
    int jresult = 0 ;
    DbEnv *arg1 = (DbEnv *) 0 ;
    char *arg2 ;
    u_int32_t arg3 ;
    int result;
    
    arg1 = *(DbEnv **)&jarg1; 
    {
        arg2 = jarg2;
    }
    arg3 = (u_int32_t)jarg3; 
    result = (int)(arg1)->set_encrypt((char const *)arg2,arg3);
    
    jresult = result; 
    return jresult;
}


DllExport void CSharp_DbEnv_set_errpfx(int jarg1, char * jarg2) {
    DbEnv *arg1 = (DbEnv *) 0 ;
    char *arg2 ;
    
    arg1 = *(DbEnv **)&jarg1; 
    {
        arg2 = jarg2;
    }
    (arg1)->set_errpfx((char const *)arg2);
    
}


DllExport int CSharp_DbEnv_set_flags(int jarg1, unsigned int jarg2, int jarg3) {
    int jresult = 0 ;
    DbEnv *arg1 = (DbEnv *) 0 ;
    u_int32_t arg2 ;
    int arg3 ;
    int result;
    
    arg1 = *(DbEnv **)&jarg1; 
    arg2 = (u_int32_t)jarg2; 
    arg3 = (int)jarg3; 
    result = (int)(arg1)->set_flags(arg2,arg3);
    
    jresult = result; 
    return jresult;
}


DllExport int CSharp_DbEnv_set_lg_bsize(int jarg1, unsigned int jarg2) {
    int jresult = 0 ;
    DbEnv *arg1 = (DbEnv *) 0 ;
    u_int32_t arg2 ;
    int result;
    
    arg1 = *(DbEnv **)&jarg1; 
    arg2 = (u_int32_t)jarg2; 
    result = (int)(arg1)->set_lg_bsize(arg2);
    
    jresult = result; 
    return jresult;
}


DllExport int CSharp_DbEnv_set_lg_dir(int jarg1, char * jarg2) {
    int jresult = 0 ;
    DbEnv *arg1 = (DbEnv *) 0 ;
    char *arg2 ;
    int result;
    
    arg1 = *(DbEnv **)&jarg1; 
    {
        arg2 = jarg2;
    }
    result = (int)(arg1)->set_lg_dir((char const *)arg2);
    
    jresult = result; 
    return jresult;
}


DllExport int CSharp_DbEnv_set_lg_max(int jarg1, unsigned int jarg2) {
    int jresult = 0 ;
    DbEnv *arg1 = (DbEnv *) 0 ;
    u_int32_t arg2 ;
    int result;
    
    arg1 = *(DbEnv **)&jarg1; 
    arg2 = (u_int32_t)jarg2; 
    result = (int)(arg1)->set_lg_max(arg2);
    
    jresult = result; 
    return jresult;
}


DllExport int CSharp_DbEnv_set_lg_regionmax(int jarg1, unsigned int jarg2) {
    int jresult = 0 ;
    DbEnv *arg1 = (DbEnv *) 0 ;
    u_int32_t arg2 ;
    int result;
    
    arg1 = *(DbEnv **)&jarg1; 
    arg2 = (u_int32_t)jarg2; 
    result = (int)(arg1)->set_lg_regionmax(arg2);
    
    jresult = result; 
    return jresult;
}


DllExport int CSharp_DbEnv_set_lk_detect(int jarg1, unsigned int jarg2) {
    int jresult = 0 ;
    DbEnv *arg1 = (DbEnv *) 0 ;
    u_int32_t arg2 ;
    int result;
    
    arg1 = *(DbEnv **)&jarg1; 
    arg2 = (u_int32_t)jarg2; 
    result = (int)(arg1)->set_lk_detect(arg2);
    
    jresult = result; 
    return jresult;
}


DllExport int CSharp_DbEnv_set_lk_max_lockers(int jarg1, unsigned int jarg2) {
    int jresult = 0 ;
    DbEnv *arg1 = (DbEnv *) 0 ;
    u_int32_t arg2 ;
    int result;
    
    arg1 = *(DbEnv **)&jarg1; 
    arg2 = (u_int32_t)jarg2; 
    result = (int)(arg1)->set_lk_max_lockers(arg2);
    
    jresult = result; 
    return jresult;
}


DllExport int CSharp_DbEnv_set_lk_max_locks(int jarg1, unsigned int jarg2) {
    int jresult = 0 ;
    DbEnv *arg1 = (DbEnv *) 0 ;
    u_int32_t arg2 ;
    int result;
    
    arg1 = *(DbEnv **)&jarg1; 
    arg2 = (u_int32_t)jarg2; 
    result = (int)(arg1)->set_lk_max_locks(arg2);
    
    jresult = result; 
    return jresult;
}


DllExport int CSharp_DbEnv_set_lk_max_objects(int jarg1, unsigned int jarg2) {
    int jresult = 0 ;
    DbEnv *arg1 = (DbEnv *) 0 ;
    u_int32_t arg2 ;
    int result;
    
    arg1 = *(DbEnv **)&jarg1; 
    arg2 = (u_int32_t)jarg2; 
    result = (int)(arg1)->set_lk_max_objects(arg2);
    
    jresult = result; 
    return jresult;
}


DllExport int CSharp_DbEnv_set_mp_mmapsize(int jarg1, long jarg2) {
    int jresult = 0 ;
    DbEnv *arg1 = (DbEnv *) 0 ;
    size_t arg2 ;
    int result;
    
    arg1 = *(DbEnv **)&jarg1; 
    arg2 = (size_t)jarg2; 
    result = (int)(arg1)->set_mp_mmapsize(arg2);
    
    jresult = result; 
    return jresult;
}


DllExport int CSharp_DbEnv_set_shm_key(int jarg1, long jarg2) {
    int jresult = 0 ;
    DbEnv *arg1 = (DbEnv *) 0 ;
    long arg2 ;
    int result;
    
    arg1 = *(DbEnv **)&jarg1; 
    arg2 = (long)jarg2; 
    result = (int)(arg1)->set_shm_key(arg2);
    
    jresult = result; 
    return jresult;
}


DllExport int CSharp_DbEnv_set_timeout(int jarg1, jlong jarg2, unsigned int jarg3) {
    int jresult = 0 ;
    DbEnv *arg1 = (DbEnv *) 0 ;
    db_timeout_t arg2 ;
    u_int32_t arg3 ;
    int result;
    db_timeout_t *argp2 ;
    
    arg1 = *(DbEnv **)&jarg1; 
    argp2 = *(db_timeout_t **)&jarg2; 
    if (!argp2) {
        //     SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Attempt to dereference null db_timeout_t");
        return 0;
    }
    arg2 = *argp2; 
    arg3 = (u_int32_t)jarg3; 
    result = (int)(arg1)->set_timeout(arg2,arg3);
    
    jresult = result; 
    return jresult;
}


DllExport int CSharp_DbEnv_set_tmp_dir(int jarg1, char * jarg2) {
    int jresult = 0 ;
    DbEnv *arg1 = (DbEnv *) 0 ;
    char *arg2 ;
    int result;
    
    arg1 = *(DbEnv **)&jarg1; 
    {
        arg2 = jarg2;
    }
    result = (int)(arg1)->set_tmp_dir((char const *)arg2);
    
    jresult = result; 
    return jresult;
}


DllExport int CSharp_DbEnv_set_tas_spins(int jarg1, unsigned int jarg2) {
    int jresult = 0 ;
    DbEnv *arg1 = (DbEnv *) 0 ;
    u_int32_t arg2 ;
    int result;
    
    arg1 = *(DbEnv **)&jarg1; 
    arg2 = (u_int32_t)jarg2; 
    result = (int)(arg1)->set_tas_spins(arg2);
    
    jresult = result; 
    return jresult;
}


DllExport int CSharp_DbEnv_set_tx_max(int jarg1, unsigned int jarg2) {
    int jresult = 0 ;
    DbEnv *arg1 = (DbEnv *) 0 ;
    u_int32_t arg2 ;
    int result;
    
    arg1 = *(DbEnv **)&jarg1; 
    arg2 = (u_int32_t)jarg2; 
    result = (int)(arg1)->set_tx_max(arg2);
    
    jresult = result; 
    return jresult;
}


DllExport int CSharp_DbEnv_set_verbose(int jarg1, unsigned int jarg2, int jarg3) {
    int jresult = 0 ;
    DbEnv *arg1 = (DbEnv *) 0 ;
    u_int32_t arg2 ;
    int arg3 ;
    int result;
    
    arg1 = *(DbEnv **)&jarg1; 
    arg2 = (u_int32_t)jarg2; 
    arg3 = (int)jarg3; 
    result = (int)(arg1)->set_verbose(arg2,arg3);
    
    jresult = result; 
    return jresult;
}


DllExport char * CSharp_DbEnv_version(int * jarg1, int * jarg2, int * jarg3) {
    char * jresult = 0 ;
    int *arg1 = (int *) 0 ;
    int *arg2 = (int *) 0 ;
    int *arg3 = (int *) 0 ;
    char *result;
    
    arg1 = *(int **)&jarg1; 
    arg2 = *(int **)&jarg2; 
    arg3 = *(int **)&jarg3; 
    result = (char *)DbEnv::version(arg1,arg2,arg3);
    
    *(char **)&jresult = result; 
    return jresult;
}


DllExport char * CSharp_DbEnv_strerror(int jarg1) {
    char * jresult = 0 ;
    int arg1 ;
    char *result;
    
    arg1 = (int)jarg1; 
    result = (char *)DbEnv::strerror(arg1);
    
    *(char **)&jresult = result; 
    return jresult;
}


DllExport int CSharp_DbEnv_txn_begin(int jarg1, int jarg2, unsigned int jarg3) {
    int jresult = 0 ;
    DbEnv *arg1 = (DbEnv *) 0 ;
    DbTxn *arg2 = (DbTxn *) 0 ;
    u_int32_t arg3 ;
    DbTxn *result;
    
    arg1 = *(DbEnv **)&jarg1; 
    arg2 = *(DbTxn **)&jarg2; 
    arg3 = (u_int32_t)jarg3; 
    result = (DbTxn *)DbEnv_txn_begin(arg1,arg2,arg3);
    
    *(DbTxn **)&jresult = result; 
    return jresult;
}


DllExport int CSharp_DbEnv_txn_checkpoint(int jarg1, unsigned int jarg2, unsigned int jarg3, unsigned int jarg4) {
    int jresult = 0 ;
    DbEnv *arg1 = (DbEnv *) 0 ;
    u_int32_t arg2 ;
    u_int32_t arg3 ;
    u_int32_t arg4 ;
    int result;
    
    arg1 = *(DbEnv **)&jarg1; 
    arg2 = (u_int32_t)jarg2; 
    arg3 = (u_int32_t)jarg3; 
    arg4 = (u_int32_t)jarg4; 
    result = (int)(arg1)->txn_checkpoint(arg2,arg3,arg4);
    
    jresult = result; 
    return jresult;
}


DllExport int CSharp_get_DB_AUTO_COMMIT() {
    int jresult = 0 ;
    int result;
    
    result = (int)DB_AUTO_COMMIT;
    
    jresult = result; 
    return jresult;
}


DllExport int CSharp_get_DB_CREATE() {
    int jresult = 0 ;
    int result;
    
    result = (int)DB_CREATE;
    
    jresult = result; 
    return jresult;
}


DllExport int CSharp_get_DB_DIRTY_READ() {
    int jresult = 0 ;
    int result;
    
    result = (int)DB_DIRTY_READ;
    
    jresult = result; 
    return jresult;
}


DllExport int CSharp_get_DB_EXCL() {
    int jresult = 0 ;
    int result;
    
    result = (int)DB_EXCL;
    
    jresult = result; 
    return jresult;
}


DllExport int CSharp_get_DB_NOMMAP() {
    int jresult = 0 ;
    int result;
    
    result = (int)DB_NOMMAP;
    
    jresult = result; 
    return jresult;
}


DllExport int CSharp_get_DB_RDONLY() {
    int jresult = 0 ;
    int result;
    
    result = (int)DB_RDONLY;
    
    jresult = result; 
    return jresult;
}


DllExport int CSharp_get_DB_THREAD() {
    int jresult = 0 ;
    int result;
    
    result = (int)DB_THREAD;
    
    jresult = result; 
    return jresult;
}


DllExport char * CSharp_get_metaDataNamespace_uri() {
    char * jresult = 0 ;
    char *result;
    
    result = (char *) "DbXml::metaDataNamespace_uri";
    
    *(char **)&jresult = result; 
    return jresult;
}


DllExport char * CSharp_get_metaDataNamespace_prefix() {
    char * jresult = 0 ;
    char *result;
    
    result = (char *) "DbXml::metaDataNamespace_prefix";
    
    *(char **)&jresult = result; 
    return jresult;
}


DllExport char * CSharp_get_metaDataName_id() {
    char * jresult = 0 ;
    char *result;
    
    result = (char *) "DbXml::metaDataName_id";
    
    *(char **)&jresult = result; 
    return jresult;
}


DllExport char * CSharp_get_metaDataName_name() {
    char * jresult = 0 ;
    char *result;
    
    result = (char *) "DbXml::metaDataName_name";
    
    *(char **)&jresult = result; 
    return jresult;
}


DllExport char * CSharp_get_metaDataName_content() {
    char * jresult = 0 ;
    char *result;
    
    result = (char *) "DbXml::metaDataName_content";
    
    *(char **)&jresult = result; 
    return jresult;
}


DllExport char * CSharp_get_metaDataName_default() {
    char * jresult = 0 ;
    char *result;
    
    result = (char *) "DbXml::metaDataName_default";
    
    *(char **)&jresult = result; 
    return jresult;
}


DllExport char * CSharp_get_metaDataNamespace_prefix_debug() {
    char * jresult = 0 ;
    char *result;
    
    result = (char *) "DbXml::metaDataNamespace_prefix_debug";
    
    *(char **)&jresult = result; 
    return jresult;
}


DllExport int CSharp_get_LEVEL_NONE() {
    int jresult = 0 ;
    int result;
    
    result = (int)LEVEL_NONE;
    
    jresult = result; 
    return jresult;
}


DllExport int CSharp_get_LEVEL_DEBUG() {
    int jresult = 0 ;
    int result;
    
    result = (int)LEVEL_DEBUG;
    
    jresult = result; 
    return jresult;
}


DllExport int CSharp_get_LEVEL_INFO() {
    int jresult = 0 ;
    int result;
    
    result = (int)LEVEL_INFO;
    
    jresult = result; 
    return jresult;
}


DllExport int CSharp_get_LEVEL_WARNING() {
    int jresult = 0 ;
    int result;
    
    result = (int)LEVEL_WARNING;
    
    jresult = result; 
    return jresult;
}


DllExport int CSharp_get_LEVEL_ERROR() {
    int jresult = 0 ;
    int result;
    
    result = (int)LEVEL_ERROR;
    
    jresult = result; 
    return jresult;
}


DllExport int CSharp_get_LEVEL_ALL() {
    int jresult = 0 ;
    int result;
    
    result = (int)LEVEL_ALL;
    
    jresult = result; 
    return jresult;
}


DllExport int CSharp_get_CATEGORY_NONE() {
    int jresult = 0 ;
    int result;
    
    result = (int)CATEGORY_NONE;
    
    jresult = result; 
    return jresult;
}


DllExport int CSharp_get_CATEGORY_INDEXER() {
    int jresult = 0 ;
    int result;
    
    result = (int)CATEGORY_INDEXER;
    
    jresult = result; 
    return jresult;
}


DllExport int CSharp_get_CATEGORY_QUERY() {
    int jresult = 0 ;
    int result;
    
    result = (int)CATEGORY_QUERY;
    
    jresult = result; 
    return jresult;
}


DllExport int CSharp_get_CATEGORY_OPTIMIZER() {
    int jresult = 0 ;
    int result;
    
    result = (int)CATEGORY_OPTIMIZER;
    
    jresult = result; 
    return jresult;
}


DllExport int CSharp_get_CATEGORY_DICTIONARY() {
    int jresult = 0 ;
    int result;
    
    result = (int)CATEGORY_DICTIONARY;
    
    jresult = result; 
    return jresult;
}


DllExport int CSharp_get_CATEGORY_CONTAINER() {
    int jresult = 0 ;
    int result;
    
    result = (int)CATEGORY_CONTAINER;
    
    jresult = result; 
    return jresult;
}


DllExport int CSharp_get_CATEGORY_ALL() {
    int jresult = 0 ;
    int result;
    
    result = (int)CATEGORY_ALL;
    
    jresult = result; 
    return jresult;
}


DllExport int CSharp_new_XmlContainer(int jarg1, int jarg2, unsigned int jarg3) {
    int jresult = 0 ;
    DbEnv *arg1 = (DbEnv *) 0 ;
    std::string *arg2 = 0 ;
    u_int32_t arg3 = (u_int32_t) 0 ;
    XmlContainer *result;
    
    arg1 = *(DbEnv **)&jarg1; 
    arg2 = *(std::string **)&jarg2;
    if(!arg2) {
        //SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::string const & reference is null");
        return 0;
    }
    arg3 = (u_int32_t)jarg3; 
    result = (XmlContainer *)new XmlContainer(arg1,(std::string const &)*arg2,arg3);
    
    *(XmlContainer **)&jresult = result; 
    return jresult;
}


DllExport void CSharp_delete_XmlContainer(int jarg1) {
    XmlContainer *arg1 = (XmlContainer *) 0 ;
    
    arg1 = *(XmlContainer **)&jarg1; 
    delete arg1;
    
}


DllExport void CSharp_XmlContainer_setPageSize(int jarg1, unsigned int jarg2) {
    XmlContainer *arg1 = (XmlContainer *) 0 ;
    u_int32_t arg2 ;
    
    arg1 = *(XmlContainer **)&jarg1; 
    arg2 = (u_int32_t)jarg2; 
    (arg1)->setPageSize(arg2);
    
}


DllExport void CSharp_XmlContainer_open(int jarg1, int jarg2, unsigned int jarg3, int jarg4) {
    XmlContainer *arg1 = (XmlContainer *) 0 ;
    DbTxn *arg2 = (DbTxn *) 0 ;
    u_int32_t arg3 = (u_int32_t) 0 ;
    int arg4 = (int) 0 ;
    
    arg1 = *(XmlContainer **)&jarg1; 
    arg2 = *(DbTxn **)&jarg2; 
    arg3 = (u_int32_t)jarg3; 
    arg4 = (int)jarg4; 
    (arg1)->open(arg2,arg3,arg4);
    
}


DllExport bool CSharp_XmlContainer_exists(int jarg1, int jarg2) {
    bool jresult = 0 ;
    XmlContainer *arg1 = (XmlContainer *) 0 ;
    DbTxn *arg2 = (DbTxn *) 0 ;
    bool result;
    
    arg1 = *(XmlContainer **)&jarg1; 
    arg2 = *(DbTxn **)&jarg2; 
    result = (bool)(arg1)->exists(arg2);
    
    jresult = result; 
    return jresult;
}


DllExport bool CSharp_XmlContainer_isOpen(int jarg1) {
    bool jresult = 0 ;
    XmlContainer *arg1 = (XmlContainer *) 0 ;
    bool result;
    
    arg1 = *(XmlContainer **)&jarg1; 
    result = (bool)((XmlContainer const *)arg1)->isOpen();
    
    jresult = result; 
    return jresult;
}


DllExport void CSharp_XmlContainer_close(int jarg1, unsigned int jarg2) {
    XmlContainer *arg1 = (XmlContainer *) 0 ;
    u_int32_t arg2 = (u_int32_t) 0 ;
    
    arg1 = *(XmlContainer **)&jarg1; 
    arg2 = (u_int32_t)jarg2; 
    (arg1)->close(arg2);
    
}


DllExport void CSharp_XmlContainer_setIndexSpecification(int jarg1, int jarg2, int jarg3) {
    XmlContainer *arg1 = (XmlContainer *) 0 ;
    DbTxn *arg2 = (DbTxn *) 0 ;
    XmlIndexSpecification *arg3 = 0 ;
    
    arg1 = *(XmlContainer **)&jarg1; 
    arg2 = *(DbTxn **)&jarg2; 
    arg3 = *(XmlIndexSpecification **)&jarg3;
    if(!arg3) {
        //SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "XmlIndexSpecification const & reference is null");
        return ;
    }
    (arg1)->setIndexSpecification(arg2,(XmlIndexSpecification const &)*arg3);
    
}


DllExport void CSharp_XmlContainer_addIndex(int jarg1, int jarg2, int jarg3, int jarg4, int jarg5) {
    XmlContainer *arg1 = (XmlContainer *) 0 ;
    DbTxn *arg2 = (DbTxn *) 0 ;
    std::string *arg3 = 0 ;
    std::string *arg4 = 0 ;
    std::string *arg5 = 0 ;
    
    arg1 = *(XmlContainer **)&jarg1; 
    arg2 = *(DbTxn **)&jarg2; 
    arg3 = *(std::string **)&jarg3;
    if(!arg3) {
        //SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::string const & reference is null");
        return ;
    }
    arg4 = *(std::string **)&jarg4;
    if(!arg4) {
        //SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::string const & reference is null");
        return ;
    }
    arg5 = *(std::string **)&jarg5;
    if(!arg5) {
        //SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::string const & reference is null");
        return ;
    }
    (arg1)->addIndex(arg2,(std::string const &)*arg3,(std::string const &)*arg4,(std::string const &)*arg5);
    
}


DllExport void CSharp_XmlContainer_deleteIndex(int jarg1, int jarg2, int jarg3, int jarg4, int jarg5) {
    XmlContainer *arg1 = (XmlContainer *) 0 ;
    DbTxn *arg2 = (DbTxn *) 0 ;
    std::string *arg3 = 0 ;
    std::string *arg4 = 0 ;
    std::string *arg5 = 0 ;
    
    arg1 = *(XmlContainer **)&jarg1; 
    arg2 = *(DbTxn **)&jarg2; 
    arg3 = *(std::string **)&jarg3;
    if(!arg3) {
        //SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::string const & reference is null");
        return ;
    }
    arg4 = *(std::string **)&jarg4;
    if(!arg4) {
        //SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::string const & reference is null");
        return ;
    }
    arg5 = *(std::string **)&jarg5;
    if(!arg5) {
        //SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::string const & reference is null");
        return ;
    }
    (arg1)->deleteIndex(arg2,(std::string const &)*arg3,(std::string const &)*arg4,(std::string const &)*arg5);
    
}


DllExport void CSharp_XmlContainer_replaceIndex(int jarg1, int jarg2, int jarg3, int jarg4, int jarg5) {
    XmlContainer *arg1 = (XmlContainer *) 0 ;
    DbTxn *arg2 = (DbTxn *) 0 ;
    std::string *arg3 = 0 ;
    std::string *arg4 = 0 ;
    std::string *arg5 = 0 ;
    
    arg1 = *(XmlContainer **)&jarg1; 
    arg2 = *(DbTxn **)&jarg2; 
    arg3 = *(std::string **)&jarg3;
    if(!arg3) {
        //SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::string const & reference is null");
        return ;
    }
    arg4 = *(std::string **)&jarg4;
    if(!arg4) {
        //SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::string const & reference is null");
        return ;
    }
    arg5 = *(std::string **)&jarg5;
    if(!arg5) {
        //SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::string const & reference is null");
        return ;
    }
    (arg1)->replaceIndex(arg2,(std::string const &)*arg3,(std::string const &)*arg4,(std::string const &)*arg5);
    
}


DllExport void CSharp_XmlContainer_upgrade(int jarg1, unsigned int jarg2) {
    XmlContainer *arg1 = (XmlContainer *) 0 ;
    u_int32_t arg2 = (u_int32_t) 0 ;
    
    arg1 = *(XmlContainer **)&jarg1; 
    arg2 = (u_int32_t)jarg2; 
    (arg1)->upgrade(arg2);
    
}


DllExport int CSharp_XmlContainer_getIndexSpecification(int jarg1, int jarg2) {
    int jresult = 0 ;
    XmlContainer *arg1 = (XmlContainer *) 0 ;
    DbTxn *arg2 = (DbTxn *) 0 ;
    XmlIndexSpecification *result;
    
    arg1 = *(XmlContainer **)&jarg1; 
    arg2 = *(DbTxn **)&jarg2; 
    result = (XmlIndexSpecification *)XmlContainer_getIndexSpecification((XmlContainer const *)arg1,arg2);
    
    *(XmlIndexSpecification **)&jresult = result; 
    return jresult;
}


DllExport int CSharp_XmlContainer_getName(int jarg1) {
    int jresult = 0 ;
    XmlContainer *arg1 = (XmlContainer *) 0 ;
    std::string *result;
    
    arg1 = *(XmlContainer **)&jarg1; 
    {
        std::string const &_result_ref = ((XmlContainer const *)arg1)->getName();
        result = (std::string *) &_result_ref;
    }
    
    *(std::string **)&jresult = result; 
    return jresult;
}


DllExport void CSharp_XmlContainer_setName(int jarg1, int jarg2) {
    XmlContainer *arg1 = (XmlContainer *) 0 ;
    std::string *arg2 = 0 ;
    
    arg1 = *(XmlContainer **)&jarg1; 
    arg2 = *(std::string **)&jarg2;
    if(!arg2) {
        //SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::string const & reference is null");
        return ;
    }
    (arg1)->setName((std::string const &)*arg2);
    
}


DllExport unsigned int CSharp_XmlContainer_putDocument(int jarg1, int jarg2, int jarg3, int jarg4, unsigned int jarg5) {
    unsigned int jresult = 0 ;
    XmlContainer *arg1 = (XmlContainer *) 0 ;
    DbTxn *arg2 = (DbTxn *) 0 ;
    XmlDocument *arg3 = 0 ;
    XmlUpdateContext *arg4 = (XmlUpdateContext *) 0 ;
    u_int32_t arg5 = (u_int32_t) 0 ;
    u_int32_t result;
    
    arg1 = *(XmlContainer **)&jarg1; 
    arg2 = *(DbTxn **)&jarg2; 
    arg3 = *(XmlDocument **)&jarg3;
    if(!arg3) {
        //SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "XmlDocument & reference is null");
        return 0;
    }
    arg4 = *(XmlUpdateContext **)&jarg4; 
    arg5 = (u_int32_t)jarg5; 
    result = (u_int32_t)(arg1)->putDocument(arg2,*arg3,arg4,arg5);
    
    jresult = result; 
    return jresult;
}


DllExport void CSharp_XmlContainer_updateDocument(int jarg1, int jarg2, int jarg3, int jarg4) {
    XmlContainer *arg1 = (XmlContainer *) 0 ;
    DbTxn *arg2 = (DbTxn *) 0 ;
    XmlDocument *arg3 = 0 ;
    XmlUpdateContext *arg4 = (XmlUpdateContext *) 0 ;
    
    arg1 = *(XmlContainer **)&jarg1; 
    arg2 = *(DbTxn **)&jarg2; 
    arg3 = *(XmlDocument **)&jarg3;
    if(!arg3) {
        //SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "XmlDocument & reference is null");
        return ;
    }
    arg4 = *(XmlUpdateContext **)&jarg4; 
    (arg1)->updateDocument(arg2,*arg3,arg4);
    
}


DllExport void CSharp_XmlContainer_remove(int jarg1, int jarg2, unsigned int jarg3) {
    XmlContainer *arg1 = (XmlContainer *) 0 ;
    DbTxn *arg2 = (DbTxn *) 0 ;
    u_int32_t arg3 = (u_int32_t) 0 ;
    
    arg1 = *(XmlContainer **)&jarg1; 
    arg2 = *(DbTxn **)&jarg2; 
    arg3 = (u_int32_t)jarg3; 
    (arg1)->remove(arg2,arg3);
    
}


DllExport void CSharp_XmlContainer_rename(int jarg1, int jarg2, int jarg3, unsigned int jarg4) {
    XmlContainer *arg1 = (XmlContainer *) 0 ;
    DbTxn *arg2 = (DbTxn *) 0 ;
    std::string *arg3 = 0 ;
    u_int32_t arg4 = (u_int32_t) 0 ;
    
    arg1 = *(XmlContainer **)&jarg1; 
    arg2 = *(DbTxn **)&jarg2; 
    arg3 = *(std::string **)&jarg3;
    if(!arg3) {
        //SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::string const & reference is null");
        return ;
    }
    arg4 = (u_int32_t)jarg4; 
    (arg1)->rename(arg2,(std::string const &)*arg3,arg4);
    
}


DllExport void CSharp_XmlContainer_deleteDocument__SWIG_0(int jarg1, int jarg2, unsigned int jarg3, int jarg4, unsigned int jarg5) {
    XmlContainer *arg1 = (XmlContainer *) 0 ;
    DbTxn *arg2 = (DbTxn *) 0 ;
    u_int32_t arg3 ;
    XmlUpdateContext *arg4 = (XmlUpdateContext *) 0 ;
    u_int32_t arg5 = (u_int32_t) 0 ;
    
    arg1 = *(XmlContainer **)&jarg1; 
    arg2 = *(DbTxn **)&jarg2; 
    arg3 = (u_int32_t)jarg3; 
    arg4 = *(XmlUpdateContext **)&jarg4; 
    arg5 = (u_int32_t)jarg5; 
    (arg1)->deleteDocument(arg2,arg3,arg4,arg5);
    
}


DllExport void CSharp_XmlContainer_deleteDocument__SWIG_1(int jarg1, int jarg2, int jarg3, int jarg4, unsigned int jarg5) {
    XmlContainer *arg1 = (XmlContainer *) 0 ;
    DbTxn *arg2 = (DbTxn *) 0 ;
    XmlDocument *arg3 = 0 ;
    XmlUpdateContext *arg4 = (XmlUpdateContext *) 0 ;
    u_int32_t arg5 = (u_int32_t) 0 ;
    
    arg1 = *(XmlContainer **)&jarg1; 
    arg2 = *(DbTxn **)&jarg2; 
    arg3 = *(XmlDocument **)&jarg3;
    if(!arg3) {
        //SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "XmlDocument & reference is null");
        return ;
    }
    arg4 = *(XmlUpdateContext **)&jarg4; 
    arg5 = (u_int32_t)jarg5; 
    (arg1)->deleteDocument(arg2,*arg3,arg4,arg5);
    
}


DllExport void CSharp_XmlContainer_modifyDocument(int jarg1, int jarg2, int jarg3, int jarg4, unsigned int jarg5) {
    XmlContainer *arg1 = (XmlContainer *) 0 ;
    DbTxn *arg2 = (DbTxn *) 0 ;
    XmlModify *arg3 = 0 ;
    XmlUpdateContext *arg4 = (XmlUpdateContext *) 0 ;
    u_int32_t arg5 = (u_int32_t) 0 ;
    
    arg1 = *(XmlContainer **)&jarg1; 
    arg2 = *(DbTxn **)&jarg2; 
    arg3 = *(XmlModify **)&jarg3;
    if(!arg3) {
        //SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "XmlModify & reference is null");
        return ;
    }
    arg4 = *(XmlUpdateContext **)&jarg4; 
    arg5 = (u_int32_t)jarg5; 
    (arg1)->modifyDocument(arg2,*arg3,arg4,arg5);
    
}


DllExport int CSharp_XmlContainer_getDocument(int jarg1, int jarg2, unsigned int jarg3, unsigned int jarg4) {
    int jresult = 0 ;
    XmlContainer *arg1 = (XmlContainer *) 0 ;
    DbTxn *arg2 = (DbTxn *) 0 ;
    u_int32_t arg3 ;
    u_int32_t arg4 = (u_int32_t) 0 ;
    XmlDocument *result;
    
    arg1 = *(XmlContainer **)&jarg1; 
    arg2 = *(DbTxn **)&jarg2; 
    arg3 = (u_int32_t)jarg3; 
    arg4 = (u_int32_t)jarg4; 
    result = (XmlDocument *)XmlContainer_getDocument(arg1,arg2,arg3,arg4);
    
    *(XmlDocument **)&jresult = result; 
    return jresult;
}


DllExport int CSharp_XmlContainer_parseXPathExpression(int jarg1, int jarg2, int jarg3, int jarg4) {
    int jresult = 0 ;
    XmlContainer *arg1 = (XmlContainer *) 0 ;
    DbTxn *arg2 = (DbTxn *) 0 ;
    std::string *arg3 = 0 ;
    XmlQueryContext *arg4 = (XmlQueryContext *) 0 ;
    XmlQueryExpression *result;
    
    arg1 = *(XmlContainer **)&jarg1; 
    arg2 = *(DbTxn **)&jarg2; 
    arg3 = *(std::string **)&jarg3;
    if(!arg3) {
        //SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::string const & reference is null");
        return 0;
    }
    arg4 = *(XmlQueryContext **)&jarg4; 
    result = (XmlQueryExpression *)XmlContainer_parseXPathExpression((XmlContainer const *)arg1,arg2,(std::string const &)*arg3,arg4);
    
    *(XmlQueryExpression **)&jresult = result; 
    return jresult;
}


DllExport int CSharp_XmlContainer_queryWithXPath__SWIG_0(int jarg1, int jarg2, int jarg3, int jarg4, unsigned int jarg5) {
    int jresult = 0 ;
    XmlContainer *arg1 = (XmlContainer *) 0 ;
    DbTxn *arg2 = (DbTxn *) 0 ;
    std::string *arg3 = 0 ;
    XmlQueryContext *arg4 = (XmlQueryContext *) 0 ;
    u_int32_t arg5 = (u_int32_t) 0 ;
    XmlResults *result;
    
    arg1 = *(XmlContainer **)&jarg1; 
    arg2 = *(DbTxn **)&jarg2; 
    arg3 = *(std::string **)&jarg3;
    if(!arg3) {
        //SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::string const & reference is null");
        return 0;
    }
    arg4 = *(XmlQueryContext **)&jarg4; 
    arg5 = (u_int32_t)jarg5; 
    result = (XmlResults *)XmlContainer_queryWithXPath__SWIG_0((XmlContainer const *)arg1,arg2,(std::string const &)*arg3,arg4,arg5);
    
    *(XmlResults **)&jresult = result; 
    return jresult;
}


DllExport int CSharp_XmlContainer_queryWithXPath__SWIG_1(int jarg1, int jarg2, int jarg3, unsigned int jarg4) {
    int jresult = 0 ;
    XmlContainer *arg1 = (XmlContainer *) 0 ;
    DbTxn *arg2 = (DbTxn *) 0 ;
    XmlQueryExpression *arg3 = 0 ;
    u_int32_t arg4 = (u_int32_t) 0 ;
    XmlResults *result;
    
    arg1 = *(XmlContainer **)&jarg1; 
    arg2 = *(DbTxn **)&jarg2; 
    arg3 = *(XmlQueryExpression **)&jarg3;
    if(!arg3) {
        //SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "XmlQueryExpression & reference is null");
        return 0;
    }
    arg4 = (u_int32_t)jarg4; 
    result = (XmlResults *)XmlContainer_queryWithXPath__SWIG_1((XmlContainer const *)arg1,arg2,*arg3,arg4);
    
    *(XmlResults **)&jresult = result; 
    return jresult;
}


DllExport void CSharp_XmlContainer_dump(int jarg1, char * jarg2, unsigned int jarg3) {
    XmlContainer *arg1 = (XmlContainer *) 0 ;
    char *arg2 ;
    u_int32_t arg3 = (u_int32_t) 0 ;
    
    arg1 = *(XmlContainer **)&jarg1; 
    {
        arg2 = jarg2;
    }
    arg3 = (u_int32_t)jarg3; 
    XmlContainer_dump(arg1,(char const *)arg2,arg3);
    
}


DllExport void CSharp_XmlContainer_load(int jarg1, char * jarg2, unsigned int jarg3) {
    XmlContainer *arg1 = (XmlContainer *) 0 ;
    char *arg2 ;
    u_int32_t arg3 = (u_int32_t) 0 ;
    
    arg1 = *(XmlContainer **)&jarg1; 
    {
        arg2 = jarg2;
    }
    arg3 = (u_int32_t)jarg3; 
    XmlContainer_load(arg1,(char const *)arg2,arg3);
    
}


DllExport void CSharp_XmlContainer_verify(int jarg1, char * jarg2, unsigned int jarg3) {
    XmlContainer *arg1 = (XmlContainer *) 0 ;
    char *arg2 ;
    u_int32_t arg3 = (u_int32_t) 0 ;
    
    arg1 = *(XmlContainer **)&jarg1; 
    {
        arg2 = jarg2;
    }
    arg3 = (u_int32_t)jarg3; 
    XmlContainer_verify(arg1,(char const *)arg2,arg3);
    
}


DllExport void CSharp_XmlContainer_setLogLevel(int jarg1, bool jarg2) {
    int arg1 ;
    bool arg2 ;
    
    arg1 = (int)jarg1; 
    arg2 = jarg2 ? true : false; 
    XmlContainer_setLogLevel((LogLevel )arg1,arg2);
    
}


DllExport void CSharp_XmlContainer_setLogCategory(int jarg1, bool jarg2) {
    int arg1 ;
    bool arg2 ;
    
    arg1 = (int)jarg1; 
    arg2 = jarg2 ? true : false; 
    XmlContainer_setLogCategory((LogCategory )arg1,arg2);
    
}


DllExport int CSharp_XmlContainer_get_version_major() {
    int jresult = 0 ;
    int result;
    
    result = (int)XmlContainer_get_version_major();
    
    jresult = result; 
    return jresult;
}


DllExport int CSharp_XmlContainer_get_version_minor() {
    int jresult = 0 ;
    int result;
    
    result = (int)XmlContainer_get_version_minor();
    
    jresult = result; 
    return jresult;
}


DllExport int CSharp_XmlContainer_get_version_patch() {
    int jresult = 0 ;
    int result;
    
    result = (int)XmlContainer_get_version_patch();
    
    jresult = result; 
    return jresult;
}


DllExport char * CSharp_XmlContainer_get_version_string() {
    char * jresult = 0 ;
    char *result;
    
    result = (char *)XmlContainer_get_version_string();
    
    *(char **)&jresult = result; 
    return jresult;
}


DllExport int CSharp_new_XmlDocument() {
    int jresult = 0 ;
    XmlDocument *result;
    
    result = (XmlDocument *)new XmlDocument();
    
    *(XmlDocument **)&jresult = result; 
    return jresult;
}


DllExport void CSharp_delete_XmlDocument(int jarg1) {
    XmlDocument *arg1 = (XmlDocument *) 0 ;
    
    arg1 = *(XmlDocument **)&jarg1; 
    delete arg1;
    
}


DllExport unsigned int CSharp_XmlDocument_getID(int jarg1) {
    unsigned int jresult = 0 ;
    XmlDocument *arg1 = (XmlDocument *) 0 ;
    u_int32_t result;
    
    arg1 = *(XmlDocument **)&jarg1; 
    result = (u_int32_t)((XmlDocument const *)arg1)->getID();
    
    jresult = result; 
    return jresult;
}


DllExport void CSharp_XmlDocument_setName(int jarg1, int jarg2) {
    XmlDocument *arg1 = (XmlDocument *) 0 ;
    std::string *arg2 = 0 ;
    
    arg1 = *(XmlDocument **)&jarg1; 
    arg2 = *(std::string **)&jarg2;
    if(!arg2) {
        //SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::string const & reference is null");
        return ;
    }
    (arg1)->setName((std::string const &)*arg2);
    
}


DllExport int CSharp_XmlDocument_getName(int jarg1) {
    int jresult = 0 ;
    XmlDocument *arg1 = (XmlDocument *) 0 ;
    std::string result;
    
    arg1 = *(XmlDocument **)&jarg1; 
    result = ((XmlDocument const *)arg1)->getName();
    
    *(std::string **)&jresult = new std::string((std::string &)result); 
    return jresult;
}


DllExport void CSharp_XmlDocument_setContent__SWIG_0(int jarg1, int jarg2) {
    XmlDocument *arg1 = (XmlDocument *) 0 ;
    Dbt *arg2 = 0 ;
    
    arg1 = *(XmlDocument **)&jarg1; 
    arg2 = *(Dbt **)&jarg2;
    if(!arg2) {
        //SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Dbt & reference is null");
        return ;
    }
    (arg1)->setContent(*arg2);
    
}


DllExport int CSharp_XmlDocument_getContent(int jarg1) {
    int jresult = 0 ;
    XmlDocument *arg1 = (XmlDocument *) 0 ;
    Dbt *result;
    
    arg1 = *(XmlDocument **)&jarg1; 
    result = (Dbt *)((XmlDocument const *)arg1)->getContent();
    
    *(Dbt **)&jresult = result; 
    return jresult;
}


DllExport void CSharp_XmlDocument_setContent__SWIG_1(int jarg1, int jarg2) {
    XmlDocument *arg1 = (XmlDocument *) 0 ;
    std::string *arg2 = 0 ;
    
    arg1 = *(XmlDocument **)&jarg1; 
    arg2 = *(std::string **)&jarg2;
    if(!arg2) {
        //SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::string const & reference is null");
        return ;
    }
    (arg1)->setContent((std::string const &)*arg2);
    
}


DllExport void CSharp_XmlDocument_modifyDocument(int jarg1, int jarg2) {
    XmlDocument *arg1 = (XmlDocument *) 0 ;
    XmlModify *arg2 = 0 ;
    
    arg1 = *(XmlDocument **)&jarg1; 
    arg2 = *(XmlModify **)&jarg2;
    if(!arg2) {
        //SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "XmlModify & reference is null");
        return ;
    }
    (arg1)->modifyDocument(*arg2);
    
}


DllExport int CSharp_XmlDocument_getContentAsString(int jarg1) {
    int jresult = 0 ;
    XmlDocument *arg1 = (XmlDocument *) 0 ;
    std::string result;
    
    arg1 = *(XmlDocument **)&jarg1; 
    result = XmlDocument_getContentAsString((XmlDocument const *)arg1);
    
    *(std::string **)&jresult = new std::string((std::string &)result); 
    return jresult;
}


DllExport void CSharp_XmlDocument_setMetaData(int jarg1, int jarg2, int jarg3, int jarg4, int jarg5) {
    XmlDocument *arg1 = (XmlDocument *) 0 ;
    std::string *arg2 = 0 ;
    std::string *arg3 = 0 ;
    std::string *arg4 = 0 ;
    XmlValue *arg5 = 0 ;
    
    arg1 = *(XmlDocument **)&jarg1; 
    arg2 = *(std::string **)&jarg2;
    if(!arg2) {
        //SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::string const & reference is null");
        return ;
    }
    arg3 = *(std::string **)&jarg3;
    if(!arg3) {
        //SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::string const & reference is null");
        return ;
    }
    arg4 = *(std::string **)&jarg4;
    if(!arg4) {
        //SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::string const & reference is null");
        return ;
    }
    arg5 = *(XmlValue **)&jarg5;
    if(!arg5) {
        //SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "XmlValue const & reference is null");
        return ;
    }
    (arg1)->setMetaData((std::string const &)*arg2,(std::string const &)*arg3,(std::string const &)*arg4,(XmlValue const &)*arg5);
    
}


DllExport bool CSharp_XmlDocument_getMetaData(int jarg1, int jarg2, int jarg3, int jarg4) {
    bool jresult = 0 ;
    XmlDocument *arg1 = (XmlDocument *) 0 ;
    std::string *arg2 = 0 ;
    std::string *arg3 = 0 ;
    XmlValue *arg4 = 0 ;
    bool result;
    
    arg1 = *(XmlDocument **)&jarg1; 
    arg2 = *(std::string **)&jarg2;
    if(!arg2) {
        //SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::string const & reference is null");
        return 0;
    }
    arg3 = *(std::string **)&jarg3;
    if(!arg3) {
        //SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::string const & reference is null");
        return 0;
    }
    arg4 = *(XmlValue **)&jarg4;
    if(!arg4) {
        //SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "XmlValue & reference is null");
        return 0;
    }
    result = (bool)(arg1)->getMetaData((std::string const &)*arg2,(std::string const &)*arg3,*arg4);
    
    jresult = result; 
    return jresult;
}


DllExport int CSharp_XmlDocument_queryWithXPath__SWIG_0(int jarg1, int jarg2, int jarg3) {
    int jresult = 0 ;
    XmlDocument *arg1 = (XmlDocument *) 0 ;
    std::string *arg2 = 0 ;
    XmlQueryContext *arg3 = (XmlQueryContext *) 0 ;
    XmlResults *result;
    
    arg1 = *(XmlDocument **)&jarg1; 
    arg2 = *(std::string **)&jarg2;
    if(!arg2) {
        //SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::string const & reference is null");
        return 0;
    }
    arg3 = *(XmlQueryContext **)&jarg3; 
    result = (XmlResults *)XmlDocument_queryWithXPath__SWIG_0((XmlDocument const *)arg1,(std::string const &)*arg2,arg3);
    
    *(XmlResults **)&jresult = result; 
    return jresult;
}


DllExport int CSharp_XmlDocument_queryWithXPath__SWIG_1(int jarg1, int jarg2) {
    int jresult = 0 ;
    XmlDocument *arg1 = (XmlDocument *) 0 ;
    XmlQueryExpression *arg2 = 0 ;
    XmlResults *result;
    
    arg1 = *(XmlDocument **)&jarg1; 
    arg2 = *(XmlQueryExpression **)&jarg2;
    if(!arg2) {
        //SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "XmlQueryExpression & reference is null");
        return 0;
    }
    result = (XmlResults *)XmlDocument_queryWithXPath__SWIG_1((XmlDocument const *)arg1,*arg2);
    
    *(XmlResults **)&jresult = result; 
    return jresult;
}


DllExport int CSharp_get_XmlQueryContext_ResultDocuments() {
    int jresult = 0 ;
    int result;
    
    result = (int)XmlQueryContext::ResultDocuments;
    
    jresult = result; 
    return jresult;
}


DllExport int CSharp_get_XmlQueryContext_ResultValues() {
    int jresult = 0 ;
    int result;
    
    result = (int)XmlQueryContext::ResultValues;
    
    jresult = result; 
    return jresult;
}


DllExport int CSharp_get_XmlQueryContext_CandidateDocuments() {
    int jresult = 0 ;
    int result;
    
    result = (int)XmlQueryContext::CandidateDocuments;
    
    jresult = result; 
    return jresult;
}


DllExport int CSharp_get_XmlQueryContext_ResultDocumentsAndValues() {
    int jresult = 0 ;
    int result;
    
    result = (int)XmlQueryContext::ResultDocumentsAndValues;
    
    jresult = result; 
    return jresult;
}


DllExport int CSharp_get_XmlQueryContext_Eager() {
    int jresult = 0 ;
    int result;
    
    result = (int)XmlQueryContext::Eager;
    
    jresult = result; 
    return jresult;
}


DllExport int CSharp_get_XmlQueryContext_Lazy() {
    int jresult = 0 ;
    int result;
    
    result = (int)XmlQueryContext::Lazy;
    
    jresult = result; 
    return jresult;
}


DllExport int CSharp_new_XmlQueryContext(int jarg1, int jarg2) {
    int jresult = 0 ;
    int arg1 = (int) XmlQueryContext::ResultDocuments ;
    int arg2 = (int) XmlQueryContext::Eager ;
    XmlQueryContext *result;
    
    arg1 = (int)jarg1; 
    arg2 = (int)jarg2; 
    result = (XmlQueryContext *)new XmlQueryContext((XmlQueryContext::ReturnType )arg1,(XmlQueryContext::EvaluationType )arg2);
    
    *(XmlQueryContext **)&jresult = result; 
    return jresult;
}


DllExport void CSharp_delete_XmlQueryContext(int jarg1) {
    XmlQueryContext *arg1 = (XmlQueryContext *) 0 ;
    
    arg1 = *(XmlQueryContext **)&jarg1; 
    delete arg1;
    
}


DllExport void CSharp_XmlQueryContext_setNamespace(int jarg1, int jarg2, int jarg3) {
    XmlQueryContext *arg1 = (XmlQueryContext *) 0 ;
    std::string *arg2 = 0 ;
    std::string *arg3 = 0 ;
    
    arg1 = *(XmlQueryContext **)&jarg1; 
    arg2 = *(std::string **)&jarg2;
    if(!arg2) {
        //SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::string const & reference is null");
        return ;
    }
    arg3 = *(std::string **)&jarg3;
    if(!arg3) {
        //SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::string const & reference is null");
        return ;
    }
    (arg1)->setNamespace((std::string const &)*arg2,(std::string const &)*arg3);
    
}


DllExport int CSharp_XmlQueryContext_getNamespace(int jarg1, int jarg2) {
    int jresult = 0 ;
    XmlQueryContext *arg1 = (XmlQueryContext *) 0 ;
    std::string *arg2 = 0 ;
    std::string result;
    
    arg1 = *(XmlQueryContext **)&jarg1; 
    arg2 = *(std::string **)&jarg2;
    if(!arg2) {
        //SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::string const & reference is null");
        return 0;
    }
    result = (arg1)->getNamespace((std::string const &)*arg2);
    
    *(std::string **)&jresult = new std::string((std::string &)result); 
    return jresult;
}


DllExport void CSharp_XmlQueryContext_removeNamespace(int jarg1, int jarg2) {
    XmlQueryContext *arg1 = (XmlQueryContext *) 0 ;
    std::string *arg2 = 0 ;
    
    arg1 = *(XmlQueryContext **)&jarg1; 
    arg2 = *(std::string **)&jarg2;
    if(!arg2) {
        //SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::string const & reference is null");
        return ;
    }
    (arg1)->removeNamespace((std::string const &)*arg2);
    
}


DllExport void CSharp_XmlQueryContext_clearNamespaces(int jarg1) {
    XmlQueryContext *arg1 = (XmlQueryContext *) 0 ;
    
    arg1 = *(XmlQueryContext **)&jarg1; 
    (arg1)->clearNamespaces();
    
}


DllExport void CSharp_XmlQueryContext_setVariableValue(int jarg1, int jarg2, int jarg3) {
    XmlQueryContext *arg1 = (XmlQueryContext *) 0 ;
    std::string *arg2 = 0 ;
    XmlValue *arg3 = 0 ;
    
    arg1 = *(XmlQueryContext **)&jarg1; 
    arg2 = *(std::string **)&jarg2;
    if(!arg2) {
        //SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::string const & reference is null");
        return ;
    }
    arg3 = *(XmlValue **)&jarg3;
    if(!arg3) {
        //SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "XmlValue const & reference is null");
        return ;
    }
    (arg1)->setVariableValue((std::string const &)*arg2,(XmlValue const &)*arg3);
    
}


DllExport void CSharp_XmlQueryContext_setReturnType(int jarg1, int jarg2) {
    XmlQueryContext *arg1 = (XmlQueryContext *) 0 ;
    int arg2 = (int) XmlQueryContext::ResultDocuments ;
    
    arg1 = *(XmlQueryContext **)&jarg1; 
    arg2 = (int)jarg2; 
    (arg1)->setReturnType((XmlQueryContext::ReturnType )arg2);
    
}


DllExport int CSharp_XmlQueryContext_getReturnType(int jarg1) {
    int jresult = 0 ;
    XmlQueryContext *arg1 = (XmlQueryContext *) 0 ;
    int result;
    
    arg1 = *(XmlQueryContext **)&jarg1; 
    result = (int)((XmlQueryContext const *)arg1)->getReturnType();
    
    jresult = result; 
    return jresult;
}


DllExport void CSharp_XmlQueryContext_setEvaluationType(int jarg1, int jarg2) {
    XmlQueryContext *arg1 = (XmlQueryContext *) 0 ;
    int arg2 = (int) XmlQueryContext::Eager ;
    
    arg1 = *(XmlQueryContext **)&jarg1; 
    arg2 = (int)jarg2; 
    (arg1)->setEvaluationType((XmlQueryContext::EvaluationType )arg2);
    
}


DllExport int CSharp_XmlQueryContext_getEvaluationType(int jarg1) {
    int jresult = 0 ;
    XmlQueryContext *arg1 = (XmlQueryContext *) 0 ;
    int result;
    
    arg1 = *(XmlQueryContext **)&jarg1; 
    result = (int)((XmlQueryContext const *)arg1)->getEvaluationType();
    
    jresult = result; 
    return jresult;
}


DllExport void CSharp_XmlQueryContext_setWithMetaData(int jarg1, bool jarg2) {
    XmlQueryContext *arg1 = (XmlQueryContext *) 0 ;
    bool arg2 ;
    
    arg1 = *(XmlQueryContext **)&jarg1; 
    arg2 = jarg2 ? true : false; 
    (arg1)->setWithMetaData(arg2);
    
}


DllExport bool CSharp_XmlQueryContext_getWithMetaData(int jarg1) {
    bool jresult = 0 ;
    XmlQueryContext *arg1 = (XmlQueryContext *) 0 ;
    bool result;
    
    arg1 = *(XmlQueryContext **)&jarg1; 
    result = (bool)((XmlQueryContext const *)arg1)->getWithMetaData();
    
    jresult = result; 
    return jresult;
}


DllExport int CSharp_XmlQueryContext_getVariableValue(int jarg1, int jarg2) {
    int jresult = 0 ;
    XmlQueryContext *arg1 = (XmlQueryContext *) 0 ;
    std::string *arg2 = 0 ;
    XmlValue *result;
    
    arg1 = *(XmlQueryContext **)&jarg1; 
    arg2 = *(std::string **)&jarg2;
    if(!arg2) {
        //SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::string const & reference is null");
        return 0;
    }
    result = (XmlValue *)XmlQueryContext_getVariableValue(arg1,(std::string const &)*arg2);
    
    *(XmlValue **)&jresult = result; 
    return jresult;
}


DllExport int CSharp_new_XmlResults(int jarg1, int jarg2) {
    int jresult = 0 ;
    XmlQueryContext *arg1 = 0 ;
    DbTxn *arg2 = (DbTxn *) NULL ;
    XmlResults *result;
    
    arg1 = *(XmlQueryContext **)&jarg1;
    if(!arg1) {
        //SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "XmlQueryContext & reference is null");
        return 0;
    }
    arg2 = *(DbTxn **)&jarg2; 
    result = (XmlResults *)new XmlResults(*arg1,arg2);
    
    *(XmlResults **)&jresult = result; 
    return jresult;
}


DllExport void CSharp_delete_XmlResults(int jarg1) {
    XmlResults *arg1 = (XmlResults *) 0 ;
    
    arg1 = *(XmlResults **)&jarg1; 
    delete arg1;
    
}


DllExport bool CSharp_XmlResults_next__SWIG_0(int jarg1, int jarg2) {
    bool jresult = 0 ;
    XmlResults *arg1 = (XmlResults *) 0 ;
    XmlValue *arg2 = 0 ;
    bool result;
    
    arg1 = *(XmlResults **)&jarg1; 
    arg2 = *(XmlValue **)&jarg2;
    if(!arg2) {
        //SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "XmlValue & reference is null");
        return 0;
    }
    result = (bool)(arg1)->next(*arg2);
    
    jresult = result; 
    return jresult;
}


DllExport bool CSharp_XmlResults_next__SWIG_1(int jarg1, int jarg2) {
    bool jresult = 0 ;
    XmlResults *arg1 = (XmlResults *) 0 ;
    XmlDocument *arg2 = 0 ;
    bool result;
    
    arg1 = *(XmlResults **)&jarg1; 
    arg2 = *(XmlDocument **)&jarg2;
    if(!arg2) {
        //SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "XmlDocument & reference is null");
        return 0;
    }
    result = (bool)(arg1)->next(*arg2);
    
    jresult = result; 
    return jresult;
}


DllExport bool CSharp_XmlResults_next__SWIG_2(int jarg1, int jarg2, int jarg3) {
    bool jresult = 0 ;
    XmlResults *arg1 = (XmlResults *) 0 ;
    XmlDocument *arg2 = 0 ;
    XmlValue *arg3 = 0 ;
    bool result;
    
    arg1 = *(XmlResults **)&jarg1; 
    arg2 = *(XmlDocument **)&jarg2;
    if(!arg2) {
        //SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "XmlDocument & reference is null");
        return 0;
    }
    arg3 = *(XmlValue **)&jarg3;
    if(!arg3) {
        //SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "XmlValue & reference is null");
        return 0;
    }
    result = (bool)(arg1)->next(*arg2,*arg3);
    
    jresult = result; 
    return jresult;
}


DllExport void CSharp_XmlResults_reset(int jarg1) {
    XmlResults *arg1 = (XmlResults *) 0 ;
    
    arg1 = *(XmlResults **)&jarg1; 
    (arg1)->reset();
    
}


DllExport long CSharp_XmlResults_size(int jarg1) {
    long jresult = 0 ;
    XmlResults *arg1 = (XmlResults *) 0 ;
    size_t result;
    
    arg1 = *(XmlResults **)&jarg1; 
    result = ((XmlResults const *)arg1)->size();
    
    jresult = result; 
    return jresult;
}


DllExport void CSharp_XmlResults_add(int jarg1, int jarg2) {
    XmlResults *arg1 = (XmlResults *) 0 ;
    XmlValue *arg2 = 0 ;
    
    arg1 = *(XmlResults **)&jarg1; 
    arg2 = *(XmlValue **)&jarg2;
    if(!arg2) {
        //SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "XmlValue const & reference is null");
        return ;
    }
    (arg1)->add((XmlValue const &)*arg2);
    
}


DllExport int CSharp_new_XmlUpdateContext(int jarg1) {
    int jresult = 0 ;
    XmlContainer *arg1 = 0 ;
    XmlUpdateContext *result;
    
    arg1 = *(XmlContainer **)&jarg1;
    if(!arg1) {
        //SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "XmlContainer & reference is null");
        return 0;
    }
    result = (XmlUpdateContext *)new XmlUpdateContext(*arg1);
    
    *(XmlUpdateContext **)&jresult = result; 
    return jresult;
}


DllExport void CSharp_delete_XmlUpdateContext(int jarg1) {
    XmlUpdateContext *arg1 = (XmlUpdateContext *) 0 ;
    
    arg1 = *(XmlUpdateContext **)&jarg1; 
    delete arg1;
    
}


DllExport int CSharp_get_XmlValue_NONE() {
    int jresult = 0 ;
    int result;
    
    result = (int)XmlValue::NONE;
    
    jresult = result; 
    return jresult;
}


DllExport int CSharp_get_XmlValue_STRING() {
    int jresult = 0 ;
    int result;
    
    result = (int)XmlValue::STRING;
    
    jresult = result; 
    return jresult;
}


DllExport int CSharp_get_XmlValue_NUMBER() {
    int jresult = 0 ;
    int result;
    
    result = (int)XmlValue::NUMBER;
    
    jresult = result; 
    return jresult;
}


DllExport int CSharp_get_XmlValue_BOOLEAN() {
    int jresult = 0 ;
    int result;
    
    result = (int)XmlValue::BOOLEAN;
    
    jresult = result; 
    return jresult;
}


DllExport int CSharp_get_XmlValue_DOCUMENT() {
    int jresult = 0 ;
    int result;
    
    result = (int)XmlValue::DOCUMENT;
    
    jresult = result; 
    return jresult;
}


DllExport int CSharp_get_XmlValue_NODE() {
    int jresult = 0 ;
    int result;
    
    result = (int)XmlValue::NODE;
    
    jresult = result; 
    return jresult;
}


DllExport int CSharp_get_XmlValue_VARIABLE() {
    int jresult = 0 ;
    int result;
    
    result = (int)XmlValue::VARIABLE;
    
    jresult = result; 
    return jresult;
}


DllExport int CSharp_get_XmlValue_BINARY() {
    int jresult = 0 ;
    int result;
    
    result = (int)XmlValue::BINARY;
    
    jresult = result; 
    return jresult;
}


DllExport int CSharp_new_XmlValue__SWIG_0() {
    int jresult = 0 ;
    XmlValue *result;
    
    result = (XmlValue *)new XmlValue();
    
    *(XmlValue **)&jresult = result; 
    return jresult;
}


DllExport int CSharp_new_XmlValue__SWIG_1(int jarg1) {
    int jresult = 0 ;
    XmlDocument *arg1 = 0 ;
    XmlValue *result;
    
    arg1 = *(XmlDocument **)&jarg1;
    if(!arg1) {
        //SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "XmlDocument & reference is null");
        return 0;
    }
    result = (XmlValue *)new XmlValue(*arg1);
    
    *(XmlValue **)&jresult = result; 
    return jresult;
}


DllExport int CSharp_new_XmlValue__SWIG_2(double jarg1) {
    int jresult = 0 ;
    double arg1 ;
    XmlValue *result;
    
    arg1 = (double)jarg1; 
    result = (XmlValue *)new XmlValue(arg1);
    
    *(XmlValue **)&jresult = result; 
    return jresult;
}


DllExport int CSharp_new_XmlValue__SWIG_3(char * jarg1) {
    int jresult = 0 ;
    char *arg1 ;
    XmlValue *result;
    
    {
        arg1 = jarg1;
    }
    result = (XmlValue *)new XmlValue((char const *)arg1);
    
    *(XmlValue **)&jresult = result; 
    return jresult;
}


DllExport int CSharp_new_XmlValue__SWIG_4(bool jarg1) {
    int jresult = 0 ;
    bool arg1 ;
    XmlValue *result;
    
    arg1 = jarg1 ? true : false; 
    result = (XmlValue *)new XmlValue(arg1);
    
    *(XmlValue **)&jresult = result; 
    return jresult;
}


DllExport int CSharp_new_XmlValue__SWIG_5(int jarg1, char * jarg2) {
    int jresult = 0 ;
    int arg1 ;
    char *arg2 ;
    XmlValue *result;
    
    arg1 = (int)jarg1; 
    {
        arg2 = jarg2;
    }
    result = (XmlValue *)new XmlValue((XmlValue::Type )arg1,(char const *)arg2);
    
    *(XmlValue **)&jresult = result; 
    return jresult;
}


DllExport void CSharp_delete_XmlValue(int jarg1) {
    XmlValue *arg1 = (XmlValue *) 0 ;
    
    arg1 = *(XmlValue **)&jarg1; 
    delete arg1;
    
}


DllExport int CSharp_XmlValue_getType(int jarg1, int jarg2) {
    int jresult = 0 ;
    XmlValue *arg1 = (XmlValue *) 0 ;
    XmlQueryContext *arg2 = (XmlQueryContext *) 0 ;
    int result;
    
    arg1 = *(XmlValue **)&jarg1; 
    arg2 = *(XmlQueryContext **)&jarg2; 
    result = (int)((XmlValue const *)arg1)->getType((XmlQueryContext const *)arg2);
    
    jresult = result; 
    return jresult;
}


DllExport bool CSharp_XmlValue_isNumber(int jarg1, int jarg2) {
    bool jresult = 0 ;
    XmlValue *arg1 = (XmlValue *) 0 ;
    XmlQueryContext *arg2 = (XmlQueryContext *) 0 ;
    bool result;
    
    arg1 = *(XmlValue **)&jarg1; 
    arg2 = *(XmlQueryContext **)&jarg2; 
    result = (bool)((XmlValue const *)arg1)->isNumber((XmlQueryContext const *)arg2);
    
    jresult = result; 
    return jresult;
}


DllExport bool CSharp_XmlValue_isString(int jarg1, int jarg2) {
    bool jresult = 0 ;
    XmlValue *arg1 = (XmlValue *) 0 ;
    XmlQueryContext *arg2 = (XmlQueryContext *) 0 ;
    bool result;
    
    arg1 = *(XmlValue **)&jarg1; 
    arg2 = *(XmlQueryContext **)&jarg2; 
    result = (bool)((XmlValue const *)arg1)->isString((XmlQueryContext const *)arg2);
    
    jresult = result; 
    return jresult;
}


DllExport bool CSharp_XmlValue_isBoolean(int jarg1, int jarg2) {
    bool jresult = 0 ;
    XmlValue *arg1 = (XmlValue *) 0 ;
    XmlQueryContext *arg2 = (XmlQueryContext *) 0 ;
    bool result;
    
    arg1 = *(XmlValue **)&jarg1; 
    arg2 = *(XmlQueryContext **)&jarg2; 
    result = (bool)((XmlValue const *)arg1)->isBoolean((XmlQueryContext const *)arg2);
    
    jresult = result; 
    return jresult;
}


DllExport bool CSharp_XmlValue_isNode(int jarg1, int jarg2) {
    bool jresult = 0 ;
    XmlValue *arg1 = (XmlValue *) 0 ;
    XmlQueryContext *arg2 = (XmlQueryContext *) 0 ;
    bool result;
    
    arg1 = *(XmlValue **)&jarg1; 
    arg2 = *(XmlQueryContext **)&jarg2; 
    result = (bool)((XmlValue const *)arg1)->isNode((XmlQueryContext const *)arg2);
    
    jresult = result; 
    return jresult;
}


DllExport bool CSharp_XmlValue_isDocument(int jarg1, int jarg2) {
    bool jresult = 0 ;
    XmlValue *arg1 = (XmlValue *) 0 ;
    XmlQueryContext *arg2 = (XmlQueryContext *) 0 ;
    bool result;
    
    arg1 = *(XmlValue **)&jarg1; 
    arg2 = *(XmlQueryContext **)&jarg2; 
    result = (bool)((XmlValue const *)arg1)->isDocument((XmlQueryContext const *)arg2);
    
    jresult = result; 
    return jresult;
}


DllExport bool CSharp_XmlValue_isVariable(int jarg1, int jarg2) {
    bool jresult = 0 ;
    XmlValue *arg1 = (XmlValue *) 0 ;
    XmlQueryContext *arg2 = (XmlQueryContext *) 0 ;
    bool result;
    
    arg1 = *(XmlValue **)&jarg1; 
    arg2 = *(XmlQueryContext **)&jarg2; 
    result = (bool)((XmlValue const *)arg1)->isVariable((XmlQueryContext const *)arg2);
    
    jresult = result; 
    return jresult;
}


DllExport bool CSharp_XmlValue_isNull(int jarg1) {
    bool jresult = 0 ;
    XmlValue *arg1 = (XmlValue *) 0 ;
    bool result;
    
    arg1 = *(XmlValue **)&jarg1; 
    result = (bool)((XmlValue const *)arg1)->isNull();
    
    jresult = result; 
    return jresult;
}


DllExport double CSharp_XmlValue_asNumber(int jarg1, int jarg2) {
    double jresult = 0 ;
    XmlValue *arg1 = (XmlValue *) 0 ;
    XmlQueryContext *arg2 = (XmlQueryContext *) 0 ;
    double result;
    
    arg1 = *(XmlValue **)&jarg1; 
    arg2 = *(XmlQueryContext **)&jarg2; 
    result = (double)((XmlValue const *)arg1)->asNumber((XmlQueryContext const *)arg2);
    
    jresult = result; 
    return jresult;
}


DllExport int CSharp_XmlValue_asString(int jarg1, int jarg2) {
    int jresult = 0 ;
    XmlValue *arg1 = (XmlValue *) 0 ;
    XmlQueryContext *arg2 = (XmlQueryContext *) 0 ;
    std::string result;
    
    arg1 = *(XmlValue **)&jarg1; 
    arg2 = *(XmlQueryContext **)&jarg2; 
    result = ((XmlValue const *)arg1)->asString((XmlQueryContext const *)arg2);
    
    *(std::string **)&jresult = new std::string((std::string &)result); 
    return jresult;
}


DllExport bool CSharp_XmlValue_asBoolean(int jarg1, int jarg2) {
    bool jresult = 0 ;
    XmlValue *arg1 = (XmlValue *) 0 ;
    XmlQueryContext *arg2 = (XmlQueryContext *) 0 ;
    bool result;
    
    arg1 = *(XmlValue **)&jarg1; 
    arg2 = *(XmlQueryContext **)&jarg2; 
    result = (bool)((XmlValue const *)arg1)->asBoolean((XmlQueryContext const *)arg2);
    
    jresult = result; 
    return jresult;
}


DllExport int CSharp_XmlValue_asDocument(int jarg1, int jarg2) {
    int jresult = 0 ;
    XmlValue *arg1 = (XmlValue *) 0 ;
    XmlQueryContext *arg2 = (XmlQueryContext *) 0 ;
    XmlDocument result;
    
    arg1 = *(XmlValue **)&jarg1; 
    arg2 = *(XmlQueryContext **)&jarg2; 
    result = ((XmlValue const *)arg1)->asDocument((XmlQueryContext const *)arg2);
    
    *(XmlDocument **)&jresult = new XmlDocument((XmlDocument &)result); 
    return jresult;
}


DllExport bool CSharp_XmlValue_equals(int jarg1, int jarg2, int jarg3) {
    bool jresult = 0 ;
    XmlValue *arg1 = (XmlValue *) 0 ;
    XmlValue *arg2 = 0 ;
    XmlQueryContext *arg3 = (XmlQueryContext *) 0 ;
    bool result;
    
    arg1 = *(XmlValue **)&jarg1; 
    arg2 = *(XmlValue **)&jarg2;
    if(!arg2) {
        //SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "XmlValue const & reference is null");
        return 0;
    }
    arg3 = *(XmlQueryContext **)&jarg3; 
    result = (bool)((XmlValue const *)arg1)->equals((XmlValue const &)*arg2,(XmlQueryContext const *)arg3);
    
    jresult = result; 
    return jresult;
}


DllExport int CSharp_new_XmlIndexSpecification() {
    int jresult = 0 ;
    XmlIndexSpecification *result;
    
    result = (XmlIndexSpecification *)new XmlIndexSpecification();
    
    *(XmlIndexSpecification **)&jresult = result; 
    return jresult;
}


DllExport void CSharp_delete_XmlIndexSpecification(int jarg1) {
    XmlIndexSpecification *arg1 = (XmlIndexSpecification *) 0 ;
    
    arg1 = *(XmlIndexSpecification **)&jarg1; 
    delete arg1;
    
}


DllExport void CSharp_XmlIndexSpecification_addIndex(int jarg1, int jarg2, int jarg3, int jarg4) {
    XmlIndexSpecification *arg1 = (XmlIndexSpecification *) 0 ;
    std::string *arg2 = 0 ;
    std::string *arg3 = 0 ;
    std::string *arg4 = 0 ;
    
    arg1 = *(XmlIndexSpecification **)&jarg1; 
    arg2 = *(std::string **)&jarg2;
    if(!arg2) {
        //SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::string const & reference is null");
        return ;
    }
    arg3 = *(std::string **)&jarg3;
    if(!arg3) {
        //SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::string const & reference is null");
        return ;
    }
    arg4 = *(std::string **)&jarg4;
    if(!arg4) {
        //SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::string const & reference is null");
        return ;
    }
    (arg1)->addIndex((std::string const &)*arg2,(std::string const &)*arg3,(std::string const &)*arg4);
    
}


DllExport void CSharp_XmlIndexSpecification_deleteIndex(int jarg1, int jarg2, int jarg3, int jarg4) {
    XmlIndexSpecification *arg1 = (XmlIndexSpecification *) 0 ;
    std::string *arg2 = 0 ;
    std::string *arg3 = 0 ;
    std::string *arg4 = 0 ;
    
    arg1 = *(XmlIndexSpecification **)&jarg1; 
    arg2 = *(std::string **)&jarg2;
    if(!arg2) {
        //SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::string const & reference is null");
        return ;
    }
    arg3 = *(std::string **)&jarg3;
    if(!arg3) {
        //SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::string const & reference is null");
        return ;
    }
    arg4 = *(std::string **)&jarg4;
    if(!arg4) {
        //SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::string const & reference is null");
        return ;
    }
    (arg1)->deleteIndex((std::string const &)*arg2,(std::string const &)*arg3,(std::string const &)*arg4);
    
}


DllExport void CSharp_XmlIndexSpecification_replaceIndex(int jarg1, int jarg2, int jarg3, int jarg4) {
    XmlIndexSpecification *arg1 = (XmlIndexSpecification *) 0 ;
    std::string *arg2 = 0 ;
    std::string *arg3 = 0 ;
    std::string *arg4 = 0 ;
    
    arg1 = *(XmlIndexSpecification **)&jarg1; 
    arg2 = *(std::string **)&jarg2;
    if(!arg2) {
        //SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::string const & reference is null");
        return ;
    }
    arg3 = *(std::string **)&jarg3;
    if(!arg3) {
        //SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::string const & reference is null");
        return ;
    }
    arg4 = *(std::string **)&jarg4;
    if(!arg4) {
        //SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::string const & reference is null");
        return ;
    }
    (arg1)->replaceIndex((std::string const &)*arg2,(std::string const &)*arg3,(std::string const &)*arg4);
    
}


DllExport void CSharp_XmlIndexSpecification_reset(int jarg1) {
    XmlIndexSpecification *arg1 = (XmlIndexSpecification *) 0 ;
    
    arg1 = *(XmlIndexSpecification **)&jarg1; 
    (arg1)->reset();
    
}


DllExport int CSharp_XmlIndexSpecification_find(int jarg1, int jarg2, int jarg3) {
    int jresult = 0 ;
    XmlIndexSpecification *arg1 = (XmlIndexSpecification *) 0 ;
    std::string *arg2 = 0 ;
    std::string *arg3 = 0 ;
    XmlIndexDeclaration *result;
    
    arg1 = *(XmlIndexSpecification **)&jarg1; 
    arg2 = *(std::string **)&jarg2;
    if(!arg2) {
        //SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::string const & reference is null");
        return 0;
    }
    arg3 = *(std::string **)&jarg3;
    if(!arg3) {
        //SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::string const & reference is null");
        return 0;
    }
    result = (XmlIndexDeclaration *)XmlIndexSpecification_find(arg1,(std::string const &)*arg2,(std::string const &)*arg3);
    
    *(XmlIndexDeclaration **)&jresult = result; 
    return jresult;
}


DllExport int CSharp_XmlIndexSpecification_next(int jarg1) {
    int jresult = 0 ;
    XmlIndexSpecification *arg1 = (XmlIndexSpecification *) 0 ;
    XmlIndexDeclaration *result;
    
    arg1 = *(XmlIndexSpecification **)&jarg1; 
    result = (XmlIndexDeclaration *)XmlIndexSpecification_next(arg1);
    
    *(XmlIndexDeclaration **)&jresult = result; 
    return jresult;
}


DllExport void CSharp_delete_XmlIndexDeclaration(int jarg1) {
    XmlIndexDeclaration *arg1 = (XmlIndexDeclaration *) 0 ;
    
    arg1 = *(XmlIndexDeclaration **)&jarg1; 
    delete arg1;
    
}


DllExport char * CSharp_XmlIndexDeclaration_get_uri(int jarg1) {
    char * jresult = 0 ;
    XmlIndexDeclaration *arg1 = (XmlIndexDeclaration *) 0 ;
    char *result;
    
    arg1 = *(XmlIndexDeclaration **)&jarg1; 
    result = (char *)XmlIndexDeclaration_get_uri((XmlIndexDeclaration const *)arg1);
    
    *(char **)&jresult = result; 
    return jresult;
}


DllExport char * CSharp_XmlIndexDeclaration_get_name(int jarg1) {
    char * jresult = 0 ;
    XmlIndexDeclaration *arg1 = (XmlIndexDeclaration *) 0 ;
    char *result;
    
    arg1 = *(XmlIndexDeclaration **)&jarg1; 
    result = (char *)XmlIndexDeclaration_get_name((XmlIndexDeclaration const *)arg1);
    
    *(char **)&jresult = result; 
    return jresult;
}


DllExport char * CSharp_XmlIndexDeclaration_get_index(int jarg1) {
    char * jresult = 0 ;
    XmlIndexDeclaration *arg1 = (XmlIndexDeclaration *) 0 ;
    char *result;
    
    arg1 = *(XmlIndexDeclaration **)&jarg1; 
    result = (char *)XmlIndexDeclaration_get_index((XmlIndexDeclaration const *)arg1);
    
    *(char **)&jresult = result; 
    return jresult;
}


DllExport int CSharp_new_XmlIndexDeclaration() {
    int jresult = 0 ;
    XmlIndexDeclaration *result;
    
    result = (XmlIndexDeclaration *)new XmlIndexDeclaration();
    
    *(XmlIndexDeclaration **)&jresult = result; 
    return jresult;
}


DllExport int CSharp_new_XmlQueryExpression(int jarg1, int jarg2) {
    int jresult = 0 ;
    XmlContainer *arg1 = 0 ;
    XmlQueryContext *arg2 = 0 ;
    XmlQueryExpression *result;
    
    arg1 = *(XmlContainer **)&jarg1;
    if(!arg1) {
        //SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "XmlContainer & reference is null");
        return 0;
    }
    arg2 = *(XmlQueryContext **)&jarg2;
    if(!arg2) {
        //SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "XmlQueryContext & reference is null");
        return 0;
    }
    result = (XmlQueryExpression *)new XmlQueryExpression(*arg1,*arg2);
    
    *(XmlQueryExpression **)&jresult = result; 
    return jresult;
}


DllExport void CSharp_delete_XmlQueryExpression(int jarg1) {
    XmlQueryExpression *arg1 = (XmlQueryExpression *) 0 ;
    
    arg1 = *(XmlQueryExpression **)&jarg1; 
    delete arg1;
    
}


DllExport int CSharp_XmlQueryExpression_getQueryContext(int jarg1) {
    int jresult = 0 ;
    XmlQueryExpression *arg1 = (XmlQueryExpression *) 0 ;
    XmlQueryContext *result;
    
    arg1 = *(XmlQueryExpression **)&jarg1; 
    {
        XmlQueryContext &_result_ref = ((XmlQueryExpression const *)arg1)->getQueryContext();
        result = (XmlQueryContext *) &_result_ref;
    }
    
    *(XmlQueryContext **)&jresult = result; 
    return jresult;
}


DllExport int CSharp_XmlQueryExpression_getContainer(int jarg1) {
    int jresult = 0 ;
    XmlQueryExpression *arg1 = (XmlQueryExpression *) 0 ;
    XmlContainer *result;
    
    arg1 = *(XmlQueryExpression **)&jarg1; 
    {
        XmlContainer const &_result_ref = ((XmlQueryExpression const *)arg1)->getContainer();
        result = (XmlContainer *) &_result_ref;
    }
    
    *(XmlContainer **)&jresult = result; 
    return jresult;
}


DllExport char * CSharp_XmlQueryExpression_getXPathQuery(int jarg1) {
    char * jresult = 0 ;
    XmlQueryExpression *arg1 = (XmlQueryExpression *) 0 ;
    char *result;
    
    arg1 = *(XmlQueryExpression **)&jarg1; 
    result = (char *)XmlQueryExpression_getXPathQuery((XmlQueryExpression const *)arg1);
    
    *(char **)&jresult = result; 
    return jresult;
}


DllExport int CSharp_get_XmlModify_InsertAfter() {
    int jresult = 0 ;
    int result;
    
    result = (int)XmlModify::InsertAfter;
    
    jresult = result; 
    return jresult;
}


DllExport int CSharp_get_XmlModify_InsertBefore() {
    int jresult = 0 ;
    int result;
    
    result = (int)XmlModify::InsertBefore;
    
    jresult = result; 
    return jresult;
}


DllExport int CSharp_get_XmlModify_Append() {
    int jresult = 0 ;
    int result;
    
    result = (int)XmlModify::Append;
    
    jresult = result; 
    return jresult;
}


DllExport int CSharp_get_XmlModify_Update() {
    int jresult = 0 ;
    int result;
    
    result = (int)XmlModify::Update;
    
    jresult = result; 
    return jresult;
}


DllExport int CSharp_get_XmlModify_Remove() {
    int jresult = 0 ;
    int result;
    
    result = (int)XmlModify::Remove;
    
    jresult = result; 
    return jresult;
}


DllExport int CSharp_get_XmlModify_Rename() {
    int jresult = 0 ;
    int result;
    
    result = (int)XmlModify::Rename;
    
    jresult = result; 
    return jresult;
}


DllExport int CSharp_get_XmlModify_Element() {
    int jresult = 0 ;
    int result;
    
    result = (int)XmlModify::Element;
    
    jresult = result; 
    return jresult;
}


DllExport int CSharp_get_XmlModify_Attribute() {
    int jresult = 0 ;
    int result;
    
    result = (int)XmlModify::Attribute;
    
    jresult = result; 
    return jresult;
}


DllExport int CSharp_get_XmlModify_Text() {
    int jresult = 0 ;
    int result;
    
    result = (int)XmlModify::Text;
    
    jresult = result; 
    return jresult;
}


DllExport int CSharp_get_XmlModify_ProcessingInstruction() {
    int jresult = 0 ;
    int result;
    
    result = (int)XmlModify::ProcessingInstruction;
    
    jresult = result; 
    return jresult;
}


DllExport int CSharp_get_XmlModify_Comment() {
    int jresult = 0 ;
    int result;
    
    result = (int)XmlModify::Comment;
    
    jresult = result; 
    return jresult;
}


DllExport int CSharp_get_XmlModify_None() {
    int jresult = 0 ;
    int result;
    
    result = (int)XmlModify::None;
    
    jresult = result; 
    return jresult;
}


DllExport int CSharp_new_XmlModify__SWIG_0(int jarg1, int jarg2, int jarg3, int jarg4, int jarg5, int jarg6, int jarg7) {
    int jresult = 0 ;
    std::string *arg1 = 0 ;
    int arg2 ;
    int arg3 ;
    std::string *arg4 = 0 ;
    std::string *arg5 = 0 ;
    int32_t arg6 = (int32_t) -1 ;
    XmlQueryContext *arg7 = (XmlQueryContext *) NULL ;
    XmlModify *result;
    
    arg1 = *(std::string **)&jarg1;
    if(!arg1) {
        //SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::string const & reference is null");
        return 0;
    }
    arg2 = (int)jarg2; 
    arg3 = (int)jarg3; 
    arg4 = *(std::string **)&jarg4;
    if(!arg4) {
        //SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::string const & reference is null");
        return 0;
    }
    arg5 = *(std::string **)&jarg5;
    if(!arg5) {
        //SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::string const & reference is null");
        return 0;
    }
    arg6 = (int32_t)jarg6; 
    arg7 = *(XmlQueryContext **)&jarg7; 
    result = (XmlModify *)new XmlModify((std::string const &)*arg1,(XmlModify::ModificationType )arg2,(XmlModify::XmlObject )arg3,(std::string const &)*arg4,(std::string const &)*arg5,arg6,arg7);
    
    *(XmlModify **)&jresult = result; 
    return jresult;
}


DllExport int CSharp_new_XmlModify__SWIG_1(int jarg1, int jarg2, int jarg3, int jarg4, int jarg5, int jarg6) {
    int jresult = 0 ;
    XmlQueryExpression *arg1 = 0 ;
    int arg2 ;
    int arg3 ;
    std::string *arg4 = 0 ;
    std::string *arg5 = 0 ;
    int32_t arg6 = (int32_t) -1 ;
    XmlModify *result;
    
    arg1 = *(XmlQueryExpression **)&jarg1;
    if(!arg1) {
        //SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "XmlQueryExpression & reference is null");
        return 0;
    }
    arg2 = (int)jarg2; 
    arg3 = (int)jarg3; 
    arg4 = *(std::string **)&jarg4;
    if(!arg4) {
        //SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::string const & reference is null");
        return 0;
    }
    arg5 = *(std::string **)&jarg5;
    if(!arg5) {
        //SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::string const & reference is null");
        return 0;
    }
    arg6 = (int32_t)jarg6; 
    result = (XmlModify *)new XmlModify(*arg1,(XmlModify::ModificationType )arg2,(XmlModify::XmlObject )arg3,(std::string const &)*arg4,(std::string const &)*arg5,arg6);
    
    *(XmlModify **)&jresult = result; 
    return jresult;
}


DllExport void CSharp_delete_XmlModify(int jarg1) {
    XmlModify *arg1 = (XmlModify *) 0 ;
    
    arg1 = *(XmlModify **)&jarg1; 
    delete arg1;
    
}


DllExport void CSharp_XmlModify_setNewEncoding(int jarg1, int jarg2) {
    XmlModify *arg1 = (XmlModify *) 0 ;
    std::string *arg2 = 0 ;
    
    arg1 = *(XmlModify **)&jarg1; 
    arg2 = *(std::string **)&jarg2;
    if(!arg2) {
        //SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::string const & reference is null");
        return ;
    }
    (arg1)->setNewEncoding((std::string const &)*arg2);
    
}


DllExport int CSharp_XmlModify_getNumModifications(int jarg1) {
    int jresult = 0 ;
    XmlModify *arg1 = (XmlModify *) 0 ;
    int result;
    
    arg1 = *(XmlModify **)&jarg1; 
    result = (int)(arg1)->getNumModifications();
    
    jresult = result; 
    return jresult;
}


#ifdef __cplusplus
}
#endif

