[Gnucash-changes] r12234 - gnucash/trunk - Initialize the qof
instances in commodity namespaces.
David Hampton
hampton at cvs.gnucash.org
Mon Jan 2 16:11:27 EST 2006
Author: hampton
Date: 2006-01-02 16:11:26 -0500 (Mon, 02 Jan 2006)
New Revision: 12234
Trac: http://svn.gnucash.org/trac/changeset/12234
Added:
gnucash/trunk/ChangeLog
Modified:
gnucash/trunk/src/engine/gnc-commodity.c
gnucash/trunk/src/engine/gnc-commodity.h
gnucash/trunk/src/engine/gw-engine-spec.scm
Log:
Initialize the qof instances in commodity namespaces.
Added: gnucash/trunk/ChangeLog
===================================================================
--- gnucash/trunk/ChangeLog 2006-01-02 21:07:03 UTC (rev 12233)
+++ gnucash/trunk/ChangeLog 2006-01-02 21:11:26 UTC (rev 12234)
@@ -0,0 +1,7 @@
+2006-01-02 David Hampton <hampton at employees.org>
+
+ * src/engine/gw-engine-spec.scm:
+ * src/engine/gnc-commodity.[ch]: Initialize the qof instances in
+ commodity namespaces.
+
+
Modified: gnucash/trunk/src/engine/gnc-commodity.c
===================================================================
--- gnucash/trunk/src/engine/gnc-commodity.c 2006-01-02 21:07:03 UTC (rev 12233)
+++ gnucash/trunk/src/engine/gnc-commodity.c 2006-01-02 21:11:26 UTC (rev 12234)
@@ -499,7 +499,7 @@
if (namespace) {
retval->namespace = gnc_commodity_table_find_namespace(table, namespace);
if (!retval->namespace)
- retval->namespace = gnc_commodity_table_add_namespace(table, namespace);
+ retval->namespace = gnc_commodity_table_add_namespace(table, namespace, book);
} else {
retval->namespace = NULL;
}
@@ -764,7 +764,7 @@
if(!cm) return;
book = qof_instance_get_book (&cm->inst);
table = gnc_commodity_table_get_table(book);
- nsp = gnc_commodity_table_add_namespace(table, namespace);
+ nsp = gnc_commodity_table_add_namespace(table, namespace, book);
if (cm->namespace == nsp)
return;
@@ -1172,6 +1172,7 @@
gnc_commodity_namespace * nsp = NULL;
gnc_commodity *c;
const char *ns_name;
+ QofBook *book;
if (!table) return NULL;
if (!comm) return NULL;
@@ -1191,8 +1192,9 @@
return c;
}
- nsp = gnc_commodity_table_add_namespace(table, ns_name);
-
+ book = qof_instance_get_book (&comm->inst);
+ nsp = gnc_commodity_table_add_namespace(table, ns_name, book);
+
PINFO ("insert %p %s into nsp=%p %s", comm->mnemonic, comm->mnemonic,
nsp->cm_table, nsp->name);
g_hash_table_insert(nsp->cm_table,
@@ -1418,7 +1420,8 @@
gnc_commodity_namespace *
gnc_commodity_table_add_namespace(gnc_commodity_table * table,
- const char * namespace)
+ const char * namespace,
+ QofBook *book)
{
gnc_commodity_namespace * ns = NULL;
@@ -1430,6 +1433,7 @@
ns = g_new0(gnc_commodity_namespace, 1);
ns->cm_table = g_hash_table_new(g_str_hash, g_str_equal);
ns->name = gnc_string_cache_insert((gpointer)namespace);
+ qof_instance_init (&ns->inst, GNC_ID_COMMODITY_NAMESPACE, book);
gnc_engine_gen_event (&ns->inst.entity, GNC_EVENT_CREATE);
g_hash_table_insert(table->ns_table,
@@ -1654,11 +1658,11 @@
gnc_commodity_table_add_default_data(gnc_commodity_table *table, QofBook *book)
{
ENTER ("table=%p", table);
- gnc_commodity_table_add_namespace(table, GNC_COMMODITY_NS_AMEX);
- gnc_commodity_table_add_namespace(table, GNC_COMMODITY_NS_NYSE);
- gnc_commodity_table_add_namespace(table, GNC_COMMODITY_NS_NASDAQ);
- gnc_commodity_table_add_namespace(table, GNC_COMMODITY_NS_EUREX);
- gnc_commodity_table_add_namespace(table, GNC_COMMODITY_NS_MUTUAL);
+ gnc_commodity_table_add_namespace(table, GNC_COMMODITY_NS_AMEX, book);
+ gnc_commodity_table_add_namespace(table, GNC_COMMODITY_NS_NYSE, book);
+ gnc_commodity_table_add_namespace(table, GNC_COMMODITY_NS_NASDAQ, book);
+ gnc_commodity_table_add_namespace(table, GNC_COMMODITY_NS_EUREX, book);
+ gnc_commodity_table_add_namespace(table, GNC_COMMODITY_NS_MUTUAL, book);
#include "iso-4217-currencies.c"
Modified: gnucash/trunk/src/engine/gnc-commodity.h
===================================================================
--- gnucash/trunk/src/engine/gnc-commodity.h 2006-01-02 21:07:03 UTC (rev 12233)
+++ gnucash/trunk/src/engine/gnc-commodity.h 2006-01-02 21:11:26 UTC (rev 12234)
@@ -726,7 +726,8 @@
*
* @return A pointer to the newly created namespace. */
gnc_commodity_namespace * gnc_commodity_table_add_namespace(gnc_commodity_table * table,
- const char * namespace);
+ const char * namespace,
+ QofBook *book);
/** This function finds a commodity namespace in the set of existing commodity namespaces.
*
Modified: gnucash/trunk/src/engine/gw-engine-spec.scm
===================================================================
--- gnucash/trunk/src/engine/gw-engine-spec.scm 2006-01-02 21:07:03 UTC (rev 12233)
+++ gnucash/trunk/src/engine/gw-engine-spec.scm 2006-01-02 21:11:26 UTC (rev 12234)
@@ -2145,7 +2145,8 @@
'<gnc:commodity-namespace*>
"gnc_commodity_table_add_namespace"
'((<gnc:commodity-table*> table)
- ((<gw:mchars> caller-owned const) namespace))
+ ((<gw:mchars> caller-owned const) namespace)
+ (<gnc:Book*> book))
"Add a new namespace to the commodity table")
(gw:wrap-function
More information about the gnucash-changes
mailing list