r15816 - gnucash/branches/gobject-engine-dev-warlord - convert gncAddress to GObject initialization

Derek Atkins warlord at cvs.gnucash.org
Wed Apr 4 22:43:19 EDT 2007


Author: warlord
Date: 2007-04-04 22:43:18 -0400 (Wed, 04 Apr 2007)
New Revision: 15816
Trac: http://svn.gnucash.org/trac/changeset/15816

Modified:
   gnucash/branches/gobject-engine-dev-warlord/
   gnucash/branches/gobject-engine-dev-warlord/src/business/business-core/gncAddress.c
   gnucash/branches/gobject-engine-dev-warlord/src/business/business-core/gncAddress.h
Log:
convert gncAddress to GObject initialization



Property changes on: gnucash/branches/gobject-engine-dev-warlord
___________________________________________________________________
Name: svk:merge
   - 3889ce50-311e-0410-a464-f059747ec5d1:/local/gnucash/branches/swig-redo:802
3889ce50-311e-0410-a464-f059747ec5d1:/local/gnucash/trunk:1037
d2ab10a8-8a95-4986-baff-8d511d9f15b2:/local/gnucash/branches/gobject-engine-dev-warlord:14369
d2ab10a8-8a95-4986-baff-8d511d9f15b2:/local/gnucash/branches/gobject-engine-dev-warlord1:14393
d2ab10a8-8a95-4986-baff-8d511d9f15b2:/local/gnucash/trunk:14282
d2ab10a8-8a95-4986-baff-8d511d9f15b2:/local/gnucash/trunk2:13366
   + 3889ce50-311e-0410-a464-f059747ec5d1:/local/gnucash/branches/swig-redo:802
3889ce50-311e-0410-a464-f059747ec5d1:/local/gnucash/trunk:1037
d2ab10a8-8a95-4986-baff-8d511d9f15b2:/local/gnucash/branches/gobject-engine-dev-warlord:14369
d2ab10a8-8a95-4986-baff-8d511d9f15b2:/local/gnucash/branches/gobject-engine-dev-warlord1:14421
d2ab10a8-8a95-4986-baff-8d511d9f15b2:/local/gnucash/trunk:14282
d2ab10a8-8a95-4986-baff-8d511d9f15b2:/local/gnucash/trunk2:13366

Modified: gnucash/branches/gobject-engine-dev-warlord/src/business/business-core/gncAddress.c
===================================================================
--- gnucash/branches/gobject-engine-dev-warlord/src/business/business-core/gncAddress.c	2007-04-05 01:33:55 UTC (rev 15815)
+++ gnucash/branches/gobject-engine-dev-warlord/src/business/business-core/gncAddress.c	2007-04-05 02:43:18 UTC (rev 15816)
@@ -50,6 +50,11 @@
   char *	email;
 };
 
+struct _gncAddressClass
+{
+  QofInstanceClass parent_class;
+};
+
 static QofLogModule log_module = GNC_MOD_BUSINESS;
 
 #define _GNC_MOD_NAME	GNC_ADDRESS_MODULE_NAME
@@ -62,6 +67,19 @@
   qof_event_gen (address->parent, QOF_EVENT_MODIFY, NULL);
 }
 
+/* GObject Initialization */
+QOF_GOBJECT_IMPL(gnc_address, GncAddress, QOF_TYPE_INSTANCE);
+
+static void
+gnc_address_init(GncAddress* addr)
+{
+}
+
+static void
+gnc_address_finalize_real(GObject* addrp)
+{
+}
+
 /* Create/Destroy functions */
 
 GncAddress * 
@@ -71,8 +89,8 @@
 
   if (!book) return NULL;
 
-  addr = g_new0 (GncAddress, 1);
-  qof_instance_init(&addr->inst, GNC_ID_ADDRESS, book);
+  addr = g_object_new (GNC_TYPE_ADDRESS, NULL);
+  qof_instance_init_data(&addr->inst, GNC_ID_ADDRESS, book);
   addr->book = book;
   addr->dirty = FALSE;
   addr->parent = prnt;
@@ -118,7 +136,7 @@
 
   if (!book) return NULL;
 
-  addr = g_new0 (GncAddress, 1);
+  addr = g_object_new (GNC_TYPE_ADDRESS, NULL);
   addr->book = book;
   addr->dirty = TRUE;
   addr->parent = new_parent;
@@ -159,8 +177,8 @@
   CACHE_REMOVE (addr->fax);
   CACHE_REMOVE (addr->email);
 
-  qof_instance_release (&addr->inst);
-  g_free (addr);
+  /* qof_instance_release (&addr->inst); */
+  g_object_unref (addr);
 }
 
 

Modified: gnucash/branches/gobject-engine-dev-warlord/src/business/business-core/gncAddress.h
===================================================================
--- gnucash/branches/gobject-engine-dev-warlord/src/business/business-core/gncAddress.h	2007-04-05 01:33:55 UTC (rev 15815)
+++ gnucash/branches/gobject-engine-dev-warlord/src/business/business-core/gncAddress.h	2007-04-05 02:43:18 UTC (rev 15816)
@@ -77,7 +77,22 @@
 @param	char*	email address
 */
 typedef struct _gncAddress GncAddress;
+typedef struct _gncAddressClass GncAddressClass;
 
+/* --- type macros --- */
+#define GNC_TYPE_ADDRESS            (gnc_address_get_type ())
+#define GNC_ADDRESS(o)              \
+     (G_TYPE_CHECK_INSTANCE_CAST ((o), GNC_TYPE_ADDRESS, GncAddress))
+#define GNC_ADDRESS_CLASS(k)        \
+     (G_TYPE_CHECK_CLASS_CAST((k), GNC_TYPE_ADDRESS, GncAddressClass))
+#define GNC_IS_ADDRESS(o)           \
+     (G_TYPE_CHECK_INSTANCE_TYPE ((o), GNC_TYPE_ADDRESS))
+#define GNC_IS_ADDRESS_CLASS(k)     \
+     (G_TYPE_CHECK_CLASS_TYPE ((k), GNC_TYPE_ADDRESS))
+#define GNC_ADDRESS_GET_CLASS(o)    \
+     (G_TYPE_INSTANCE_GET_CLASS ((o), GNC_TYPE_ADDRESS, GncAddressClass))
+GType gnc_address_get_type(void);
+
 /** @name Create/Destroy functions 
  @{ */
 GncAddress *gncAddressCreate (QofBook *book, QofInstance *parent);



More information about the gnucash-changes mailing list