/* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). * Version 1.3.38 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ namespace BerkeleyDB.Internal { using System; using System.Runtime.InteropServices; internal class DB : IDisposable { private HandleRef swigCPtr; protected bool swigCMemOwn; internal DB(IntPtr cPtr, bool cMemoryOwn) { swigCMemOwn = cMemoryOwn; swigCPtr = new HandleRef(this, cPtr); } internal static HandleRef getCPtr(DB obj) { return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } public virtual void Dispose() { lock(this) { if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) { swigCMemOwn = false; } swigCPtr = new HandleRef(null, IntPtr.Zero); GC.SuppressFinalize(this); } } internal DBC cursor(DB_TXN txn, uint flags) { int err = 0; DBC ret = cursor(txn, flags, ref err); DatabaseException.ThrowException(err); return ret; } internal DBC join(IntPtr[] curslist, uint flags) { int err = 0; DBC ret = join(curslist, flags, ref err); DatabaseException.ThrowException(err); return ret; } internal BTreeStatStruct stat_bt(DB_TXN txn, uint flags) { int err = 0; IntPtr ptr = stat(txn, flags, ref err); DatabaseException.ThrowException(err); BTreeStatStruct ret = (BTreeStatStruct)Marshal.PtrToStructure(ptr, typeof(BTreeStatStruct)); libdb_csharp.__os_ufree(null, ptr); return ret; } internal HashStatStruct stat_hash(DB_TXN txn, uint flags) { int err = 0; IntPtr ptr = stat(txn, flags, ref err); DatabaseException.ThrowException(err); HashStatStruct ret = (HashStatStruct)Marshal.PtrToStructure(ptr, typeof(HashStatStruct)); libdb_csharp.__os_ufree(null, ptr); return ret; } internal QueueStatStruct stat_qam(DB_TXN txn, uint flags) { int err = 0; IntPtr ptr = stat(txn, flags, ref err); DatabaseException.ThrowException(err); QueueStatStruct ret = (QueueStatStruct)Marshal.PtrToStructure(ptr, typeof(QueueStatStruct)); libdb_csharp.__os_ufree(null, ptr); return ret; } internal BaseDatabase api_internal { set { libdb_csharpPINVOKE.DB_api_internal_set(swigCPtr, value); } get { return libdb_csharpPINVOKE.DB_api_internal_get(swigCPtr); } } internal int set_usercopy(DBTCopyDelegate dbt_usercopy) { int ret; ret = libdb_csharpPINVOKE.DB_set_usercopy(swigCPtr, dbt_usercopy); DatabaseException.ThrowException(ret); return ret; } internal DB(DB_ENV env, uint flags) : this(libdb_csharpPINVOKE.new_DB(DB_ENV.getCPtr(env), flags), true) { } internal int associate(DB_TXN txn, DB sec, BDB_AssociateDelegate callback, uint flags) { int ret; ret = libdb_csharpPINVOKE.DB_associate(swigCPtr, DB_TXN.getCPtr(txn), DB.getCPtr(sec), callback, flags); DatabaseException.ThrowException(ret); return ret; } internal int associate_foreign(DB dbp, BDB_AssociateForeignDelegate callback, uint flags) { int ret; ret = libdb_csharpPINVOKE.DB_associate_foreign(swigCPtr, DB.getCPtr(dbp), callback, flags); DatabaseException.ThrowException(ret); return ret; } internal int close(uint flags) { int ret = libdb_csharpPINVOKE.DB_close(swigCPtr, flags); if (ret == 0) /* Close is a db handle destructor. Reflect that in the wrapper class. */ swigCPtr = new HandleRef(null, IntPtr.Zero); else DatabaseException.ThrowException(ret); return ret; } internal int compact(DB_TXN txn, DatabaseEntry start, DatabaseEntry stop, DB_COMPACT cdata, uint flags, DatabaseEntry end) { try { int ret; ret = libdb_csharpPINVOKE.DB_compact(swigCPtr, DB_TXN.getCPtr(txn), DBT.getCPtr(DatabaseEntry.getDBT(start)), DBT.getCPtr(DatabaseEntry.getDBT(stop)), DB_COMPACT.getCPtr(cdata), flags, DBT.getCPtr(DatabaseEntry.getDBT(end))); DatabaseException.ThrowException(ret); return ret; } finally { GC.KeepAlive(start); GC.KeepAlive(stop); GC.KeepAlive(end); } } private DBC cursor(DB_TXN txn, uint flags, ref int err) { IntPtr cPtr = libdb_csharpPINVOKE.DB_cursor(swigCPtr, DB_TXN.getCPtr(txn), flags, ref err); DBC ret = (cPtr == IntPtr.Zero) ? null : new DBC(cPtr, false); return ret; } internal int del(DB_TXN txn, DatabaseEntry key, uint flags) { try { int ret; ret = libdb_csharpPINVOKE.DB_del(swigCPtr, DB_TXN.getCPtr(txn), DBT.getCPtr(DatabaseEntry.getDBT(key)), flags); DatabaseException.ThrowException(ret); return ret; } finally { GC.KeepAlive(key); } } internal DB_ENV env() { IntPtr cPtr = libdb_csharpPINVOKE.DB_env(swigCPtr); DB_ENV ret = (cPtr == IntPtr.Zero) ? null : new DB_ENV(cPtr, false); return ret; } internal int exists(DB_TXN txn, DatabaseEntry key, uint flags) { try { int ret; ret = libdb_csharpPINVOKE.DB_exists(swigCPtr, DB_TXN.getCPtr(txn), DBT.getCPtr(DatabaseEntry.getDBT(key)), flags); DatabaseException.ThrowException(ret); return ret; } finally { GC.KeepAlive(key); } } internal int get(DB_TXN txn, DatabaseEntry key, DatabaseEntry data, uint flags) { try { int ret; ret = libdb_csharpPINVOKE.DB_get(swigCPtr, DB_TXN.getCPtr(txn), DBT.getCPtr(DatabaseEntry.getDBT(key)), DBT.getCPtr(DatabaseEntry.getDBT(data)), flags); DatabaseException.ThrowException(ret); return ret; } finally { GC.KeepAlive(key); GC.KeepAlive(data); } } internal int get_byteswapped(ref int isswapped) { int ret; ret = libdb_csharpPINVOKE.DB_get_byteswapped(swigCPtr, ref isswapped); DatabaseException.ThrowException(ret); return ret; } internal int get_dbname(ref string filenamep, ref string dbnamep) { int ret; ret = libdb_csharpPINVOKE.DB_get_dbname(swigCPtr, ref filenamep, ref dbnamep); DatabaseException.ThrowException(ret); return ret; } internal int get_multiple() { int ret; ret = libdb_csharpPINVOKE.DB_get_multiple(swigCPtr); DatabaseException.ThrowException(ret); return ret; } internal int get_open_flags(ref uint flags) { int ret; ret = libdb_csharpPINVOKE.DB_get_open_flags(swigCPtr, ref flags); DatabaseException.ThrowException(ret); return ret; } internal int get_transactional() { return libdb_csharpPINVOKE.DB_get_transactional(swigCPtr); } internal int get_type(ref DBTYPE type) { int ret; ret = libdb_csharpPINVOKE.DB_get_type(swigCPtr, ref type); DatabaseException.ThrowException(ret); return ret; } private DBC join(IntPtr[] curslist, uint flags, ref int err) { IntPtr cPtr = libdb_csharpPINVOKE.DB_join(swigCPtr, curslist, flags, ref err); DBC ret = (cPtr == IntPtr.Zero) ? null : new DBC(cPtr, false); return ret; } internal int key_range(DB_TXN txn, DatabaseEntry key, DB_KEY_RANGE range, uint flags) { try { int ret; ret = libdb_csharpPINVOKE.DB_key_range(swigCPtr, DB_TXN.getCPtr(txn), DBT.getCPtr(DatabaseEntry.getDBT(key)), DB_KEY_RANGE.getCPtr(range), flags); DatabaseException.ThrowException(ret); return ret; } finally { GC.KeepAlive(key); } } internal int open(DB_TXN txn, string file, string database, DBTYPE type, uint flags, int mode) { int ret; ret = libdb_csharpPINVOKE.DB_open(swigCPtr, DB_TXN.getCPtr(txn), file, database, (int)type, flags, mode); if (ret != 0) close(0); DatabaseException.ThrowException(ret); return ret; } internal int pget(DB_TXN txn, DatabaseEntry key, DatabaseEntry pkey, DatabaseEntry data, uint flags) { try { int ret; ret = libdb_csharpPINVOKE.DB_pget(swigCPtr, DB_TXN.getCPtr(txn), DBT.getCPtr(DatabaseEntry.getDBT(key)), DBT.getCPtr(DatabaseEntry.getDBT(pkey)), DBT.getCPtr(DatabaseEntry.getDBT(data)), flags); DatabaseException.ThrowException(ret); return ret; } finally { GC.KeepAlive(key); GC.KeepAlive(pkey); GC.KeepAlive(data); } } internal int put(DB_TXN txn, DatabaseEntry key, DatabaseEntry data, uint flags) { try { int ret; ret = libdb_csharpPINVOKE.DB_put(swigCPtr, DB_TXN.getCPtr(txn), DBT.getCPtr(DatabaseEntry.getDBT(key)), DBT.getCPtr(DatabaseEntry.getDBT(data)), flags); DatabaseException.ThrowException(ret); return ret; } finally { GC.KeepAlive(key); GC.KeepAlive(data); } } internal int remove(string file, string database, uint flags) { int ret; ret = libdb_csharpPINVOKE.DB_remove(swigCPtr, file, database, flags); /* * remove is a handle destructor, regardless of whether the remove * succeeds. Reflect that in the wrapper class. */ swigCPtr = new HandleRef(null, IntPtr.Zero); DatabaseException.ThrowException(ret); return ret; } internal int rename(string file, string database, string newname, uint flags) { int ret; ret = libdb_csharpPINVOKE.DB_rename(swigCPtr, file, database, newname, flags); /* * rename is a handle destructor, regardless of whether the rename * succeeds. Reflect that in the wrapper class. */ swigCPtr = new HandleRef(null, IntPtr.Zero); DatabaseException.ThrowException(ret); return ret; } internal int set_append_recno(BDB_AppendRecnoDelegate callback) { int ret; ret = libdb_csharpPINVOKE.DB_set_append_recno(swigCPtr, callback); DatabaseException.ThrowException(ret); return ret; } internal int set_bt_compare(BDB_CompareDelegate callback) { int ret; ret = libdb_csharpPINVOKE.DB_set_bt_compare(swigCPtr, callback); DatabaseException.ThrowException(ret); return ret; } internal int set_bt_compress(BDB_CompressDelegate compress, BDB_DecompressDelegate decompress) { int ret; ret = libdb_csharpPINVOKE.DB_set_bt_compress(swigCPtr, compress, decompress); DatabaseException.ThrowException(ret); return ret; } internal int get_bt_minkey(ref uint bt_minkey) { int ret; ret = libdb_csharpPINVOKE.DB_get_bt_minkey(swigCPtr, ref bt_minkey); DatabaseException.ThrowException(ret); return ret; } internal int set_bt_minkey(uint bt_minkey) { int ret; ret = libdb_csharpPINVOKE.DB_set_bt_minkey(swigCPtr, bt_minkey); DatabaseException.ThrowException(ret); return ret; } internal int set_bt_prefix(BDB_CompareDelegate callback) { int ret; ret = libdb_csharpPINVOKE.DB_set_bt_prefix(swigCPtr, callback); DatabaseException.ThrowException(ret); return ret; } internal int get_cachesize(ref uint gbytes, ref uint bytes, ref int ncache) { int ret; ret = libdb_csharpPINVOKE.DB_get_cachesize(swigCPtr, ref gbytes, ref bytes, ref ncache); DatabaseException.ThrowException(ret); return ret; } internal int set_cachesize(uint gbytes, uint bytes, int ncache) { int ret; ret = libdb_csharpPINVOKE.DB_set_cachesize(swigCPtr, gbytes, bytes, ncache); DatabaseException.ThrowException(ret); return ret; } internal int set_dup_compare(BDB_CompareDelegate callback) { int ret; ret = libdb_csharpPINVOKE.DB_set_dup_compare(swigCPtr, callback); DatabaseException.ThrowException(ret); return ret; } internal int get_encrypt_flags(ref uint flags) { int ret; ret = libdb_csharpPINVOKE.DB_get_encrypt_flags(swigCPtr, ref flags); DatabaseException.ThrowException(ret); return ret; } internal int set_encrypt(string pwd, uint flags) { int ret; ret = libdb_csharpPINVOKE.DB_set_encrypt(swigCPtr, pwd, flags); DatabaseException.ThrowException(ret); return ret; } internal void set_errcall(BDB_ErrcallDelegate db_errcall_fcn) { libdb_csharpPINVOKE.DB_set_errcall(swigCPtr, db_errcall_fcn); } internal int set_feedback(BDB_DbFeedbackDelegate callback) { int ret; ret = libdb_csharpPINVOKE.DB_set_feedback(swigCPtr, callback); DatabaseException.ThrowException(ret); return ret; } internal int get_flags(ref uint flags) { int ret; ret = libdb_csharpPINVOKE.DB_get_flags(swigCPtr, ref flags); DatabaseException.ThrowException(ret); return ret; } internal int set_flags(uint flags) { int ret; ret = libdb_csharpPINVOKE.DB_set_flags(swigCPtr, flags); DatabaseException.ThrowException(ret); return ret; } internal int set_h_compare(BDB_CompareDelegate callback) { int ret; ret = libdb_csharpPINVOKE.DB_set_h_compare(swigCPtr, callback); DatabaseException.ThrowException(ret); return ret; } internal int get_h_ffactor(ref uint ffactor) { int ret; ret = libdb_csharpPINVOKE.DB_get_h_ffactor(swigCPtr, ref ffactor); DatabaseException.ThrowException(ret); return ret; } internal int set_h_ffactor(uint ffactor) { int ret; ret = libdb_csharpPINVOKE.DB_set_h_ffactor(swigCPtr, ffactor); DatabaseException.ThrowException(ret); return ret; } internal int set_h_hash(BDB_HashDelegate callback) { int ret; ret = libdb_csharpPINVOKE.DB_set_h_hash(swigCPtr, callback); DatabaseException.ThrowException(ret); return ret; } internal int get_h_nelem(ref uint nelem) { int ret; ret = libdb_csharpPINVOKE.DB_get_h_nelem(swigCPtr, ref nelem); DatabaseException.ThrowException(ret); return ret; } internal int set_h_nelem(uint nelem) { int ret; ret = libdb_csharpPINVOKE.DB_set_h_nelem(swigCPtr, nelem); DatabaseException.ThrowException(ret); return ret; } internal int get_lorder(ref int lorder) { int ret; ret = libdb_csharpPINVOKE.DB_get_lorder(swigCPtr, ref lorder); DatabaseException.ThrowException(ret); return ret; } internal int set_lorder(int lorder) { int ret; ret = libdb_csharpPINVOKE.DB_set_lorder(swigCPtr, lorder); DatabaseException.ThrowException(ret); return ret; } internal int get_pagesize(ref uint pgsz) { int ret; ret = libdb_csharpPINVOKE.DB_get_pagesize(swigCPtr, ref pgsz); DatabaseException.ThrowException(ret); return ret; } internal int set_pagesize(uint pgsz) { int ret; ret = libdb_csharpPINVOKE.DB_set_pagesize(swigCPtr, pgsz); DatabaseException.ThrowException(ret); return ret; } internal int get_priority(ref uint flags) { int ret; ret = libdb_csharpPINVOKE.DB_get_priority(swigCPtr, ref flags); DatabaseException.ThrowException(ret); return ret; } internal int set_priority(uint flags) { int ret; ret = libdb_csharpPINVOKE.DB_set_priority(swigCPtr, flags); DatabaseException.ThrowException(ret); return ret; } internal int get_q_extentsize(ref uint extentsz) { int ret; ret = libdb_csharpPINVOKE.DB_get_q_extentsize(swigCPtr, ref extentsz); DatabaseException.ThrowException(ret); return ret; } internal int set_q_extentsize(uint extentsz) { int ret; ret = libdb_csharpPINVOKE.DB_set_q_extentsize(swigCPtr, extentsz); DatabaseException.ThrowException(ret); return ret; } internal int get_re_delim(ref int delim) { int ret; ret = libdb_csharpPINVOKE.DB_get_re_delim(swigCPtr, ref delim); DatabaseException.ThrowException(ret); return ret; } internal int set_re_delim(int delim) { int ret; ret = libdb_csharpPINVOKE.DB_set_re_delim(swigCPtr, delim); DatabaseException.ThrowException(ret); return ret; } internal int get_re_len(ref uint len) { int ret; ret = libdb_csharpPINVOKE.DB_get_re_len(swigCPtr, ref len); DatabaseException.ThrowException(ret); return ret; } internal int set_re_len(uint len) { int ret; ret = libdb_csharpPINVOKE.DB_set_re_len(swigCPtr, len); DatabaseException.ThrowException(ret); return ret; } internal int get_re_pad(ref int pad) { int ret; ret = libdb_csharpPINVOKE.DB_get_re_pad(swigCPtr, ref pad); DatabaseException.ThrowException(ret); return ret; } internal int set_re_pad(int pad) { int ret; ret = libdb_csharpPINVOKE.DB_set_re_pad(swigCPtr, pad); DatabaseException.ThrowException(ret); return ret; } internal int get_re_source(ref string source) { int ret; ret = libdb_csharpPINVOKE.DB_get_re_source(swigCPtr, ref source); DatabaseException.ThrowException(ret); return ret; } internal int set_re_source(string source) { int ret; ret = libdb_csharpPINVOKE.DB_set_re_source(swigCPtr, source); DatabaseException.ThrowException(ret); return ret; } private IntPtr stat(DB_TXN txnid, uint flags, ref int err) { return libdb_csharpPINVOKE.DB_stat(swigCPtr, DB_TXN.getCPtr(txnid), flags, ref err); } internal int stat_print(uint flags) { int ret; ret = libdb_csharpPINVOKE.DB_stat_print(swigCPtr, flags); DatabaseException.ThrowException(ret); return ret; } internal int sync(uint flags) { int ret; ret = libdb_csharpPINVOKE.DB_sync(swigCPtr, flags); DatabaseException.ThrowException(ret); return ret; } internal int truncate(DB_TXN txn, ref uint countp, uint flags) { int ret; ret = libdb_csharpPINVOKE.DB_truncate(swigCPtr, DB_TXN.getCPtr(txn), ref countp, flags); DatabaseException.ThrowException(ret); return ret; } internal int upgrade(string file, uint flags) { int ret; ret = libdb_csharpPINVOKE.DB_upgrade(swigCPtr, file, flags); DatabaseException.ThrowException(ret); return ret; } internal int verify(string file, string database, System.IO.TextWriter handle, BDB_FileWriteDelegate callback, uint flags) { int ret; ret = libdb_csharpPINVOKE.DB_verify(swigCPtr, file, database, handle, callback, flags); /* Verify is a db handle destructor. Reflect that in the wrapper class. */ swigCMemOwn = false; swigCPtr = new HandleRef(null, IntPtr.Zero); DatabaseException.ThrowException(ret); return ret; } } }