convert GncVendor to gobject initialization

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/branches/gobject-engine-dev-warlord@15825 57a11ea4-9604-0410-9ed3-97b8803252fd
This commit is contained in:
Derek Atkins
2007-04-05 02:44:36 +00:00
parent aca8de8037
commit 4c64b3e9a0
2 changed files with 39 additions and 9 deletions

View File

@@ -57,6 +57,11 @@ struct _gncVendor
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 @@ void mark_vendor (GncVendor *vendor)
}
/* ============================================================== */
/* Create/Destroy Functions */
/* 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 @@ static void gncVendorFree (GncVendor *vendor)
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 @@ gncCloneVendor (GncVendor *from, QofBook *book)
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);

View File

@@ -32,6 +32,7 @@
#define GNC_VENDOR_H_
typedef struct _gncVendor GncVendor;
typedef struct _gncVendorClass GncVendorClass;
#include "gncAddress.h"
#include "gncBillTerm.h"
@@ -39,8 +40,20 @@ typedef struct _gncVendor GncVendor;
#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 */