From 6444e8169b8579e9664ec9175907ce9a33c46099 Mon Sep 17 00:00:00 2001 From: Linas Vepstas Date: Sun, 19 Oct 2003 15:45:30 +0000 Subject: [PATCH] change address to use entity instead of naked guid git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@9579 57a11ea4-9604-0410-9ed3-97b8803252fd --- src/business/business-core/gncAddress.c | 13 +++++-------- src/business/business-core/gncAddress.h | 3 ++- src/business/business-core/gncCustomer.c | 4 ++-- src/business/business-core/gncEmployee.c | 2 +- src/business/business-core/gncVendor.c | 2 +- src/business/business-core/test/test-address.c | 11 ++++++++--- 6 files changed, 19 insertions(+), 16 deletions(-) diff --git a/src/business/business-core/gncAddress.c b/src/business/business-core/gncAddress.c index dffd06ca79..dab549d922 100644 --- a/src/business/business-core/gncAddress.c +++ b/src/business/business-core/gncAddress.c @@ -20,8 +20,7 @@ struct _gncAddress { QofBook * book; - const GUID * parent_guid; - QofIdType parent_type; + QofEntity * parent; gboolean dirty; char * name; char * addr1; @@ -44,13 +43,13 @@ mark_address (GncAddress *address) { address->dirty = TRUE; - gnc_engine_generate_event (address->parent_guid, address->parent_type, GNC_EVENT_MODIFY); + gnc_engine_gen_event (address->parent, GNC_EVENT_MODIFY); } /* Create/Destroy functions */ GncAddress * -gncAddressCreate (QofBook *book, const GUID *parent, QofIdType ptype) +gncAddressCreate (QofBook *book, QofEntity *prnt) { GncAddress *addr; @@ -59,8 +58,7 @@ gncAddressCreate (QofBook *book, const GUID *parent, QofIdType ptype) addr = g_new0 (GncAddress, 1); addr->book = book; addr->dirty = FALSE; - addr->parent_guid = parent; - addr->parent_type = ptype; + addr->parent = prnt; addr->name = CACHE_INSERT (""); addr->addr1 = CACHE_INSERT (""); @@ -84,8 +82,7 @@ gncCloneAddress (GncAddress *from, QofBook *book) addr = g_new0 (GncAddress, 1); addr->book = book; addr->dirty = TRUE; - addr->parent_guid = from->parent_guid; - addr->parent_type = from->parent_type; + addr->parent = from->parent; addr->name = CACHE_INSERT (from->name); addr->addr1 = CACHE_INSERT (from->addr1); diff --git a/src/business/business-core/gncAddress.h b/src/business/business-core/gncAddress.h index bb76b45267..5334ce5d08 100644 --- a/src/business/business-core/gncAddress.h +++ b/src/business/business-core/gncAddress.h @@ -8,13 +8,14 @@ #define GNC_ADDRESS_H_ #include "qofbook.h" +#include "qofid.h" #define GNC_ADDRESS_MODULE_NAME "gncAddress" typedef struct _gncAddress GncAddress; /* Create/Destroy functions */ -GncAddress * gncAddressCreate (QofBook *book, const GUID *parent, QofIdType ptype); +GncAddress * gncAddressCreate (QofBook *book, QofEntity *parent); /** make a copy of the address, but associate it with a different book */ GncAddress * gncCloneAddress (GncAddress *from, QofBook *book); diff --git a/src/business/business-core/gncCustomer.c b/src/business/business-core/gncCustomer.c index 874f958a07..598ee9feb8 100644 --- a/src/business/business-core/gncCustomer.c +++ b/src/business/business-core/gncCustomer.c @@ -113,14 +113,14 @@ GncCustomer *gncCustomerCreate (QofBook *book) cust->id = CACHE_INSERT (""); cust->name = CACHE_INSERT (""); cust->notes = CACHE_INSERT (""); - cust->addr = gncAddressCreate (book, &cust->inst.entity.guid, _GNC_MOD_NAME); + cust->addr = gncAddressCreate (book, &cust->inst.entity); cust->taxincluded = GNC_TAXINCLUDED_USEGLOBAL; cust->active = TRUE; cust->jobs = NULL; cust->discount = gnc_numeric_zero(); cust->credit = gnc_numeric_zero(); - cust->shipaddr = gncAddressCreate (book, &cust->inst.entity.guid, _GNC_MOD_NAME); + cust->shipaddr = gncAddressCreate (book, &cust->inst.entity); gnc_engine_gen_event (&cust->inst.entity, GNC_EVENT_CREATE); diff --git a/src/business/business-core/gncEmployee.c b/src/business/business-core/gncEmployee.c index 8e0374822d..0db6628a1f 100644 --- a/src/business/business-core/gncEmployee.c +++ b/src/business/business-core/gncEmployee.c @@ -100,7 +100,7 @@ GncEmployee *gncEmployeeCreate (QofBook *book) employee->username = CACHE_INSERT (""); employee->language = CACHE_INSERT (""); employee->acl = CACHE_INSERT (""); - employee->addr = gncAddressCreate (book, &employee->inst.entity.guid, _GNC_MOD_NAME); + employee->addr = gncAddressCreate (book, &employee->inst.entity); employee->workday = gnc_numeric_zero(); employee->rate = gnc_numeric_zero(); employee->active = TRUE; diff --git a/src/business/business-core/gncVendor.c b/src/business/business-core/gncVendor.c index 9cf2a1cbeb..9e06d6ae33 100644 --- a/src/business/business-core/gncVendor.c +++ b/src/business/business-core/gncVendor.c @@ -103,7 +103,7 @@ GncVendor *gncVendorCreate (QofBook *book) vendor->id = CACHE_INSERT (""); vendor->name = CACHE_INSERT (""); vendor->notes = CACHE_INSERT (""); - vendor->addr = gncAddressCreate (book, &vendor->inst.entity.guid, _GNC_MOD_NAME); + vendor->addr = gncAddressCreate (book, &vendor->inst.entity); vendor->taxincluded = GNC_TAXINCLUDED_USEGLOBAL; vendor->active = TRUE; vendor->jobs = NULL; diff --git a/src/business/business-core/test/test-address.c b/src/business/business-core/test/test-address.c index a15e345ff5..ae4d7df59a 100644 --- a/src/business/business-core/test/test-address.c +++ b/src/business/business-core/test/test-address.c @@ -17,13 +17,18 @@ test_string_fcn (GncAddress *address, const char *message, static void test_address (void) { + QofEntity ent; GncAddress *address; QofBook *book = qof_book_new (); + ent.e_type = "asdf"; + ent.guid = *guid_null(); + /* Test creation/destruction */ { - do_test (gncAddressCreate (NULL, NULL, NULL) == NULL, "address create NULL"); - address = gncAddressCreate (book, NULL, "x"); + do_test (gncAddressCreate (NULL, NULL) == NULL, "address create NULL"); + + address = gncAddressCreate (book, &ent); do_test (address != NULL, "address create"); gncAddressDestroy (address); @@ -32,7 +37,7 @@ test_address (void) /* Test setting routines */ { - address = gncAddressCreate (book, NULL, "x"); + address = gncAddressCreate (book, &ent); test_string_fcn (address, "Name", gncAddressSetName, gncAddressGetName); test_string_fcn (address, "Addr1", gncAddressSetAddr1, gncAddressGetAddr1); test_string_fcn (address, "Addr2", gncAddressSetAddr2, gncAddressGetAddr2);