[vala] tokyocabinet: Add Tokyo Cabinet bindings.
- From: Evan Nemerson <evann src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [vala] tokyocabinet: Add Tokyo Cabinet bindings.
- Date: Wed, 4 Aug 2010 19:31:50 +0000 (UTC)
commit ffef0eb1c476b08ce5618ecfbe73401a093ee349
Author: Evan Nemerson <evan coeus-group com>
Date: Wed Aug 4 12:30:07 2010 -0700
tokyocabinet: Add Tokyo Cabinet bindings.
vapi/Makefile.am | 1 +
vapi/tokyocabinet.vapi | 930 ++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 931 insertions(+), 0 deletions(-)
---
diff --git a/vapi/Makefile.am b/vapi/Makefile.am
index d3e7d8d..83db45d 100644
--- a/vapi/Makefile.am
+++ b/vapi/Makefile.am
@@ -198,6 +198,7 @@ dist_vapi_DATA = \
sqlite3.vapi \
taglib_c.vapi \
tiff.vapi \
+ tokyocabinet.vapi \
tracker-indexer-module-1.0.vapi \
twitter-glib-1.0.deps \
twitter-glib-1.0.vapi \
diff --git a/vapi/tokyocabinet.vapi b/vapi/tokyocabinet.vapi
new file mode 100644
index 0000000..eb85146
--- /dev/null
+++ b/vapi/tokyocabinet.vapi
@@ -0,0 +1,930 @@
+/* tokyocabinet.vala
+ *
+ * Copyright (C) 2008-2010 Evan Nemerson
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ * Author:
+ * Evan Nemerson <evan coeus-group com>
+ */
+
+namespace TokyoCabinet {
+ [CCode (cname = "tcversion")]
+ public const string version;
+
+ [CCode (cname = "tcfatalfunc")]
+ public delegate void FatalFunc (string msg);
+ [CCode (cname = "TCCMP")]
+ public delegate int CompareFunc (uint8[] a, uint8[] b);
+ [CCode (cname = "TCCODEC")]
+ public delegate uint8[] CodecFunc (uint8[] data);
+ [CCode (cname = "TCPDPROC")]
+ public delegate uint8[] ProcessDuplicateFunc (uint8[] value);
+ [CCode (cname = "TCITER")]
+ public delegate bool IteratorFunc (uint8[] key, uint8[] data);
+
+ [CCode (lower_case_cprefix = "tc", cheader_filename = "tcutil.h")]
+ namespace Memory {
+ public static void* malloc (size_t size);
+ public static void* calloc (size_t nmemb, size_t size);
+ public static void* realloc (void *ptr, size_t size);
+ [CCode (cname = "tcmemdup")]
+ public static void* copy (void *ptr, size_t size);
+ public static string strdup (string str);
+ public static void free ([CCode (type = "void*")] void* ptr);
+
+ public static uint8[]? copy_and_free (uint8[]? data) {
+ if ( data == null )
+ return null;
+
+ uint8[] ret = new uint8[data.length];
+ GLib.Memory.copy (ret, data, data.length);
+ TokyoCabinet.Memory.free (data);
+ return ret;
+ }
+ public static string? copy_and_free_string (string? str) {
+ if ( str == null )
+ return null;
+
+ string ret = str;
+ TokyoCabinet.Memory.free (str);
+ return ret;
+ }
+ }
+
+ [Compact, CCode (cname = "TCXSTR", crpefix = "tcxstr", free_function = "tcxstrdel", cheader_filename = "tcutil.h", copy_function = "tcxstrdup")]
+ public class XString {
+ public XString ();
+ [CCode (cname = "tcxstrnew2")]
+ public XString.from_string (string str);
+ [CCode (cname = "tcxstrnew3")]
+ public XString.sized (int asiz);
+ [CCode (cname = "tcxstrdup")]
+ public XString copy ();
+ [CCode (cname = "tcxstrcat")]
+ public void append (uint8[] data);
+ [CCode (cname = "tcxstrcat2")]
+ public void append_string (string str);
+ public void clear ();
+ [PrintfFormat ()]
+ public void printf (string format, ...);
+
+ [CCode (cname = "ptr", array_length_cname = "size")]
+ public uint8[] data;
+ [CCode (cname = "ptr")]
+ public string str;
+ [CCode (cname = "asize")]
+ public int allocated;
+ }
+
+ [Compact, CCode (cname = "TCLIST", cprefix = "tclist", free_function = "tclistdel", cheader_filename = "tcutil.h", copy_function = "tclistdup")]
+ public class List {
+ [CCode (has_target = false)]
+ public delegate int CompareDatumFunc (TokyoCabinet.List.Datum a, TokyoCabinet.List.Datum b);
+
+ [CCode (cname = "TCLISTDATUM")]
+ public struct Datum {
+ [CCode (cname = "ptr", array_length_cname = "size")]
+ public uint8[] data;
+ [CCode (cname = "ptr")]
+ public string str;
+ }
+
+ public List ();
+ [CCode (cname = "tclistnew3")]
+ public List.from_strings (string s1, ...);
+ [CCode (cname = "tclistnew2")]
+ public List.sized (int anum);
+ [CCode (cname = "tclistdup")]
+ public List copy ();
+ [CCode (cname = "tclistval")]
+ public unowned uint8[]? index (int index);
+ [CCode (cname = "tclistval2")]
+ public unowned string? index_string (int index);
+ public void push (uint8[] data);
+ [CCode (cname = "tclistpush2")]
+ public void push_string (string str);
+ [CCode (cname = "tclistpop")]
+ public unowned uint8[] _pop ();
+ [CCode (cname = "_vala_tclistpop")]
+ public uint8[] pop () {
+ return TokyoCabinet.Memory.copy_and_free (this._pop ());
+ }
+ [CCode (cname = "tclistpop2")]
+ public unowned string _pop_string ();
+ [CCode (cname = "_vala_tclistpop2")]
+ public string pop_string () {
+ return TokyoCabinet.Memory.copy_and_free_string (this._pop_string ());
+ }
+ public void unshift (uint8[] data);
+ [CCode (cname = "tclistunshift2")]
+ public void unshift_string (string str);
+ [CCode (cname = "tclistshift")]
+ public unowned uint8[] _shift ();
+ [CCode (cname = "_vala_tclistshift")]
+ public uint8[] shift () {
+ return TokyoCabinet.Memory.copy_and_free (this._shift ());
+ }
+ [CCode (cname = "tclistshift2")]
+ public unowned string _shift_string ();
+ [CCode (cname = "_vala_tclistshift2")]
+ public string shift_string () {
+ return TokyoCabinet.Memory.copy_and_free_string (this._shift_string ());
+ }
+ public void insert (int index, uint8[] data);
+ [CCode (cname = "tclistinsert2")]
+ public void insert_string (int index, string str);
+ [CCode (cname = "tclistremove")]
+ public unowned uint8[] _remove (int index);
+ [CCode (cname = "_vala_tclistremove")]
+ public uint8[] remove (int index) {
+ return TokyoCabinet.Memory.copy_and_free (this._remove (index));
+ }
+ [CCode (cname = "tclistremove2")]
+ public unowned string _remove_string (int index);
+ [CCode (cname = "_vala_tclistremove2")]
+ public string remove_string (int index) {
+ return TokyoCabinet.Memory.copy_and_free_string (this._remove_string (index));
+ }
+ [CCode (cname = "tclistover")]
+ public void replace (int index, uint8[] data);
+ [CCode (cname = "tclistover2")]
+ public void replace_string (int index, string str);
+ [CCode (cname = "tclistsort")]
+ public void sort_sensitive ();
+ [CCode (cname = "tclistsortci")]
+ public void sort_insensitive ();
+ public void sort (TokyoCabinet.List.CompareDatumFunc func);
+ public void lsearch (char[] ptr);
+ public void bsearch (char[] ptr);
+ public void clear ();
+ [CCode (cname = "tclistdump")]
+ public unowned uint8[] _dump ();
+ [CCode (cname = "_vala_tclistdump")]
+ public uint8[] dump () {
+ return TokyoCabinet.Memory.copy_and_free (this._dump ());
+ }
+ public List.load (uint8[] ptr);
+ [CCode (cname = "tclistinvert")]
+ public void reverse ();
+ [PrintfFormat]
+ public void push_printf (string fmt, ...);
+
+ [CCode (array_length_cname = "anum")]
+ public TokyoCabinet.List.Datum[] array;
+ public int start;
+ [CCode (cname = "num")]
+ public int num_used;
+ }
+
+ [Compact, CCode (cname = "TCMAPREC")]
+ public class MapRecord {
+ [CCode (cname = "ksiz")]
+ public int32 key_size;
+ [CCode (cname = "vsiz")]
+ public int32 value_size;
+ public TokyoCabinet.MapRecord left;
+ public TokyoCabinet.MapRecord right;
+ public TokyoCabinet.MapRecord prev;
+ public TokyoCabinet.MapRecord next;
+ }
+
+ [Compact, CCode (cname = "TCMAP", cprefix = "tcmap", free_function = "tcmapdel", cheader_filename = "tcutil.h", copy_function = "tcmapdup")]
+ public class Map {
+ public Map ();
+ [CCode (cname = "tcmapnew2")]
+ public Map.sized (uint32 bnum);
+ [CCode (cname = "tcmapnew3")]
+ public Map.from_strings (string key1, string val1, ...);
+ [CCode (cname = "tcmapload")]
+ public Map.load (uint8[] ptr);
+ [CCode (cname = "tcmapdup")]
+ public Map copy ();
+ [CCode (cname = "tcmapputkeep")]
+ public void put (uint8[] key, uint8[] value);
+ [CCode (cname = "tcmapputkeep2")]
+ public void put_string (string key, string value);
+ [CCode (cname = "tcmapput")]
+ public bool replace (uint8[] key, uint8[] value);
+ [CCode (cname = "tcmapput2")]
+ public bool replace_string (string key, string value);
+ [CCode (cname = "tcmapputcat")]
+ public void append (uint8[] key, uint8[] value);
+ [CCode (cname = "tcmapputcat2")]
+ public void append_string (string key, string value);
+ [CCode (cname = "tcmapout")]
+ public bool remove (uint8[] key);
+ [CCode (cname = "tcmapout2")]
+ public bool remove_string (string key);
+ [CCode (cname = "tcmapget")]
+ public unowned uint8[]? get (char[] key);
+ [CCode (cname = "tcmapget2")]
+ public unowned string? get_string (string key);
+ public bool move (char[] key, bool head = true);
+ [CCode (cname = "tcmapmove2")]
+ public bool move_string (string key, bool head = true);
+ [CCode (cname = "tcmapiterinit")]
+ public void iterator_init ();
+ [CCode (cname = "tcmapiternext")]
+ public unowned uint8[] iterator_next ();
+ [CCode (cname = "tcmapiternext2")]
+ public unowned string? iterator_next_string ();
+ [CCode (cname = "tcmapiterval2")]
+ public unowned string? iterator_value_string (string key);
+ [CCode (cname = "tcmapiterval")]
+ public unowned uint8[]? iterator_value (char[] key);
+ public TokyoCabinet.List keys ();
+ [CCode (cname = "tcmapvals")]
+ public TokyoCabinet.List values ();
+ [CCode (cname = "tcmapaddint")]
+ public int add_int (uint8[] key, int num);
+ [CCode (cname = "tcmapadddouble")]
+ public double add_double (char[] key, double num);
+ public void clear ();
+ [CCode (cname = "tcmapcutfront")]
+ public void cut_front (int num);
+ [CCode (cname = "tcmapdump")]
+ public unowned uint8[] _dump ();
+ [CCode (cname = "_vala_tcmapdump")]
+ public uint8[] dump () {
+ return TokyoCabinet.Memory.copy_and_free (this._dump ());
+ }
+
+ [CCode (array_length_cname = "bnum", array_length_type = "guint32")]
+ public TokyoCabinet.MapRecord[] buckets;
+ public TokyoCabinet.MapRecord first;
+ public TokyoCabinet.MapRecord last;
+ public TokyoCabinet.MapRecord cur;
+ [CCode (cname = "rnum")]
+ public uint64 num_records;
+ [CCode (cname = "msiz")]
+ public uint64 size;
+ }
+
+ [Compact, CCode (cname = "TCTREE", cprefix = "tctree", free_function = "tctreedel", cheader_filename = "tcutil.h", copy_function = "tctreedup")]
+ public class Tree {
+ [CCode (cname = "TREECMP")]
+ public delegate int Compare (uint8[] a, uint8[] b);
+
+ [Compact, CCode (cname = "TCTREEREC")]
+ public class Record {
+ [CCode (cname = "ksiz")]
+ public int32 key_size;
+ [CCode (cname = "vsiz")]
+ public int32 value_size;
+ TokyoCabinet.Tree.Record left;
+ TokyoCabinet.Tree.Record right;
+ }
+
+ [CCode (cname = "tctreecmplexical")]
+ public static int compare_lexical (uint8[] a, uint8[] b);
+ [CCode (cname = "tctreecmpdecimal")]
+ public static int compare_decimal (uint8[] a, uint8[] b);
+ [CCode (cname = "tctreecmpint32")]
+ public static int compare_int32 (uint8[] a, uint8[] b);
+ [CCode (cname = "tctreecmpint64")]
+ public static int compare_int64 (uint8[] a, uint8[] b);
+
+ [CCode (cname = "tctreenew2")]
+ public Tree (TokyoCabinet.Tree.Compare cmp = TokyoCabinet.Tree.compare_lexical);
+ public Tree.load (uint8[] data, TokyoCabinet.Tree.Compare cmp = TokyoCabinet.Tree.compare_lexical);
+ [CCode (cname = "tctreedup")]
+ public Tree copy ();
+ [CCode (cname = "tctreeput")]
+ public void replace (uint8[] key, uint8[] value);
+ [CCode (cname = "tctreeput2")]
+ public void replace_string (string key, string value);
+ [CCode (cname = "tctreeputkeep")]
+ public bool put (uint8[] key, uint8[] value);
+ [CCode (cname = "tctreeputkeep2")]
+ public bool put_string (string key, string value);
+ [CCode (cname = "tctreeputcat")]
+ public void append (uint8[] key, uint8[] value);
+ [CCode (cname = "tctreeputcat2")]
+ public void append_string (string key, string value);
+ [CCode (cname = "tctreeout")]
+ public bool remove (uint8[] key);
+ [CCode (cname = "tctreeout2")]
+ public bool remove_string (string key);
+ [CCode (cname = "tctreeget")]
+ public unowned uint8[]? get (uint8[] key);
+ [CCode (cname = "tctreeget2")]
+ public unowned string? get_string (string key);
+ [CCode (cname = "tctreeiterinit")]
+ public void iterator_init ();
+ [CCode (cname = "tctreeiternext")]
+ public unowned uint8[]? iterator_next ();
+ [CCode (cname = "tctreeiternext2")]
+ public unowned string? iterator_next_string ();
+ [CCode (cname = "tctreeiterval")]
+ public unowned uint8[]? iterator_value (uint8[] key);
+ [CCode (cname = "tctreeiterval2")]
+ public unowned string? iterator_value_string (string key);
+ [CCode (cname = "tctreekeys")]
+ public TokyoCabinet.List get_keys ();
+ [CCode (cname = "tctreevals")]
+ public TokyoCabinet.List get_values ();
+ [CCode (cname = "tctreeaddint")]
+ public int add_int (uint8[] key, int num);
+ [CCode (cname = "tctreeadddouble")]
+ public double add_double (uint8[] key, double num);
+ public void clear ();
+ [CCode (cname = "tctreedump")]
+ public unowned uint8[] _dump ();
+ [CCode (cname = "tctreedump")]
+ public uint8[] dump () {
+ return TokyoCabinet.Memory.copy_and_free (this._dump ());
+ }
+
+ public TokyoCabinet.Tree.Record root;
+ public TokyoCabinet.Tree.Record cur;
+ public uint64 rnum;
+ public uint64 msiz;
+ [CCode (deletage_target_cname = "cmpop")]
+ public TokyoCabinet.Tree.Compare cmp;
+ }
+
+ [Compact, CCode (cname = "TCMDB", cprefix = "tcmdb", free_function = "tctreedel", cheader_filename = "tcutil.h")]
+ public class MDB {
+ public MDB ();
+ public MDB.with_num_buckets (uint32 bnum);
+ public void replace (uint8[] key, uint8[] value);
+ [CCode (cname = "tcmdbput2")]
+ public void replace_string (string key, string value);
+ [CCode (cname = "tcmdbputkeep")]
+ public bool put (uint8[] key, uint8[] value);
+ [CCode (cname = "tcmdbputkeep2")]
+ public bool put_string (string key, string value);
+ [CCode (cname = "tcmdbputcat")]
+ public void append (uint8[] key, uint8[] value);
+ [CCode (cname = "tcmdbputcat2")]
+ public void append_string (string key, string value);
+ [CCode (cname = "tcmdbout")]
+ public bool remove (uint8[] key);
+ [CCode (cname = "tcmdbout2")]
+ public bool remove_string (string key);
+ [CCode (cname = "tcmdbget2")]
+ public unowned string? get_string (string key);
+ [CCode (cname = "tcmdbget")]
+ public unowned uint8[]? get (uint8[] key);
+ [CCode (cname = "tcmdbvsiz")]
+ public int value_size (uint8[] key);
+ [CCode (cname = "tcmdbvsiz2")]
+ public int value_size_string (string key);
+ [CCode (cname = "tcmdbiterinit")]
+ public void iterator_init ();
+ [CCode (cname = "tcmdbiternext")]
+ public uint8[]? iterator_next ();
+ [CCode (cname = "tcmdbiternext2")]
+ public unowned string? iterator_next_string ();
+ [CCode (cname = "tcmdbfwmkeys")]
+ public TokyoCabinet.List forward_matching_keys (uint8[] pbuf, int max);
+ [CCode (cname = "tcmdbfwmkeys2")]
+ public TokyoCabinet.List forward_matching_keys_string (string pstr, int max);
+ [CCode (cname = "tcmdbrnum")]
+ public uint64 get_length ();
+ [CCode (cname = "tcmdbmsiz")]
+ public uint64 get_size ();
+ [CCode (cname = "tcmdbaddint")]
+ public int add_int (uint8[] key, int num);
+ [CCode (cname = "tcmdbadddouble")]
+ public double add_double (uint8[] key, double num);
+ [CCode (cname = "tcmdbvanish")]
+ public void clear ();
+ [CCode (cname = "tcmdbcutfront")]
+ public void cut_front (int num);
+
+ public uint64 length { get { return this.get_length (); } }
+ public uint64 size { get { return this.get_size (); } }
+ }
+
+ [Compact, CCode (cname = "TCNDB", cprefix = "tcndb", free_function = "tcndbdel", cheader_filename = "tcutil.h")]
+ public class NDB {
+ [CCode (cname = "tcndbnew2")]
+ public NDB (TokyoCabinet.BDB.Compare cmp = TokyoCabinet.Tree.compare_lexical, void * cmpop = null);
+ public void replace (uint8[] key, uint8[] value);
+ [CCode (cname = "tcndbput2")]
+ public void replace_string (string key, string value);
+ [CCode (cname = "tcndbputkeep")]
+ public bool put (uint8[] key, uint8[] value);
+ [CCode (cname = "tcndbputkeep2")]
+ public bool put_string (string key, string value);
+ [CCode (cname = "tcndbputcat")]
+ public bool append (uint8[] key, uint8[] value);
+ [CCode (cname = "tcndbputcat2")]
+ public bool append_string (string key, string value);
+ [CCode (cname = "tcndbout")]
+ public bool remove (uint8[] key);
+ [CCode (cname = "tcndbout2")]
+ public bool remove_string (string key);
+ [CCode (cname = "tcndbget")]
+ private unowned uint8[]? _get (uint8[] key);
+ [CCode (name = "_vala_tcndbget")]
+ public uint8[]? get (uint8[] key) {
+ return TokyoCabinet.Memory.copy_and_free (this._get (key));
+ }
+ public string? get_string (string key) {
+ unowned uint8[] kbuf = (uint8[]) key;
+ kbuf.length = (int) key.size ();
+ return (string) this.get (kbuf);
+ }
+ [CCode (cname = "tcndbvsiz")]
+ public int value_size (uint8[] key);
+ [CCode (cname = "tcndbvsiz2")]
+ public int value_size_string (string key);
+ [CCode (cname = "tcndbiterinit")]
+ public void iterator_init ();
+ [CCode (cname = "tcndbiterinit2")]
+ public void iterator_init_before (uint8[] key);
+ [CCode (cname = "tcndbiterinit3")]
+ public void iterator_init_before_string (string key);
+ [CCode (cname = "tcndbiternext")]
+ public unowned uint8[]? _iterator_next ();
+ public uint8[]? iterator_next () {
+ return TokyoCabinet.Memory.copy_and_free (this._iterator_next ());
+ }
+ [CCode (cname = "tcndbiternext2")]
+ public unowned string? _iterator_next_string ();
+ public string? iterator_next_string () {
+ return TokyoCabinet.Memory.copy_and_free_string (this._iterator_next_string ());
+ }
+ [CCode (cname = "tcndbfwmkeys")]
+ public TokyoCabinet.List forward_matching_keys (uint8[] pbuf, int max);
+ [CCode (cname = "tcndbfwnkeys2")]
+ public TokyoCabinet.List forward_matching_keys_string (string pstr, int max);
+ [CCode (cname = "tcndbrnum")]
+ public uint64 get_length ();
+ [CCode (cname = "tcndbmsiz")]
+ public uint64 get_size ();
+ [CCode (cname = "tcndbaddint")]
+ public int add_int (uint8[] key, int num);
+ [CCode (cname = "tcndbadddouble")]
+ public double add_double (uint8[] key, double num);
+ [CCode (cname = "tcndbvanish")]
+ public void clear ();
+ [CCode (cname = "tcndbcutfringe")]
+ public void cut_fringe (int num);
+
+ public uint64 length { get { return this.get_length (); } }
+ public uint64 size { get { return this.get_size (); } }
+ }
+
+ [CCode (cname = "int", cprefix = "TCE", cheader_filename = "tchdb.h")]
+ public enum ErrorCode {
+ SUCCESS,
+ THREAD,
+ INVALID,
+ NOFILE,
+ NOPERM,
+ META,
+ RHEAD,
+ OPEN,
+ CLOSE,
+ TRUNC,
+ SYNC,
+ STAT,
+ SEEK,
+ READ,
+ WRITE,
+ MMAP,
+ LOCK,
+ UNLINK,
+ RENAME,
+ MKDIR,
+ RMDIR,
+ KEEP,
+ NOREC,
+ MISC
+ }
+
+ [Compact, CCode (cname = "TCHDB", cprefix = "tchdb", free_function = "tchdbdel", cheader_filename = "tchdb.h")]
+ public class HDB {
+ [Flags, CCode (cname = "uint8_t", cprefix = "HDBT", cheader_filename = "tchdb.h")]
+ public enum TuningOption {
+ LARGE,
+ DEFLATE,
+ BZIP,
+ TCBS,
+ EXCODEC
+ }
+
+ [Flags, CCode (cname = "uint8_t", cprefix = "HDBO", cheader_filename = "tchdb.h")]
+ public enum OpenMode {
+ READER,
+ WRITER,
+ CREAT,
+ TRUNC,
+ NOLCK,
+ LCKNB,
+ TSYNC
+ }
+
+ [CCode (cname = "tchdberrstr")]
+ public static unowned string get_error_message (TokyoCabinet.ErrorCode ecode);
+ public HDB ();
+ [CCode (cname = "tchdberrcode")]
+ public TokyoCabinet.ErrorCode get_error_code ();
+ [CCode (cname = "tchdbsetmutex")]
+ public bool set_mutex ();
+ [CCode (cname = "tchdbtune")]
+ public bool tune (int64 bnum, int8 apow, int8 fpow, TokyoCabinet.HDB.TuningOption opts);
+ [CCode (cname = "tchdbsetcache")]
+ public bool set_cache (int32 rcnum);
+ [CCode (cname = "tchdbsetxmsiz")]
+ public bool setxmsiz (int64 xmsiz);
+ [CCode (cname = "tchdbopen")]
+ public bool open (string path, TokyoCabinet.HDB.OpenMode omode);
+ [CCode (cname = "tchdbclose")]
+ public bool close ();
+ [CCode (cname = "tchdbput")]
+ public bool replace (uint8[] key, uint8[] value);
+ [CCode (cname = "tchdbput2")]
+ public bool replace_string (string key, string value);
+ [CCode (cname = "tchdbputkeep")]
+ public bool put (uint8[] key, uint8[] value);
+ [CCode (cname = "tchdbputkeep2")]
+ public bool put_string (string key, string value);
+ [CCode (cname = "tchdbputcat")]
+ public bool append (uint8[] key, uint8[] value);
+ [CCode (cname = "tchdbputcat2")]
+ public bool append_string (string key, string value);
+ [CCode (cname = "tchdbputasync")]
+ public bool replace_async (uint8[] key, uint8[] ksiz);
+ [CCode (cname = "tchdbputasync2")]
+ public bool replace_async_string (string key, string value);
+ [CCode (cname = "tchdbout")]
+ public bool remove (uint8[] key);
+ [CCode (cname = "tchdbout2")]
+ public bool remove_string (string key);
+ [CCode (cname = "tchdbget3")]
+ public int _get (uint8[] kbuf, uint8[] vbuf);
+ [CCode (cname = "_vala_tchdbget")]
+ public uint8[]? get (uint8[] key) {
+ int vsiz = this.value_size (key);
+ if ( vsiz < 0 )
+ return null;
+
+ var vbuf = new uint8[vsiz];
+ this._get (key, vbuf);
+ return vbuf;
+ }
+ [CCode (cname = "_vala_tchdbget2")]
+ public string? get_string (string key) {
+ unowned uint8[] kbuf = (uint8[]) key;
+ kbuf.length = (int) key.size ();
+ return (string) this.get (kbuf);
+ }
+ [CCode (cname = "tchdbvsiz")]
+ public int value_size (uint8[] key);
+ [CCode (cname = "tchdbvsiz2")]
+ public int value_size_string (string key);
+ [CCode (cname = "tchdbfwmkeys")]
+ public TokyoCabinet.List forward_matching_keys (uint8[] pbuf, int max);
+ [CCode (cname = "tchdbfwmkeys2")]
+ public TokyoCabinet.List forward_matching_keys_string (string pstr, int max);
+ [CCode (cname = "tchdbaddint")]
+ public int add_int (uint8[] key, int num);
+ [CCode (cname = "tchdbadddouble")]
+ public double add_double (uint8[] key, double num);
+ [CCode (cname = "tchdbsync")]
+ public bool sync ();
+ [CCode (cname = "tchdboptimize")]
+ public bool optimize (int64 bnum, int8 apow, int8 fpow, TuningOption opts);
+ [CCode (cname = "tchdbvanish")]
+ public bool clear ();
+ [CCode (cname = "tchdbcopy")]
+ public bool copy (string path);
+ [CCode (cname = "tchdbpath")]
+ public unowned string path ();
+ [CCode (cname = "tchdbrnum")]
+ public uint64 get_length ();
+ [CCode (cname = "tchdbfsiz")]
+ public uint64 get_size ();
+
+ public uint64 length { get { return this.get_length (); } }
+ public uint64 size { get { return this.get_size (); } }
+ }
+
+ [Compact, CCode (cname = "TCBDB", cprefix = "tcbdb", free_function = "tcbdbdel", cheader_filename = "tcbdb.h")]
+ public class BDB {
+ [CCode (cname = "BDBCMP")]
+ public delegate int Compare (uint8[] a, uint8[] b);
+
+ [Compact, CCode (cname = "BDBCUR", cprefix = "tcbdbcur", free_function = "tcbdbcurdel", cheader_filename = "tcbdb.h")]
+ public class Cursor {
+ [CCode (cname = "int", cprefix = "BDBCP")]
+ public enum PutMode {
+ CURRENT,
+ BEFORE,
+ AFTER
+ }
+
+ [CCode (cname = "tcbdbcurnew")]
+ public Cursor (TokyoCabinet.BDB bdb);
+ public bool first ();
+ public bool last ();
+ public bool jump (uint8[] key);
+ [CCode (cname = "tcbdbcurjump2")]
+ public bool jump_string (string key);
+ [CCode (cname = "tcbdbcurprev")]
+ public bool previous ();
+ public bool next ();
+ public bool put (uint8[] value, TokyoCabinet.BDB.Cursor.PutMode cpmode);
+ [CCode (cname = "tcbdbput2")]
+ public bool put_string (string value, TokyoCabinet.BDB.Cursor.PutMode cpmode);
+ [CCode (cname = "tcbdbcurout")]
+ public bool remove ();
+ [CCode (cname = "tcbdbcurkey3")]
+ public unowned uint8[]? key ();
+ [CCode (cname = "_vala_tcbdbcurkey2")]
+ public unowned string? key_string () {
+ return (string) this.key ();
+ }
+ [CCode (cname = "tcbdbcurval3")]
+ public unowned uint8[]? value ();
+ [CCode (cname = "_vala_tcbdbcurval2")]
+ public unowned string? value_string () {
+ return (string) this.value ();
+ }
+ [CCode (cname = "tcbdbcurrec")]
+ public bool record (TokyoCabinet.XString kxstr, TokyoCabinet.XString vxstr);
+ }
+
+ [Flags, CCode (cname = "int", cprefix = "BDBO", cheader_filename = "tcbdb.h")]
+ public enum OpenMode {
+ READER,
+ WRITER,
+ CREAT,
+ TRUNC,
+ NOLCK,
+ LCKNB
+ }
+
+ [Flags, CCode (cname = "uint8_t", cprefix = "BDBT", cheader_filename = "tcbdb.h")]
+ public enum TuningOption {
+ LARGE,
+ DEFLATE,
+ BZIP,
+ TCBS,
+ EXCODEC
+ }
+
+ [CCode (cname = "tcbdberrmsg")]
+ public static unowned string get_error_message (TokyoCabinet.ErrorCode ecode);
+ public BDB ();
+ [CCode (cname = "tcbdbecode")]
+ public TokyoCabinet.ErrorCode get_error_code ();
+ [CCode (cname = "tcbdbsetmutex")]
+ public bool set_mutex ();
+ [CCode (cname = "tcbdbsetcmpfunc")]
+ public bool set_compare_func (TokyoCabinet.BDB.Compare cmp);
+ [CCode (cname = "tcbdbtune")]
+ public bool tune (int32 lmemb, int32 nmemb, int64 bnum, int8 apow, int8 fpow, TokyoCabinet.BDB.TuningOption opts);
+ [CCode (cname = "tcbdbsetxmsiz")]
+ public bool set_extra_mapped_size (int64 xmsiz);
+ [CCode (cname = "tcbdbopen")]
+ public bool open (string path, TokyoCabinet.BDB.OpenMode mode = TokyoCabinet.BDB.OpenMode.READER | TokyoCabinet.BDB.OpenMode.WRITER | TokyoCabinet.BDB.OpenMode.CREAT);
+ [CCode (cname = "tcbdbclose")]
+ public bool close ();
+ [CCode (cname = "tcbdbput")]
+ public bool replace (uint8[] key, uint8[] value);
+ [CCode (cname = "tcbdbput2")]
+ public bool replace_string (string key, string value);
+ [CCode (cname = "tcbdbputkeep")]
+ public bool put (uint8[] key, uint8[] value);
+ [CCode (cname = "tcbdbputkeep2")]
+ public bool put_string (string key, string value);
+ [CCode (cname = "tcbdbputcat")]
+ public bool append (uint8[] key, uint8[] value);
+ [CCode (cname = "tcbdbputcat2")]
+ public bool append_string (string key, string value);
+ [CCode (cname = "tcbdbputdup")]
+ public bool put_duplicate (uint8[] key, uint8[] value);
+ [CCode (cname = "tcbdbputdup2")]
+ public bool put_duplicate_string (string key, string value);
+ [CCode (cname = "tcbdbout")]
+ public bool remove (uint8[] key);
+ [CCode (cname = "tcbdbout2")]
+ public bool remove_string (string key);
+ [CCode (cname = "tcbdbget3")]
+ private unowned uint8[]? _get (uint8[] key);
+ [CCode (cname = "_vala_tcbdbget")]
+ public uint8[]? get (uint8[] key) {
+ return this._get (key);
+ }
+ public string? get_string (string key) {
+ unowned uint8[] k = (uint8[]) key;
+ k.length = (int) key.size ();
+ return (string) this._get (k);
+ }
+ [CCode (cname = "tcbdbget4")]
+ public TokyoCabinet.List get_list (uint8[] key);
+ [CCode (cname = "tcbdbvnum")]
+ public int value_count (uint8[] key);
+ [CCode (cname = "tcbdbvnum2")]
+ public int value_count_string (string key);
+ [CCode (cname = "tcbdbvsiz")]
+ public int value_size (uint8[] key);
+ [CCode (cname = "tcbdbvsiz2")]
+ public int value_size_string (string key);
+ [CCode (cname = "tcbdbrange")]
+ public TokyoCabinet.List range (uint8[] bkey, bool binc, uint8[] ekey, bool einc, int max);
+ [CCode (cname = "tcbdbrange2")]
+ public TokyoCabinet.List range_string (string bkey, bool binc, string ekey, bool einc, int max);
+ [CCode (cname = "tcbdbfwmkeys")]
+ public TokyoCabinet.List forward_matching_keys (uint8[] pbuf, int max);
+ [CCode (cname = "tcbdbfwmkeys2")]
+ public TokyoCabinet.List forward_matching_keys_string (string pstr, int max);
+ [CCode (cname = "tcbdbaddint")]
+ public int add_int (uint8[] key, int num);
+ [CCode (cname = "tcbdbadddouble")]
+ public double add_double (uint8[] key, double num);
+ [CCode (cname = "tcbdbsync")]
+ public bool sync ();
+ [CCode (cname = "tcbdboptimize")]
+ public bool optimize (int32 lmemb, int32 nmemb, int64 bnum, int8 apow, int8 fpow, TuningOption opts);
+ [CCode (cname = "tcbdbvanish")]
+ public bool clear ();
+ [CCode (cname = "tcbdbcopy")]
+ public bool copy (string path);
+ [CCode (cname = "tcbdbtranbegin")]
+ public bool transaction_begin ();
+ [CCode (cname = "tcbdbtrancommit")]
+ public bool transaction_commit ();
+ [CCode (cname = "tcbdbtranabort")]
+ public bool transaction_abort ();
+ [CCode (cname = "tcbdbpath")]
+ public unowned string path ();
+ [CCode (cname = "tcbdbrnum")]
+ public uint64 get_length ();
+ [CCode (cname = "tcbdbfsiz")]
+ public uint64 get_size ();
+ [CCode (cname = "tcbdbcurnew")]
+ public BDB.Cursor iterator ();
+
+ public uint64 length { get { return this.get_length (); } }
+ public uint64 size { get { return this.get_size (); } }
+ }
+
+ [Compact, CCode (cname = "TCFDB", cprefix = "tcfdb", free_function = "tcfdbdel", cheader_filename = "tcfdb.h")]
+ public class FDB {
+ [CCode (cname = "FDBIDMIN")]
+ public const int IDMIN;
+ [CCode (cname = "FDBIDMAX")]
+ public const int IDMAX;
+ [CCode (cname = "FDBIDPREV")]
+ public const int IDPREV;
+ [CCode (cname = "FDBIDNEXT")]
+ public const int IDNEXT;
+
+ [CCode (cname = "tcfdberrmsg")]
+ public unowned string get_error_message (TokyoCabinet.ErrorCode ecode);
+ [CCode (cname = "tcfdbnew")]
+ public FDB ();
+ [CCode (cname = "tcfdbecode")]
+ public TokyoCabinet.ErrorCode get_error_code ();
+ [CCode (cname = "tcfdbsetmutex")]
+ public bool set_mutex ();
+ [CCode (cname = "tcfdbtune")]
+ public bool tune (int32 width = 0, int64 limsiz = 0);
+ [CCode (cname = "tcfdbclose")]
+ public bool close ();
+ [CCode (cname = "tcfdbput")]
+ public bool replace (int64 id, uint8[] value);
+ [CCode (cname = "tcfdbputkeep")]
+ public bool put (int64 id, uint8[] value);
+ [CCode (cname = "tcfdbputcat")]
+ public bool append (int64 id, uint8[] value);
+ [CCode (cname = "tcfdbout")]
+ public bool remove (int64 id);
+ [CCode (cname = "tcfdbget4")]
+ public int _get (int64 id, uint8[] value);
+ [CCode (cname = "_vala_tcfdbget")]
+ public uint8[]? get (int64 id) {
+ var vsiz = this.get_value_size (id);
+ if ( vsiz < 0 )
+ return null;
+
+ var vbuf = new uint8[vsiz];
+ this._get (id, vbuf);
+ return vbuf;
+ }
+ [CCode (cname = "tcfdbvsiz")]
+ public int get_value_size (int64 id);
+ [CCode (cname = "tcfdbiterinit")]
+ public bool iterator_init ();
+ [CCode (cname = "tcfdbiternext")]
+ public uint64 iterator_next ();
+ [CCode (cname = "tcfdbaddint")]
+ public int add_int (int64 id, int num);
+ [CCode (cname = "tcfdbadddouble")]
+ public double add_double (int64 id, double num);
+ [CCode (cname = "tcfdbsync")]
+ public bool sync ();
+ [CCode (cname = "tcfdboptimize")]
+ public bool optimize (int32 width = 0, int64 limsiz = 0);
+ [CCode (cname = "tcfdbvanish")]
+ public bool clear ();
+ [CCode (cname = "tcfdbcopy")]
+ public bool copy (string path);
+ [CCode (cname = "tcfdbpath")]
+ public unowned string path ();
+ [CCode (cname = "tcfdbrnum")]
+ public uint64 get_length ();
+ [CCode (cname = "tcfdbfsiz")]
+ public uint64 get_size ();
+
+ public uint64 length { get { return this.get_length (); } }
+ public uint64 size { get { return this.get_size (); } }
+ }
+
+ [Compact, CCode (cname = "TCADB", cprefix = "tcadb", free_function = "tcadbdel", cheader_filename = "tcadb.h")]
+ public class ADB {
+ [CCode (cname = "tcadbnew")]
+ public ADB ();
+ [CCode (cname = "tcadbopen")]
+ public bool open (string name);
+ [CCode (cname = "tcadbclose")]
+ public bool close ();
+ [CCode (cname = "tcadbput")]
+ public bool replace (uint8[] key, uint8[] vsiz);
+ [CCode (cname = "tcadbput2")]
+ public bool replace_string (string key, string value);
+ [CCode (cname = "tcadbputkeep")]
+ public bool put (uint8[] key, uint8[] value);
+ [CCode (cname = "tcadbputkeep2")]
+ public bool put_string (string key, string value);
+ [CCode (cname = "tcadbputcat")]
+ public bool append (uint8[] key, uint8[] value);
+ [CCode (cname = "tcadbputcat2")]
+ public bool append_string (string key, string value);
+ [CCode (cname = "tcadbout")]
+ public bool remove (uint8[] key);
+ [CCode (cname = "tcadbout2")]
+ public bool remove_string (string key);
+ [CCode (cname = "tcadbget")]
+ public unowned uint8[]? _get (uint8[] key);
+ [CCode (cname = "_vala_tcadbget")]
+ public uint8[]? get (uint8[] key) {
+ return TokyoCabinet.Memory.copy_and_free (this._get (key));
+ }
+ [CCode (cname = "tcadbget2")]
+ public unowned string? _get_string (string key);
+ public string? get_string (string key) {
+ return TokyoCabinet.Memory.copy_and_free_string (this._get_string (key));
+ }
+ [CCode (cname = "tcadbvsiz")]
+ public int value_size (uint8[] key);
+ [CCode (cname = "tcadbvsiz2")]
+ public int value_size_string (string key);
+ [CCode (cname = "tcadbiterinit")]
+ public bool iterator_init ();
+
+ [CCode (cname = "tcadbiternext")]
+ public unowned uint8[]? _iterator_next ();
+ [CCode (cname = "_vala_tcadbiternext")]
+ public uint8[]? iterator_next () {
+ return TokyoCabinet.Memory.copy_and_free (this._iterator_next ());
+ }
+ [CCode (cname = "tcadbiternext2")]
+ public unowned string? _iterator_next_string ();
+ [CCode (cname = "_vala_tcadbiternext")]
+ public string? iterator_next_string () {
+ return TokyoCabinet.Memory.copy_and_free_string (this._iterator_next_string ());
+ }
+
+ [CCode (cname = "tcadbfwmkeys")]
+ public TokyoCabinet.List forward_matching_keys (uint8[] pbuf, int max);
+ [CCode (cname = "tcadbfwmkeys2")]
+ public TokyoCabinet.List forward_matching_keys_string (string pstr, int max);
+ [CCode (cname = "tcadbaddint")]
+ public int add_int (uint8[] key, int num);
+ [CCode (cname = "tcadbadddouble")]
+ public double add_double (uint8[] key, double num);
+ [CCode (cname = "tcadbsync")]
+ public bool sync ();
+ [CCode (cname = "tcadbvanish")]
+ public bool clear ();
+ [CCode (cname = "tcadbcopy")]
+ public bool copy (string path);
+ [CCode (cname = "tcadbrnum")]
+ public uint64 get_length ();
+ [CCode (cname = "tcadbsize")]
+ public uint64 get_size ();
+
+ public uint64 length { get { return this.get_length (); } }
+ public uint64 size { get { return this.get_size (); } }
+ }
+}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]