mirror of
https://github.com/Gnucash/gnucash.git
synced 2025-02-25 18:55:30 -06:00
Convert gnc_commodity objects to GObject initialization.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/branches/gobject-engine-dev-warlord@15810 57a11ea4-9604-0410-9ed3-97b8803252fd
This commit is contained in:
parent
d71de524f8
commit
c7d7b9621f
@ -63,6 +63,11 @@ struct gnc_commodity_s
|
||||
char * quote_tz;
|
||||
};
|
||||
|
||||
struct _GncCommodityClass
|
||||
{
|
||||
QofInstanceClass parent_class;
|
||||
};
|
||||
|
||||
struct gnc_commodity_namespace_s
|
||||
{
|
||||
QofInstance inst;
|
||||
@ -73,6 +78,11 @@ struct gnc_commodity_namespace_s
|
||||
GList * cm_list;
|
||||
};
|
||||
|
||||
struct _GncCommodityNamespaceClass
|
||||
{
|
||||
QofInstanceClass parent_class;
|
||||
};
|
||||
|
||||
struct gnc_commodity_table_s
|
||||
{
|
||||
GHashTable * ns_table;
|
||||
@ -523,15 +533,28 @@ reset_unique_name(gnc_commodity *com)
|
||||
com->mnemonic ? com->mnemonic : "");
|
||||
}
|
||||
|
||||
/* GObject Initialization */
|
||||
QOF_GOBJECT_IMPL(gnc_commodity, gnc_commodity, QOF_TYPE_INSTANCE);
|
||||
|
||||
static void
|
||||
gnc_commodity_init(gnc_commodity* com)
|
||||
{
|
||||
}
|
||||
|
||||
static void
|
||||
gnc_commodity_finalize_real(GObject* comp)
|
||||
{
|
||||
}
|
||||
|
||||
gnc_commodity *
|
||||
gnc_commodity_new(QofBook *book, const char * fullname,
|
||||
const char * namespace, const char * mnemonic,
|
||||
const char * cusip, int fraction)
|
||||
{
|
||||
gnc_commodity * retval = g_new0(gnc_commodity, 1);
|
||||
gnc_commodity * retval = g_object_new(GNC_TYPE_COMMODITY, NULL);
|
||||
gnc_commodity_table *table;
|
||||
|
||||
qof_instance_init (&retval->inst, GNC_ID_COMMODITY, book);
|
||||
qof_instance_init_data (&retval->inst, GNC_ID_COMMODITY, book);
|
||||
table = gnc_commodity_table_get_table(book);
|
||||
if (namespace) {
|
||||
retval->namespace = gnc_commodity_table_find_namespace(table, namespace);
|
||||
@ -596,8 +619,8 @@ gnc_commodity_destroy(gnc_commodity * cm)
|
||||
|
||||
cm->mark = 0;
|
||||
|
||||
qof_instance_release (&cm->inst);
|
||||
g_free(cm);
|
||||
/* qof_instance_release (&cm->inst); */
|
||||
g_object_unref(cm);
|
||||
}
|
||||
|
||||
void
|
||||
@ -615,7 +638,8 @@ gnc_commodity_copy(gnc_commodity * dest, gnc_commodity *src)
|
||||
gnc_commodity *
|
||||
gnc_commodity_clone(gnc_commodity *src)
|
||||
{
|
||||
gnc_commodity * dest = g_new0(gnc_commodity, 1);
|
||||
gnc_commodity * dest = g_object_new(GNC_TYPE_COMMODITY, NULL);
|
||||
/* qof_instance_init_data (&dest->inst, GNC_ID_COMMODITY, src->inst.book); */
|
||||
|
||||
dest->fullname = CACHE_INSERT(src->fullname);
|
||||
dest->mnemonic = CACHE_INSERT(src->mnemonic);
|
||||
@ -1522,11 +1546,11 @@ gnc_commodity_table_add_namespace(gnc_commodity_table * table,
|
||||
ns = gnc_commodity_table_find_namespace(table, namespace);
|
||||
if(!ns)
|
||||
{
|
||||
ns = g_new0(gnc_commodity_namespace, 1);
|
||||
ns = g_object_new(GNC_TYPE_COMMODITY_NAMESPACE, NULL);
|
||||
ns->cm_table = g_hash_table_new(g_str_hash, g_str_equal);
|
||||
ns->name = CACHE_INSERT((gpointer)namespace);
|
||||
ns->iso4217 = gnc_commodity_namespace_is_iso(namespace);
|
||||
qof_instance_init (&ns->inst, GNC_ID_COMMODITY_NAMESPACE, book);
|
||||
qof_instance_init_data (&ns->inst, GNC_ID_COMMODITY_NAMESPACE, book);
|
||||
qof_event_gen (&ns->inst, QOF_EVENT_CREATE, NULL);
|
||||
|
||||
g_hash_table_insert(table->ns_table,
|
||||
@ -1609,8 +1633,8 @@ gnc_commodity_table_delete_namespace(gnc_commodity_table * table,
|
||||
CACHE_REMOVE(ns->name);
|
||||
|
||||
qof_event_gen (&ns->inst, QOF_EVENT_DESTROY, NULL);
|
||||
qof_instance_release(&ns->inst);
|
||||
g_free(ns);
|
||||
/* qof_instance_release(&ns->inst); */
|
||||
g_object_unref(ns);
|
||||
}
|
||||
|
||||
/********************************************************************
|
||||
|
@ -46,13 +46,40 @@
|
||||
#ifndef GNC_COMMODITY_H
|
||||
#define GNC_COMMODITY_H
|
||||
|
||||
typedef struct _GncCommodityClass gnc_commodityClass;
|
||||
typedef struct _GncCommodityNamespaceClass gnc_commodity_namespaceClass;
|
||||
|
||||
#include <glib.h>
|
||||
#include "gnc-engine.h"
|
||||
|
||||
#define GNC_IS_COMMODITY(obj) (QOF_CHECK_TYPE((obj), GNC_ID_COMMODITY))
|
||||
#define GNC_COMMODITY(obj) (QOF_CHECK_CAST((obj), GNC_ID_COMMODITY, gnc_commodity))
|
||||
#define GNC_IS_COMMODITY_NAMESPACE(obj) (QOF_CHECK_TYPE((obj), GNC_ID_COMMODITY_NAMESPACE))
|
||||
#define GNC_COMMODITY_NAMESPACE(obj) (QOF_CHECK_CAST((obj), GNC_ID_COMMODITY_NAMESPACE, gnc_commodity_namespace))
|
||||
/* --- type macros --- */
|
||||
#define GNC_TYPE_COMMODITY (gnc_commodity_get_type ())
|
||||
#define GNC_COMMODITY(o) \
|
||||
(G_TYPE_CHECK_INSTANCE_CAST ((o), GNC_TYPE_COMMODITY, gnc_commodity))
|
||||
#define GNC_COMMODITY_CLASS(k) \
|
||||
(G_TYPE_CHECK_CLASS_CAST((k), GNC_TYPE_COMMODITY, gnc_commodityClass))
|
||||
#define GNC_IS_COMMODITY(o) \
|
||||
(G_TYPE_CHECK_INSTANCE_TYPE ((o), GNC_TYPE_COMMODITY))
|
||||
#define GNC_IS_COMMODITY_CLASS(k) \
|
||||
(G_TYPE_CHECK_CLASS_TYPE ((k), GNC_TYPE_COMMODITY))
|
||||
#define GNC_COMMODITY_GET_CLASS(o) \
|
||||
(G_TYPE_INSTANCE_GET_CLASS ((o), GNC_TYPE_COMMODITY, gnc_commodityClass))
|
||||
GType gnc_commodity_get_type(void);
|
||||
|
||||
/* --- type macros --- */
|
||||
#define GNC_TYPE_COMMODITY_NAMESPACE (gnc_commodity_namespace_get_type ())
|
||||
#define GNC_COMMODITY_NAMESPACE(o) \
|
||||
(G_TYPE_CHECK_INSTANCE_CAST ((o), GNC_TYPE_COMMODITY_NAMESPACE, gnc_commodity_namespace))
|
||||
#define GNC_COMMODITY_NAMESPACE_CLASS(k) \
|
||||
(G_TYPE_CHECK_CLASS_CAST((k), GNC_TYPE_COMMODITY_NAMESPACE, gnc_commodity_namespaceClass))
|
||||
#define GNC_IS_COMMODITY_NAMESPACE(o) \
|
||||
(G_TYPE_CHECK_INSTANCE_TYPE ((o), GNC_TYPE_COMMODITY_NAMESPACE))
|
||||
#define GNC_IS_COMMODITY_NAMESPACE_CLASS(k) \
|
||||
(G_TYPE_CHECK_CLASS_TYPE ((k), GNC_TYPE_COMMODITY_NAMESPACE))
|
||||
#define GNC_COMMODITY_NAMESPACE_GET_CLASS(o) \
|
||||
(G_TYPE_INSTANCE_GET_CLASS ((o), GNC_TYPE_COMMODITY_NAMESPACE, gnc_commodity_namespaceClass))
|
||||
GType gnc_commodity_namespace_get_type(void);
|
||||
|
||||
|
||||
#define GNC_COMMODITY_TABLE "gnc_commodity_table"
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user