]> Dogcows Code - chaz/homebank/blobdiff - src/hb-account.c
Merge branch 'master' into ext-perl
[chaz/homebank] / src / hb-account.c
index 56b5339c1da2dfdff03969fec48ed5d48dbd6e41..9064868c71257d88d5ef18a4e0d5f8cce2b6dd29 100644 (file)
@@ -20,6 +20,9 @@
 #include "homebank.h"
 #include "hb-account.h"
 
+#include "ext.h"
+#include "refcount.h"
+
 /****************************************************************************/
 /* Debug macros                                                                                 */
 /****************************************************************************/
@@ -39,7 +42,7 @@ void
 da_acc_free(Account *item)
 {
        DB( g_print("da_acc_free\n") );
-       if(item != NULL)
+       if(rc_unref(item))
        {
                DB( g_print(" => %d, %s\n", item->key, item->name) );
 
@@ -51,7 +54,7 @@ da_acc_free(Account *item)
                
                g_queue_free (item->txn_queue);
                
-               g_free(item);
+               rc_free(item);
        }
 }
 
@@ -62,7 +65,7 @@ da_acc_malloc(void)
 Account *item;
 
        DB( g_print("da_acc_malloc\n") );
-       item = g_malloc0(sizeof(Account));
+       item = rc_alloc(sizeof(Account));
        item->txn_queue = g_queue_new ();
        return item;
 }
@@ -157,6 +160,9 @@ guint32 *new_key;
        *new_key = item->key;
        g_hash_table_insert(GLOBALS->h_acc, new_key, item);
 
+       GValue item_val = G_VALUE_INIT;
+       ext_hook("account_inserted", EXT_ACCOUNT(&item_val, item), NULL);
+
        return TRUE;
 }
 
@@ -192,6 +198,10 @@ guint32 *new_key;
                        DB( g_print(" -> insert id: %d\n", *new_key) );
 
                        g_hash_table_insert(GLOBALS->h_acc, new_key, item);
+
+                       GValue item_val = G_VALUE_INIT;
+                       ext_hook("account_inserted", EXT_ACCOUNT(&item_val, item), NULL);
+
                        return TRUE;
                }
        }
This page took 0.021553 seconds and 4 git commands to generate.