From: Richard Schwarting Date: Fri, 8 Feb 2013 08:57:57 +0000 (-0800) Subject: libxml-2.0: add HashTable X-Git-Tag: 0.19.0~25 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3f247723fb2084c0e3dd966c40d9b9929edcfd36;p=thirdparty%2Fvala.git libxml-2.0: add HashTable Partially fixes bug 677355. --- diff --git a/vapi/libxml-2.0.vapi b/vapi/libxml-2.0.vapi index 31c3db5ac..e0f5ef680 100644 --- a/vapi/libxml-2.0.vapi +++ b/vapi/libxml-2.0.vapi @@ -608,6 +608,36 @@ namespace Xml { public const string name; } + [CCode (has_target = false, cname = "xmlHashScannerFull", cheader_filename = "libxml/hash.h")] + public delegate void HashScannerFull (void *payload, void *user_data, string name, string name2, string name3); + + [CCode (has_target = false, cname = "xmlHashDeallocator", cheader_filename = "libxml/hash.h")] + public delegate void HashDeallocator (void *payload, string name); + + [Compact] + [CCode (cname = "xmlHashTable", cheader_filename="libxml/hash.h")] + public class HashTable { + [CCode (cname = "xmlHashCreate")] + public HashTable (int size); + + [CCode (cname = "xmlHashAddEntry")] + public int add_entry (string name, void *user_data); + + [CCode (cname = "xmlHashFree")] + public void free (HashDeallocator? f); + + [CCode (cname = "xmlHashLookup")] + public void *lookup (string name); + + [CCode (cname = "xmlHashRemoveEntry")] + public int remove_entry (string name, HashDeallocator? f); + + [CCode (cname = "xmlHashScanFull")] + public void scan_full (HashScannerFull f, void *user_data); + + [CCode (cname = "xmlHashSize")] + public int size (); + } [Compact] [CCode (cname = "xmlNode", free_function = "xmlFreeNode", cheader_filename = "libxml/tree.h")]