r15825 - gnucash/branches/gobject-engine-dev-warlord - convert GncVendor to gobject initialization

Derek Atkins warlord at cvs.gnucash.org
Wed Apr 4 22:44:37 EDT 2007


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

Modified:
   gnucash/branches/gobject-engine-dev-warlord/
   gnucash/branches/gobject-engine-dev-warlord/src/business/business-core/gncVendor.c
   gnucash/branches/gobject-engine-dev-warlord/src/business/business-core/gncVendor.h
Log:
convert GncVendor 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:14429
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:14430
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/gncVendor.c
===================================================================
--- gnucash/branches/gobject-engine-dev-warlord/src/business/business-core/gncVendor.c	2007-04-05 02:44:25 UTC (rev 15824)
+++ gnucash/branches/gobject-engine-dev-warlord/src/business/business-core/gncVendor.c	2007-04-05 02:44:36 UTC (rev 15825)
@@ -57,6 +57,11 @@
   GList *         jobs;
 };
 
+struct _gncVendorClass
+{
+  QofInstanceClass parent_class;
+};
+
 static QofLogModule log_module = GNC_MOD_BUSINESS;
 
 #define _GNC_MOD_NAME        GNC_ID_VENDOR
@@ -72,16 +77,28 @@
 }
 
 /* ============================================================== */
+/* GObject Initialization */
+QOF_GOBJECT_IMPL(gnc_vendor, GncVendor, QOF_TYPE_INSTANCE);
+
+static void
+gnc_vendor_init(GncVendor* vendor)
+{
+}
+
+static void
+gnc_vendor_finalize_real(GObject* vendorp)
+{
+}
+
 /* Create/Destroy Functions */
-
 GncVendor *gncVendorCreate (QofBook *book)
 {
   GncVendor *vendor;
 
   if (!book) return NULL;
 
-  vendor = g_new0 (GncVendor, 1);
-  qof_instance_init (&vendor->inst, _GNC_MOD_NAME, book);
+  vendor = g_object_new (GNC_TYPE_VENDOR, NULL);
+  qof_instance_init_data (&vendor->inst, _GNC_MOD_NAME, book);
   
   vendor->id = CACHE_INSERT ("");
   vendor->name = CACHE_INSERT ("");
@@ -120,8 +137,8 @@
   if (vendor->taxtable)
     gncTaxTableDecRef (vendor->taxtable);
 
-  qof_instance_release (&vendor->inst);
-  g_free (vendor);
+  /* qof_instance_release (&vendor->inst); */
+  g_object_unref (vendor);
 }
 
 /** Create a copy of a vendor, placing the copy into a new book. */
@@ -133,8 +150,8 @@
 
   if (!book) return NULL;
 
-  vendor = g_new0 (GncVendor, 1);
-  qof_instance_init (&vendor->inst, _GNC_MOD_NAME, book);
+  vendor = g_object_new (GNC_TYPE_VENDOR, NULL);
+  qof_instance_init_data (&vendor->inst, _GNC_MOD_NAME, book);
   qof_instance_gemini (&vendor->inst, &from->inst);
   
   vendor->id = CACHE_INSERT (from->id);

Modified: gnucash/branches/gobject-engine-dev-warlord/src/business/business-core/gncVendor.h
===================================================================
--- gnucash/branches/gobject-engine-dev-warlord/src/business/business-core/gncVendor.h	2007-04-05 02:44:25 UTC (rev 15824)
+++ gnucash/branches/gobject-engine-dev-warlord/src/business/business-core/gncVendor.h	2007-04-05 02:44:36 UTC (rev 15825)
@@ -32,6 +32,7 @@
 #define GNC_VENDOR_H_
 
 typedef struct _gncVendor GncVendor;
+typedef struct _gncVendorClass GncVendorClass;
 
 #include "gncAddress.h"
 #include "gncBillTerm.h"
@@ -39,9 +40,21 @@
 #include "gncJob.h"
 
 #define GNC_ID_VENDOR       "gncVendor"
-#define GNC_IS_VENDOR(obj)  (QOF_CHECK_TYPE((obj), GNC_ID_VENDOR))
-#define GNC_VENDOR(obj)     (QOF_CHECK_CAST((obj), GNC_ID_VENDOR, GncVendor))
 
+/* --- type macros --- */
+#define GNC_TYPE_VENDOR            (gnc_vendor_get_type ())
+#define GNC_VENDOR(o)              \
+     (G_TYPE_CHECK_INSTANCE_CAST ((o), GNC_TYPE_VENDOR, GncVendor))
+#define GNC_VENDOR_CLASS(k)        \
+     (G_TYPE_CHECK_CLASS_CAST((k), GNC_TYPE_VENDOR, GncVendorClass))
+#define GNC_IS_VENDOR(o)           \
+     (G_TYPE_CHECK_INSTANCE_TYPE ((o), GNC_TYPE_VENDOR))
+#define GNC_IS_VENDOR_CLASS(k)     \
+     (G_TYPE_CHECK_CLASS_TYPE ((k), GNC_TYPE_VENDOR))
+#define GNC_VENDOR_GET_CLASS(o)    \
+     (G_TYPE_INSTANCE_GET_CLASS ((o), GNC_TYPE_VENDOR, GncVendorClass))
+GType gnc_vendor_get_type(void);
+
 /* Create/Destroy Functions */
 
 GncVendor *gncVendorCreate (QofBook *book);



More information about the gnucash-changes mailing list