Author: EricStein
Date: 2007-07-08 05:12:28 -0400 (Sun, 08 Jul 2007)
New Revision: 420

Modified:
   trunk/pysoy/include/glib.pxd
   trunk/pysoy/src/_datatypes/HashTable.pxi
   trunk/pysoy/src/_datatypes/soy._datatypes.pxd
Log:
Insert method


Modified: trunk/pysoy/include/glib.pxd
===================================================================
--- trunk/pysoy/include/glib.pxd        2007-07-08 08:18:57 UTC (rev 419)
+++ trunk/pysoy/include/glib.pxd        2007-07-08 09:12:28 UTC (rev 420)
@@ -33,6 +33,9 @@
   ctypedef float           gfloat
   ctypedef double          gdouble
 
+  cdef     gpointer  g_malloc          ( gulong )
+  cdef     void      g_free            ( gpointer )
+
   ctypedef struct GHashTable :
     void* none
 
@@ -72,3 +75,5 @@
   cdef guint       g_hash_table_size              ( GHashTable* )
   cdef GHashTable* g_hash_table_ref               ( GHashTable* )
   cdef void        g_hash_table_unref             ( GHashTable* )
+
+  cdef gchar*      g_strdup                       ( gchar* )

Modified: trunk/pysoy/src/_datatypes/HashTable.pxi
===================================================================
--- trunk/pysoy/src/_datatypes/HashTable.pxi    2007-07-08 08:18:57 UTC (rev 
419)
+++ trunk/pysoy/src/_datatypes/HashTable.pxi    2007-07-08 09:12:28 UTC (rev 
420)
@@ -27,3 +27,14 @@
 
   def __dealloc__(self) :
     glib.g_hash_table_destroy(self._hashtable)
+
+  def insert(self, key, data) :
+    self._insert(key, data)
+
+  cdef void _insert(self, char* key, float data) :
+    cdef glib.gchar* k
+    cdef glib.gpointer d
+    d = glib.g_malloc(sizeof(float))
+    (<float*>d)[0] = data
+    k = glib.g_strdup(key)
+    glib.g_hash_table_insert(self._hashtable, k, d)

Modified: trunk/pysoy/src/_datatypes/soy._datatypes.pxd
===================================================================
--- trunk/pysoy/src/_datatypes/soy._datatypes.pxd       2007-07-08 08:18:57 UTC 
(rev 419)
+++ trunk/pysoy/src/_datatypes/soy._datatypes.pxd       2007-07-08 09:12:28 UTC 
(rev 420)
@@ -22,7 +22,8 @@
 cimport stdio
 
 cdef class HashTable :
-  cdef glib.GHashTable *_hashtable
+  cdef glib.GHashTable*  _hashtable
+  cdef void              _insert(self, char*, float)
 
 
 cdef class FaceList :

_______________________________________________
PySoy-SVN mailing list
[email protected]
http://www.pysoy.org/mailman/listinfo/pysoy-svn

Reply via email to