[Gnucash-changes] Using static functions for QOF and
QOF_TYPE_COLLECT
Neil Williams
codehelp at cvs.gnucash.org
Sun Jun 19 17:15:33 EDT 2005
Log Message:
-----------
Using static functions for QOF and QOF_TYPE_COLLECT
Tags:
----
gnucash-gnome2-dev
Modified Files:
--------------
gnucash:
ChangeLog
gnucash/src/business/business-core:
gncAddress.c
gncAddress.h
gncCustomer.c
gncCustomer.h
gncEmployee.c
gncEmployee.h
gncInvoice.c
gncInvoice.h
gncJob.c
gncJob.h
gncOwner.c
gncOwner.h
gncVendor.c
gncVendor.h
gnucash/src/engine:
Account.c
Account.h
FreqSpec.c
FreqSpec.h
Transaction.c
Transaction.h
Revision Data
-------------
Index: ChangeLog
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/ChangeLog,v
retrieving revision 1.1487.2.231
retrieving revision 1.1487.2.232
diff -LChangeLog -LChangeLog -u -r1.1487.2.231 -r1.1487.2.232
--- ChangeLog
+++ ChangeLog
@@ -1,4 +1,28 @@
2005-06-19 Neil Williams <linux at codehelp.co.uk>
+ * src/business/business-core/gncAddress.c:
+ * src/business/business-core/gncAddress.h:
+ * src/business/business-core/gncCustomer.c:
+ * src/business/business-core/gncCustomer.h:
+ * src/business/business-core/gncEmployee.c:
+ * src/business/business-core/gncEmployee.h:
+ * src/business/business-core/gncInvoice.c:
+ * src/business/business-core/gncInvoice.h:
+ * src/business/business-core/gncJob.c:
+ * src/business/business-core/gncJob.h:
+ * src/business/business-core/gncOwner.c:
+ * src/business/business-core/gncOwner.h:
+ * src/business/business-core/gncVendor.c:
+ * src/business/business-core/gncVendor.h
+ * src/engine/Account.c
+ * src/engine/Account.h: Changing to static functions,
+ and using QOF_TYPE_COLLECT in QofObject parameters.
+ * src/engine/FreqSpec.c
+ * src/engine/FreqSpec.h: Removing compiler hack, using
+ static functions.
+ * src/engine/Transaction.c
+ * src/engine/Transaction.h: Changing to static functions.
+
+2005-06-19 Neil Williams <linux at codehelp.co.uk>
* src/backend/qsf/qsf-backend.c: API
* src/backend/qsf/qsf-object.xsd.xml: QOF_TYPE_COLLECT
* src/backend/qsf/qsf-xml.h: Make into a private header.
Index: gncEmployee.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/business/business-core/gncEmployee.c,v
retrieving revision 1.15.4.4
retrieving revision 1.15.4.5
diff -Lsrc/business/business-core/gncEmployee.c -Lsrc/business/business-core/gncEmployee.c -u -r1.15.4.4 -r1.15.4.5
--- src/business/business-core/gncEmployee.c
+++ src/business/business-core/gncEmployee.c
@@ -279,6 +279,20 @@
gncEmployeeCommitEdit (employee);
}
+void
+qofEmployeeSetAddr (GncEmployee *employee, QofEntity *addr_ent)
+{
+ GncAddress *addr;
+
+ if(!employee || !addr_ent) { return; }
+ addr = (GncAddress*)addr_ent;
+ if(addr == employee->addr) { return; }
+ if(employee->addr != NULL) { gncAddressDestroy(employee->addr); }
+ gncEmployeeBeginEdit(employee);
+ employee->addr = addr;
+ gncEmployeeCommitEdit(employee);
+}
+
/* ============================================================== */
/* Get Functions */
const char * gncEmployeeGetID (GncEmployee *employee)
@@ -425,7 +439,8 @@
{ EMPLOYEE_WORKDAY, QOF_TYPE_NUMERIC, (QofAccessFunc)gncEmployeeGetWorkday,
(QofSetterFunc)gncEmployeeSetWorkday },
{ EMPLOYEE_RATE, QOF_TYPE_NUMERIC, (QofAccessFunc)gncEmployeeGetRate, (QofSetterFunc)gncEmployeeSetRate },
- { EMPLOYEE_ADDR, GNC_ADDRESS_MODULE_NAME, (QofAccessFunc)gncEmployeeGetAddr, NULL },
+ { EMPLOYEE_ADDR, GNC_ID_ADDRESS, (QofAccessFunc)gncEmployeeGetAddr, (QofSetterFunc)qofEmployeeSetAddr },
+ { EMPLOYEE_CC, GNC_ID_ACCOUNT, (QofAccessFunc)gncEmployeeGetCCard, (QofSetterFunc)gncEmployeeSetCCard },
{ QOF_PARAM_ACTIVE, QOF_TYPE_BOOLEAN, (QofAccessFunc)gncEmployeeGetActive, (QofSetterFunc)gncEmployeeSetActive },
{ QOF_PARAM_BOOK, QOF_ID_BOOK, (QofAccessFunc)qof_instance_get_book, NULL },
{ QOF_PARAM_GUID, QOF_TYPE_GUID, (QofAccessFunc)qof_instance_get_guid, NULL },
Index: gncOwner.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/business/business-core/gncOwner.c,v
retrieving revision 1.15.4.5
retrieving revision 1.15.4.6
diff -Lsrc/business/business-core/gncOwner.c -Lsrc/business/business-core/gncOwner.c -u -r1.15.4.5 -r1.15.4.6
--- src/business/business-core/gncOwner.c
+++ src/business/business-core/gncOwner.c
@@ -106,21 +106,10 @@
return owner->type;
}
-AS_STRING_FUNC(GncOwnerType, ENUM_OWNER_TYPE)
-FROM_STRING_FUNC(GncOwnerType, ENUM_OWNER_TYPE)
-
-void
-qofOwnerSetType(GncOwner *owner, const char* type_string)
-{
- if (!owner) { return; }
- owner->type = GncOwnerTypefromString(type_string);
- qofOwnerSetOwner(owner, NULL);
-}
-
QofIdType
qofOwnerGetType(GncOwner *owner)
{
- gchar *type;
+ QofIdType type;
type = NULL;
switch(owner->type)
@@ -134,23 +123,23 @@
break;
}
case GNC_OWNER_CUSTOMER : {
- type = g_strdup(GNC_ID_CUSTOMER);
+ type = GNC_ID_CUSTOMER;
break;
}
case GNC_OWNER_JOB : {
- type = g_strdup(GNC_ID_JOB);
+ type = GNC_ID_JOB;
break;
}
case GNC_OWNER_VENDOR : {
- type = g_strdup(GNC_ID_VENDOR);
+ type = GNC_ID_VENDOR;
break;
}
case GNC_OWNER_EMPLOYEE : {
- type = g_strdup(GNC_ID_EMPLOYEE);
+ type = GNC_ID_EMPLOYEE;
break;
}
}
- return (QofIdType)type;
+ return type;
}
QofEntity*
@@ -188,16 +177,6 @@
return ent;
}
-char*
-qofOwnerGetTypeString(GncOwner *owner)
-{
- char* t;
-
- if(!owner) { return NULL; }
- t = g_strdup(GncOwnerTypeasString(owner->type));
- return t;
-}
-
void
qofOwnerSetEntity (GncOwner *owner, QofEntity *ent)
{
@@ -224,41 +203,6 @@
}
}
-
-void
-qofOwnerSetOwner(GncOwner *owner, gpointer obj)
-{
- if(!owner) { return; }
- if(obj != NULL) { owner->qof_temp = obj; }
- switch(owner->type)
- {
- case GNC_OWNER_NONE : {
- break;
- }
- case GNC_OWNER_UNDEFINED : {
- gncOwnerInitUndefined(owner, owner->qof_temp);
- break;
- }
- case GNC_OWNER_CUSTOMER : {
- gncOwnerInitCustomer(owner, (GncCustomer*)owner->qof_temp);
- break;
- }
- case GNC_OWNER_JOB : {
- gncOwnerInitJob(owner, (GncJob*)owner->qof_temp);
- break;
- }
- case GNC_OWNER_VENDOR : {
- gncOwnerInitVendor(owner, (GncVendor*)owner->qof_temp);
- break;
- }
- case GNC_OWNER_EMPLOYEE : {
- gncOwnerInitEmployee(owner, (GncEmployee*)owner->qof_temp);
- break;
- }
- }
- owner->qof_temp = NULL;
-}
-
gpointer gncOwnerGetUndefined (const GncOwner *owner)
{
if (!owner) return NULL;
@@ -294,51 +238,6 @@
return owner->owner.employee;
}
-void
-qofOwnerSetUndefined (GncOwner *owner, gpointer obj)
-{
- if ((!owner)||(!obj)) { return; }
- qofOwnerSetOwner(owner, obj);
-}
-
-void
-qofOwnerSetCustomer (GncOwner *owner, GncCustomer *customer)
-{
- if((!owner)||(!customer)) { return; }
- qofOwnerSetOwner(owner, (gpointer)customer);
-}
-
-void
-qofOwnerSetJob (GncOwner *owner, GncJob *job)
-{
- if((!owner)||(!job)) { return; }
- qofOwnerSetOwner(owner, (gpointer)job);
-}
-
-void
-qofOwnerSetVendor( GncOwner *owner, GncVendor *vendor)
-{
- if((!owner)||(!vendor)) { return; }
- qofOwnerSetOwner(owner, (gpointer)vendor);
-}
-
-void
-qofOwnerSetEmployee (GncOwner *owner, GncEmployee* employee)
-{
- if ((!owner)||(!employee)) { return; }
- qofOwnerSetOwner(owner, (gpointer)employee);
-}
-
-void
-qofOwnerSetEndOwner (GncOwner *owner, GncOwner *parent)
-{
- if(!owner) { return; }
- if(owner->type == GNC_OWNER_JOB)
- {
- gncJobSetOwner(owner->owner.job, parent);
- }
-}
-
gnc_commodity * gncOwnerGetCurrency (GncOwner *owner)
{
if (!owner) return NULL;
@@ -598,16 +497,15 @@
gboolean gncOwnerRegister (void)
{
static QofParam params[] = {
- { OWNER_TYPE, QOF_TYPE_INT64, (QofAccessFunc)gncOwnerGetType, NULL },
- { OWNER_TYPE_STRING, QOF_TYPE_STRING, (QofAccessFunc)qofOwnerGetTypeString, NULL },
+ { OWNER_TYPE, QOF_TYPE_INT64, (QofAccessFunc)gncOwnerGetType, NULL },
{ OWNER_CUSTOMER, GNC_ID_CUSTOMER, (QofAccessFunc)gncOwnerGetCustomer, NULL },
- { OWNER_JOB, GNC_ID_JOB, (QofAccessFunc)gncOwnerGetJob, NULL },
- { OWNER_VENDOR, GNC_ID_VENDOR, (QofAccessFunc)gncOwnerGetVendor, NULL },
- { OWNER_EMPLOYEE, GNC_ID_EMPLOYEE, (QofAccessFunc)gncOwnerGetEmployee, NULL },
- { OWNER_PARENT, GNC_ID_OWNER, (QofAccessFunc)gncOwnerGetEndOwner, NULL },
- { OWNER_PARENTG, QOF_TYPE_GUID, (QofAccessFunc)gncOwnerGetEndGUID, NULL },
- { OWNER_NAME, QOF_TYPE_STRING, (QofAccessFunc)gncOwnerGetName, NULL },
- { QOF_PARAM_GUID, QOF_TYPE_GUID, (QofAccessFunc)gncOwnerGetGUID, NULL },
+ { OWNER_JOB, GNC_ID_JOB, (QofAccessFunc)gncOwnerGetJob, NULL },
+ { OWNER_VENDOR, GNC_ID_VENDOR, (QofAccessFunc)gncOwnerGetVendor, NULL },
+ { OWNER_EMPLOYEE, GNC_ID_EMPLOYEE, (QofAccessFunc)gncOwnerGetEmployee, NULL },
+ { OWNER_PARENT, GNC_ID_OWNER, (QofAccessFunc)gncOwnerGetEndOwner, NULL },
+ { OWNER_PARENTG, QOF_TYPE_GUID, (QofAccessFunc)gncOwnerGetEndGUID, NULL },
+ { OWNER_NAME, QOF_TYPE_STRING, (QofAccessFunc)gncOwnerGetName, NULL },
+ { QOF_PARAM_GUID, QOF_TYPE_GUID, (QofAccessFunc)gncOwnerGetGUID, NULL },
{ NULL },
};
Index: gncCustomer.h
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/business/business-core/gncCustomer.h,v
retrieving revision 1.13.4.7
retrieving revision 1.13.4.8
diff -Lsrc/business/business-core/gncCustomer.h -Lsrc/business/business-core/gncCustomer.h -u -r1.13.4.7 -r1.13.4.8
--- src/business/business-core/gncCustomer.h
+++ src/business/business-core/gncCustomer.h
@@ -130,14 +130,6 @@
GList * gncCustomerGetJoblist (GncCustomer *customer, gboolean show_all);
/** @} */
-/** \name QOF additions
- @{
- */
-void qofCustomerSetAddr (GncCustomer *cust, QofEntity *addr_ent);
-
-void qofCustomerSetShipAddr (GncCustomer *cust, QofEntity *ship_addr_ent);
-/** @} */
-
gboolean gncCustomerIsDirty (GncCustomer *customer);
int gncCustomerCompare (GncCustomer *a, GncCustomer *b);
@@ -149,6 +141,11 @@
#define CUSTOMER_DISCOUNT "amount of discount"
#define CUSTOMER_CREDIT "amount of credit"
#define CUSTOMER_TT_OVER "tax table override"
+#define CUSTOMER_TAX_INC "customer_tax_included"
+#define CUSTOMER_TERMS "customer_terms"
+#define CUSTOMER_ACTIVE "customer_is_active"
+#define CUSTOMER_SLOTS "customer_values"
+
/** @deprecated functions, should be removed */
#define gncCustomerGetGUID(x) qof_instance_get_guid(QOF_INSTANCE(x))
#define gncCustomerRetGUID(x) (x ? *(qof_instance_get_guid(QOF_INSTANCE(x))) : *(guid_null()))
Index: gncJob.h
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/business/business-core/gncJob.h,v
retrieving revision 1.9.4.5
retrieving revision 1.9.4.6
diff -Lsrc/business/business-core/gncJob.h -Lsrc/business/business-core/gncJob.h -u -r1.9.4.5 -r1.9.4.6
--- src/business/business-core/gncJob.h
+++ src/business/business-core/gncJob.h
@@ -47,7 +47,9 @@
GncJob *gncJobCreate (QofBook *book);
void gncJobDestroy (GncJob *job);
-/* Set Functions */
+/** \name Set Functions
+@{
+*/
void gncJobSetID (GncJob *job, const char *id);
void gncJobSetName (GncJob *job, const char *jobname);
@@ -55,15 +57,20 @@
void gncJobSetOwner (GncJob *job, GncOwner *owner);
void gncJobSetActive (GncJob *job, gboolean active);
+/** @} */
void gncJobBeginEdit (GncJob *job);
void gncJobCommitEdit (GncJob *job);
-/* Get Functions */
+/** \name Get Functions
+@{
+*/
const char * gncJobGetID (GncJob *job);
const char * gncJobGetName (GncJob *job);
const char * gncJobGetReference (GncJob *job);
GncOwner * gncJobGetOwner (GncJob *job);
+
+/** @} */
gboolean gncJobGetActive (GncJob *job);
gboolean gncJobIsDirty (GncJob *job);
@@ -84,6 +91,7 @@
#define JOB_NAME "name"
#define JOB_REFERENCE "reference"
#define JOB_OWNER "owner"
+#define Q_JOB_OWNER "owner_collection"
#define JOB_ACTIVE "active"
/** deprecated functions */
Index: gncInvoice.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/business/business-core/gncInvoice.c,v
retrieving revision 1.56.4.10
retrieving revision 1.56.4.11
diff -Lsrc/business/business-core/gncInvoice.c -Lsrc/business/business-core/gncInvoice.c -u -r1.56.4.10 -r1.56.4.11
--- src/business/business-core/gncInvoice.c
+++ src/business/business-core/gncInvoice.c
@@ -67,17 +67,17 @@
char *id;
char *notes;
- gboolean active;
+ gboolean active;
char *billing_id;
char *printname;
GncBillTerm *terms;
GList *entries;
- GncOwner owner;
- GncOwner billto;
+ GncOwner owner;
+ GncOwner billto;
GncJob *job;
- Timespec date_opened;
- Timespec date_posted;
+ Timespec date_opened;
+ Timespec date_posted;
gnc_numeric to_charge_amount;
@@ -267,10 +267,11 @@
qofOwnerSetEntity(&invoice->owner, ent);
}
-void
+static void
qofInvoiceSetOwner (GncInvoice *invoice, QofCollection *coll)
{
if(!invoice || !coll) { return; }
+ g_return_if_fail(qof_collection_count(coll) == 1);
gncInvoiceBeginEdit (invoice);
qof_collection_foreach(coll, qofInvoiceOwnerCB, invoice);
mark_invoice (invoice);
@@ -286,10 +287,11 @@
qofOwnerSetEntity(&invoice->billto, ent);
}
-void
+static void
qofInvoiceSetBillTo (GncInvoice *invoice, QofCollection *coll)
{
if(!invoice || !coll) { return; }
+ g_return_if_fail(qof_collection_count(coll) == 1);
gncInvoiceBeginEdit (invoice);
qof_collection_foreach(coll, qofInvoiceBillToCB, invoice);
mark_invoice (invoice);
@@ -487,7 +489,7 @@
return &invoice->owner;
}
-QofCollection*
+static QofCollection*
qofInvoiceGetOwner (GncInvoice *invoice)
{
QofCollection *owner_coll;
@@ -498,7 +500,7 @@
return owner_coll;
}
-QofCollection*
+static QofCollection*
qofInvoiceGetBillTo (GncInvoice *invoice)
{
QofCollection *bill_coll;
@@ -686,12 +688,12 @@
return invoice->entries;
}
-QofCollection*
+static QofCollection*
qofInvoiceGetEntries (GncInvoice *invoice)
{
QofCollection *entry_coll;
GList *list;
- QofEntity *entry;
+ QofEntity *entry;
entry_coll = qof_collection_new(GNC_ID_ENTRY);
for(list = gncInvoiceGetEntries(invoice); list != NULL; list = list->next)
@@ -721,7 +723,7 @@
}
}
-void
+static void
qofInvoiceSetEntries(GncInvoice *invoice, QofCollection *entry_coll)
{
if(!entry_coll) { return; }
@@ -731,14 +733,14 @@
}
}
-GncJob*
+static GncJob*
qofInvoiceGetJob (GncInvoice *invoice)
{
if(!invoice) { return NULL; }
return invoice->job;
}
-void
+static void
qofInvoiceSetJob (GncInvoice *invoice, GncJob *job)
{
if(!invoice) { return; }
@@ -1545,20 +1547,20 @@
gboolean gncInvoiceRegister (void)
{
static QofParam params[] = {
- { INVOICE_ID, QOF_TYPE_STRING, (QofAccessFunc)gncInvoiceGetID, (QofSetterFunc)gncInvoiceSetID },
- { INVOICE_OWNER, QOF_TYPE_COLLECT, (QofAccessFunc)gncInvoiceGetOwner, (QofSetterFunc)qofInvoiceSetOwner },
- { INVOICE_OPENED, QOF_TYPE_DATE, (QofAccessFunc)gncInvoiceGetDateOpened, (QofSetterFunc)gncInvoiceSetDateOpened },
- { INVOICE_DUE, QOF_TYPE_DATE, (QofAccessFunc)gncInvoiceGetDateDue, NULL },
- { INVOICE_POSTED, QOF_TYPE_DATE, (QofAccessFunc)gncInvoiceGetDatePosted, (QofSetterFunc)gncInvoiceSetDatePosted },
+ { INVOICE_ID, QOF_TYPE_STRING, (QofAccessFunc)gncInvoiceGetID, (QofSetterFunc)gncInvoiceSetID },
+ { INVOICE_OWNER, QOF_TYPE_COLLECT, (QofAccessFunc)qofInvoiceGetOwner, (QofSetterFunc)qofInvoiceSetOwner },
+ { INVOICE_OPENED, QOF_TYPE_DATE, (QofAccessFunc)gncInvoiceGetDateOpened, (QofSetterFunc)gncInvoiceSetDateOpened },
+ { INVOICE_DUE, QOF_TYPE_DATE, (QofAccessFunc)gncInvoiceGetDateDue, NULL },
+ { INVOICE_POSTED, QOF_TYPE_DATE, (QofAccessFunc)gncInvoiceGetDatePosted, (QofSetterFunc)gncInvoiceSetDatePosted },
{ INVOICE_IS_POSTED, QOF_TYPE_BOOLEAN, (QofAccessFunc)gncInvoiceIsPosted, NULL },
- { INVOICE_IS_PAID, QOF_TYPE_BOOLEAN, (QofAccessFunc)gncInvoiceIsPaid, NULL },
+ { INVOICE_IS_PAID, QOF_TYPE_BOOLEAN, (QofAccessFunc)gncInvoiceIsPaid, NULL },
{ INVOICE_BILLINGID, QOF_TYPE_STRING, (QofAccessFunc)gncInvoiceGetBillingID, (QofSetterFunc)gncInvoiceSetBillingID },
- { INVOICE_NOTES, QOF_TYPE_STRING, (QofAccessFunc)gncInvoiceGetNotes, (QofSetterFunc)gncInvoiceSetNotes },
+ { INVOICE_NOTES, QOF_TYPE_STRING, (QofAccessFunc)gncInvoiceGetNotes, (QofSetterFunc)gncInvoiceSetNotes },
{ INVOICE_ACC, GNC_ID_ACCOUNT, (QofAccessFunc)gncInvoiceGetPostedAcc, (QofSetterFunc)gncInvoiceSetPostedAcc },
{ INVOICE_POST_TXN, GNC_ID_TRANS, (QofAccessFunc)gncInvoiceGetPostedTxn, (QofSetterFunc)gncInvoiceSetPostedTxn },
{ INVOICE_POST_LOT, GNC_ID_LOT, (QofAccessFunc)gncInvoiceGetPostedLot, NULL/*(QofSetterFunc)gncInvoiceSetPostedLot*/ },
- { INVOICE_TYPE, QOF_TYPE_STRING, (QofAccessFunc)gncInvoiceGetType, NULL },
- { INVOICE_TERMS, GNC_ID_BILLTERM, (QofAccessFunc)gncInvoiceGetTerms, (QofSetterFunc)gncInvoiceSetTerms },
+ { INVOICE_TYPE, QOF_TYPE_STRING, (QofAccessFunc)gncInvoiceGetType, NULL },
+ { INVOICE_TERMS, GNC_ID_BILLTERM, (QofAccessFunc)gncInvoiceGetTerms, (QofSetterFunc)gncInvoiceSetTerms },
{ INVOICE_BILLTO, QOF_TYPE_COLLECT, (QofAccessFunc)qofInvoiceGetBillTo, (QofSetterFunc)qofInvoiceSetBillTo },
{ INVOICE_ENTRIES, QOF_TYPE_COLLECT, (QofAccessFunc)qofInvoiceGetEntries, (QofSetterFunc)qofInvoiceSetEntries },
{ INVOICE_JOB, GNC_ID_JOB, (QofAccessFunc)qofInvoiceGetJob, (QofSetterFunc)qofInvoiceSetJob },
Index: gncCustomer.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/business/business-core/gncCustomer.c,v
retrieving revision 1.20.4.6
retrieving revision 1.20.4.7
diff -Lsrc/business/business-core/gncCustomer.c -Lsrc/business/business-core/gncCustomer.c -u -r1.20.4.6 -r1.20.4.7
--- src/business/business-core/gncCustomer.c
+++ src/business/business-core/gncCustomer.c
@@ -426,24 +426,32 @@
return cust->addr;
}
-void
+static void
qofCustomerSetAddr (GncCustomer *cust, QofEntity *addr_ent)
{
GncAddress *addr;
- if(!cust) { return; }
+ if(!cust || !addr_ent) { return; }
addr = (GncAddress*)addr_ent;
+ if(addr == cust->addr) { return; }
+ if(cust->addr != NULL) { gncAddressDestroy(cust->addr); }
+ gncCustomerBeginEdit(cust);
cust->addr = addr;
+ gncCustomerCommitEdit(cust);
}
-void
+static void
qofCustomerSetShipAddr (GncCustomer *cust, QofEntity *ship_addr_ent)
{
GncAddress *ship_addr;
- if(!cust) { return; }
+ if(!cust || !ship_addr_ent) { return; }
ship_addr = (GncAddress*)ship_addr_ent;
+ if(ship_addr == cust->shipaddr) { return; }
+ if(cust->shipaddr != NULL) { gncAddressDestroy(cust->shipaddr); }
+ gncCustomerBeginEdit(cust);
cust->shipaddr = ship_addr;
+ gncCustomerCommitEdit(cust);
}
GncAddress * gncCustomerGetShipAddr (GncCustomer *cust)
@@ -580,6 +588,8 @@
{ CUSTOMER_SHIPADDR, GNC_ID_ADDRESS, (QofAccessFunc)gncCustomerGetShipAddr, (QofSetterFunc)qofCustomerSetShipAddr },
{ CUSTOMER_TT_OVER, QOF_TYPE_BOOLEAN, (QofAccessFunc)gncCustomerGetTaxTableOverride,
(QofSetterFunc)gncCustomerSetTaxTableOverride },
+ { CUSTOMER_TERMS, GNC_ID_BILLTERM, (QofAccessFunc)gncCustomerGetTerms, (QofSetterFunc)gncCustomerSetTerms },
+ { CUSTOMER_SLOTS, QOF_TYPE_KVP, (QofAccessFunc)qof_instance_get_slots, NULL },
{ QOF_PARAM_ACTIVE, QOF_TYPE_BOOLEAN, (QofAccessFunc)gncCustomerGetActive, (QofSetterFunc)gncCustomerSetActive },
{ QOF_PARAM_BOOK, QOF_ID_BOOK, (QofAccessFunc)qof_instance_get_book, NULL },
{ QOF_PARAM_GUID, QOF_TYPE_GUID, (QofAccessFunc)qof_instance_get_guid, NULL },
Index: gncEmployee.h
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/business/business-core/gncEmployee.h,v
retrieving revision 1.8.4.6
retrieving revision 1.8.4.7
diff -Lsrc/business/business-core/gncEmployee.h -Lsrc/business/business-core/gncEmployee.h -u -r1.8.4.6 -r1.8.4.7
--- src/business/business-core/gncEmployee.h
+++ src/business/business-core/gncEmployee.h
@@ -63,6 +63,8 @@
void gncEmployeeSetCurrency (GncEmployee *employee, gnc_commodity * currency);
void gncEmployeeSetActive (GncEmployee *employee, gboolean active);
void gncEmployeeSetCCard (GncEmployee *employee, Account* ccard_acc);
+void qofEmployeeSetAddr (GncEmployee *employee, QofEntity *addr_ent);
+
/** @} */
/** @name Get Functions
@@ -99,6 +101,7 @@
#define EMPLOYEE_ACL "acl"
#define EMPLOYEE_WORKDAY "workday"
#define EMPLOYEE_RATE "rate"
+#define EMPLOYEE_CC "credit_card_account"
/** deprecated routines */
#define gncEmployeeGetGUID(E) qof_entity_get_guid(QOF_ENTITY(E))
Index: gncVendor.h
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/business/business-core/gncVendor.h,v
retrieving revision 1.14.4.4
retrieving revision 1.14.4.5
diff -Lsrc/business/business-core/gncVendor.h -Lsrc/business/business-core/gncVendor.h -u -r1.14.4.4 -r1.14.4.5
--- src/business/business-core/gncVendor.h
+++ src/business/business-core/gncVendor.h
@@ -50,7 +50,9 @@
GncVendor *gncVendorCreate (QofBook *book);
void gncVendorDestroy (GncVendor *vendor);
-/* Set Functions */
+/** @name Set Functions
+ @{
+*/
void gncVendorSetID (GncVendor *vendor, const char *id);
void gncVendorSetName (GncVendor *vendor, const char *name);
@@ -59,17 +61,20 @@
void gncVendorSetTaxIncluded (GncVendor *vendor, GncTaxIncluded taxincl);
void gncVendorSetCurrency (GncVendor *vendor, gnc_commodity *currency);
void gncVendorSetActive (GncVendor *vendor, gboolean active);
-
void gncVendorSetTaxTableOverride (GncVendor *vendor, gboolean override);
void gncVendorSetTaxTable (GncVendor *vendor, GncTaxTable *table);
+/** @} */
+
void gncVendorAddJob (GncVendor *vendor, GncJob *job);
void gncVendorRemoveJob (GncVendor *vendor, GncJob *job);
void gncVendorBeginEdit (GncVendor *vendor);
void gncVendorCommitEdit (GncVendor *vendor);
-/* Get Functions */
+/** @name Get Functions
+@{
+*/
const char * gncVendorGetID (GncVendor *vendor);
const char * gncVendorGetName (GncVendor *vendor);
@@ -83,6 +88,7 @@
gboolean gncVendorGetTaxTableOverride (GncVendor *vendor);
GncTaxTable* gncVendorGetTaxTable (GncVendor *vendor);
+/** @} */
/** XXX should be renamed to RetJobList to be consistent with
* other usage, since caller must free the copied list
*/
@@ -102,6 +108,12 @@
#define VENDOR_ID "id"
#define VENDOR_NAME "name"
#define VENDOR_ADDR "addr"
+#define VENDOR_NOTES "vendor_notes"
+#define VENDOR_TERMS "vendor_terms"
+#define VENDOR_TAX_INC "vendor_tax_included"
+#define VENDOR_ACTIVE "vendor_is_active"
+#define VENDOR_TAX_OVERRIDE "override_tax_table"
+#define VENDOR_TAX_TABLE "vendor_tax_table"
/** deprecated functions */
#define gncVendorGetBook(X) qof_instance_get_book (QOF_INSTANCE(X))
Index: gncVendor.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/business/business-core/gncVendor.c,v
retrieving revision 1.21.4.4
retrieving revision 1.21.4.5
diff -Lsrc/business/business-core/gncVendor.c -Lsrc/business/business-core/gncVendor.c -u -r1.21.4.4 -r1.21.4.5
--- src/business/business-core/gncVendor.c
+++ src/business/business-core/gncVendor.c
@@ -313,6 +313,31 @@
gncVendorCommitEdit (vendor);
}
+static void
+qofVendorSetAddr (GncVendor *vendor, QofEntity *addr_ent)
+{
+ GncAddress *addr;
+
+ if(!vendor || !addr_ent) { return; }
+ addr = (GncAddress*)addr_ent;
+ if(addr == vendor->addr) { return; }
+ if(vendor->addr != NULL) { gncAddressDestroy(vendor->addr); }
+ gncVendorBeginEdit(vendor);
+ vendor->addr = addr;
+ gncVendorCommitEdit(vendor);
+}
+
+static void
+qofVendorSetTaxIncluded(GncVendor *vendor, const char* type_string)
+{
+ GncTaxIncluded inc;
+
+ if(!gncTaxIncludedStringToType(type_string, &inc)) { return; }
+ gncVendorBeginEdit(vendor);
+ vendor->taxincluded = inc;
+ gncVendorCommitEdit(vendor);
+}
+
/* ============================================================== */
/* Get Functions */
@@ -376,6 +401,12 @@
return vendor->taxtable;
}
+static const char*
+qofVendorGetTaxIncluded(GncVendor *vendor)
+{
+ return gncTaxIncludedTypeToString(vendor->taxincluded);
+}
+
/* Note that JobList changes do not affect the "dirtiness" of the vendor */
void gncVendorAddJob (GncVendor *vendor, GncJob *job)
{
@@ -501,7 +532,15 @@
static QofParam params[] = {
{ VENDOR_ID, QOF_TYPE_STRING, (QofAccessFunc)gncVendorGetID, (QofSetterFunc)gncVendorSetID },
{ VENDOR_NAME, QOF_TYPE_STRING, (QofAccessFunc)gncVendorGetName, (QofSetterFunc)gncVendorSetName },
- { VENDOR_ADDR, GNC_ADDRESS_MODULE_NAME, (QofAccessFunc)gncVendorGetAddr, NULL },
+ { VENDOR_ADDR, GNC_ID_ADDRESS, (QofAccessFunc)gncVendorGetAddr, (QofSetterFunc)qofVendorSetAddr },
+ { VENDOR_NOTES, QOF_TYPE_STRING, (QofAccessFunc)gncVendorGetNotes, (QofSetterFunc)gncVendorSetNotes },
+ { VENDOR_TERMS, GNC_ID_BILLTERM, (QofAccessFunc)gncVendorGetTerms, (QofSetterFunc)gncVendorSetTerms },
+ { VENDOR_TAX_OVERRIDE, QOF_TYPE_BOOLEAN, (QofAccessFunc)gncVendorGetTaxTableOverride,
+ (QofSetterFunc)gncVendorSetTaxTableOverride },
+ { VENDOR_TAX_TABLE, GNC_ID_TAXTABLE, (QofAccessFunc)gncVendorGetTaxTable,
+ (QofSetterFunc)gncVendorSetTaxTable },
+ { VENDOR_TAX_INC, QOF_TYPE_STRING, (QofAccessFunc)qofVendorGetTaxIncluded,
+ (QofSetterFunc)qofVendorSetTaxIncluded},
{ QOF_PARAM_BOOK, QOF_ID_BOOK, (QofAccessFunc)qof_instance_get_book, NULL },
{ QOF_PARAM_GUID, QOF_TYPE_GUID, (QofAccessFunc)qof_instance_get_guid, NULL },
{ QOF_PARAM_ACTIVE, QOF_TYPE_BOOLEAN, (QofAccessFunc)gncVendorGetActive, NULL },
Index: gncJob.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/business/business-core/gncJob.c,v
retrieving revision 1.18.4.5
retrieving revision 1.18.4.6
diff -Lsrc/business/business-core/gncJob.c -Lsrc/business/business-core/gncJob.c -u -r1.18.4.5 -r1.18.4.6
--- src/business/business-core/gncJob.c
+++ src/business/business-core/gncJob.c
@@ -268,6 +268,25 @@
mark_job (job);
gncJobCommitEdit (job);
}
+static void
+qofJobOwnerCB (QofEntity *ent, gpointer user_data)
+{
+ GncJob *job;
+
+ job = (GncJob*)user_data;
+ qofOwnerSetEntity(&job->owner, ent);
+}
+
+static void
+qofJobSetOwner (GncJob *job, QofCollection *coll)
+{
+ if(!job || !coll) { return; }
+ g_return_if_fail(qof_collection_count(coll) == 1);
+ gncJobBeginEdit (job);
+ qof_collection_foreach(coll, qofJobOwnerCB, job);
+ mark_job (job);
+ gncJobCommitEdit (job);
+}
void gncJobBeginEdit (GncJob *job)
{
@@ -327,6 +346,17 @@
return job->active;
}
+static QofCollection*
+qofJobGetOwner (GncJob *job)
+{
+ QofCollection *job_coll;
+
+ if(!job) { return NULL; }
+ job_coll = qof_collection_new(GNC_ID_JOB);
+ qof_collection_add_entity(job_coll, qofOwnerGetOwner(&job->owner));
+ return job_coll;
+}
+
/* Other functions */
int gncJobCompare (const GncJob * a, const GncJob *b) {
@@ -370,7 +400,8 @@
{ JOB_NAME, QOF_TYPE_STRING, (QofAccessFunc)gncJobGetName, (QofSetterFunc)gncJobSetName },
{ JOB_ACTIVE, QOF_TYPE_BOOLEAN, (QofAccessFunc)gncJobGetActive, (QofSetterFunc)gncJobSetActive },
{ JOB_REFERENCE, QOF_TYPE_STRING, (QofAccessFunc)gncJobGetReference, (QofSetterFunc)gncJobSetReference },
- { JOB_OWNER, GNC_ID_OWNER, (QofAccessFunc)gncJobGetOwner, (QofSetterFunc)gncJobSetOwner },
+ { JOB_OWNER, GNC_ID_OWNER, (QofAccessFunc)gncJobGetOwner, NULL },
+ { Q_JOB_OWNER, QOF_TYPE_COLLECT, (QofAccessFunc)qofJobGetOwner, (QofSetterFunc)qofJobSetOwner },
{ QOF_PARAM_ACTIVE, QOF_TYPE_BOOLEAN, (QofAccessFunc)gncJobGetActive, NULL },
{ QOF_PARAM_BOOK, QOF_ID_BOOK, (QofAccessFunc)qof_instance_get_book, NULL },
{ QOF_PARAM_GUID, QOF_TYPE_GUID, (QofAccessFunc)qof_instance_get_guid, NULL },
Index: gncAddress.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/business/business-core/gncAddress.c,v
retrieving revision 1.4.4.5
retrieving revision 1.4.4.6
diff -Lsrc/business/business-core/gncAddress.c -Lsrc/business/business-core/gncAddress.c -u -r1.4.4.5 -r1.4.4.6
--- src/business/business-core/gncAddress.c
+++ src/business/business-core/gncAddress.c
@@ -97,7 +97,7 @@
return addr;
}
-GncAddress *
+static GncAddress *
qofAddressCreate (QofBook *book)
{
GncAddress *addr;
@@ -122,18 +122,35 @@
return addr;
}
-void
-qofAddressSetOwner(GncAddress *addr, QofEntity *owner)
+static void
+qofAddressOwnerCB (QofEntity *ent, gpointer user_data)
+{
+ GncAddress *addr;
+
+ addr = (GncAddress*)user_data;
+ if(!ent || !addr) { return; }
+ if(addr->parent == NULL) { addr->parent = ent; }
+}
+
+static void
+qofAddressSetOwner(GncAddress *addr, QofCollection *col)
{
- if(!addr) { return; }
- addr->parent = owner;
+ if(!addr || !col) { return; }
+ if(qof_collection_count(col) != 1) { return; }
+ qof_collection_foreach(col, qofAddressOwnerCB, addr);
}
-QofEntity*
+static QofCollection*
qofAddressGetOwner(GncAddress *addr)
{
+ QofCollection *col;
+ QofEntity *parent;
+
if(!addr) { return NULL; }
- return addr->parent;
+ parent = addr->parent;
+ col = qof_collection_new(parent->e_type);
+ qof_collection_add_entity(col, addr->parent);
+ return col;
}
GncAddress *
@@ -343,15 +360,15 @@
{
static QofParam params[] = {
- { ADDRESS_NAME, QOF_TYPE_STRING, (QofAccessFunc)gncAddressGetName, (QofSetterFunc)gncAddressSetName },
- { ADDRESS_ONE, QOF_TYPE_STRING, (QofAccessFunc)gncAddressGetAddr1, (QofSetterFunc)gncAddressSetAddr1 },
- { ADDRESS_TWO, QOF_TYPE_STRING, (QofAccessFunc)gncAddressGetAddr2, (QofSetterFunc)gncAddressSetAddr2 },
- { ADDRESS_THREE, QOF_TYPE_STRING, (QofAccessFunc)gncAddressGetAddr3, (QofSetterFunc)gncAddressSetAddr3 },
- { ADDRESS_FOUR, QOF_TYPE_STRING, (QofAccessFunc)gncAddressGetAddr4, (QofSetterFunc)gncAddressSetAddr4 },
- { ADDRESS_PHONE, QOF_TYPE_STRING, (QofAccessFunc)gncAddressGetPhone, (QofSetterFunc)gncAddressSetPhone },
- { ADDRESS_FAX, QOF_TYPE_STRING, (QofAccessFunc)gncAddressGetFax, (QofSetterFunc)gncAddressSetFax },
- { ADDRESS_EMAIL, QOF_TYPE_STRING, (QofAccessFunc)gncAddressGetEmail, (QofSetterFunc)gncAddressSetEmail },
- { ADDRESS_OWNER, GNC_ID_OWNER, (QofAccessFunc)qofAddressGetOwner, (QofSetterFunc)qofAddressSetOwner },
+ { ADDRESS_NAME, QOF_TYPE_STRING, (QofAccessFunc)gncAddressGetName, (QofSetterFunc)gncAddressSetName },
+ { ADDRESS_ONE, QOF_TYPE_STRING, (QofAccessFunc)gncAddressGetAddr1, (QofSetterFunc)gncAddressSetAddr1 },
+ { ADDRESS_TWO, QOF_TYPE_STRING, (QofAccessFunc)gncAddressGetAddr2, (QofSetterFunc)gncAddressSetAddr2 },
+ { ADDRESS_THREE, QOF_TYPE_STRING, (QofAccessFunc)gncAddressGetAddr3, (QofSetterFunc)gncAddressSetAddr3 },
+ { ADDRESS_FOUR, QOF_TYPE_STRING, (QofAccessFunc)gncAddressGetAddr4, (QofSetterFunc)gncAddressSetAddr4 },
+ { ADDRESS_PHONE, QOF_TYPE_STRING, (QofAccessFunc)gncAddressGetPhone, (QofSetterFunc)gncAddressSetPhone },
+ { ADDRESS_FAX, QOF_TYPE_STRING, (QofAccessFunc)gncAddressGetFax, (QofSetterFunc)gncAddressSetFax },
+ { ADDRESS_EMAIL, QOF_TYPE_STRING, (QofAccessFunc)gncAddressGetEmail, (QofSetterFunc)gncAddressSetEmail },
+ { ADDRESS_OWNER, QOF_TYPE_COLLECT,(QofAccessFunc)qofAddressGetOwner, (QofSetterFunc)qofAddressSetOwner },
{ QOF_PARAM_BOOK, QOF_ID_BOOK, (QofAccessFunc)qof_instance_get_book, NULL },
{ QOF_PARAM_GUID, QOF_TYPE_GUID, (QofAccessFunc)qof_instance_get_guid, NULL },
{ NULL },
Index: gncAddress.h
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/business/business-core/gncAddress.h,v
retrieving revision 1.4.4.5
retrieving revision 1.4.4.6
diff -Lsrc/business/business-core/gncAddress.h -Lsrc/business/business-core/gncAddress.h -u -r1.4.4.5 -r1.4.4.6
--- src/business/business-core/gncAddress.h
+++ src/business/business-core/gncAddress.h
@@ -82,14 +82,6 @@
@{ */
/** create a new address */
GncAddress * gncAddressCreate (QofBook *book, QofEntity *parent);
-/** \brief QOF address creation
-
-An address cannot exist without a parent, yet to merge and
-export the parent, a QOF address object must exist and it
-must be created using standard QOF calls. QOF will always
-set the parent.
-*/
-GncAddress* qofAddressCreate (QofBook *book);
/** destroy an address */
void gncAddressDestroy (GncAddress *addr);
@@ -108,15 +100,6 @@
void gncAddressSetFax (GncAddress *addr, const char *fax);
void gncAddressSetEmail (GncAddress *addr, const char *email);
void gncAddressClearDirty (GncAddress *address);
-/** \brief Set the address owner.
-
-\note Every address must have a genuine ::GncOwner as this
-provides the name or identifier to use the address.
-
-In order to export a Customer, QOF must be able to find the
-address as an entity.
-*/
-void qofAddressSetOwner (GncAddress *address, QofEntity *owner);
/** @} */
/** @name Get Functions
@@ -130,7 +113,6 @@
const char * gncAddressGetPhone (const GncAddress *addr);
const char * gncAddressGetFax (const GncAddress *addr);
const char * gncAddressGetEmail (const GncAddress *addr);
-QofEntity* qofAddressGetOwner (GncAddress *addr);
/** @} */
gboolean gncAddressIsDirty (const GncAddress *addr);
Index: gncInvoice.h
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/business/business-core/gncInvoice.h,v
retrieving revision 1.29.4.7
retrieving revision 1.29.4.8
diff -Lsrc/business/business-core/gncInvoice.h -Lsrc/business/business-core/gncInvoice.h -u -r1.29.4.7 -r1.29.4.8
--- src/business/business-core/gncInvoice.h
+++ src/business/business-core/gncInvoice.h
@@ -70,17 +70,6 @@
void gncInvoiceSetActive (GncInvoice *invoice, gboolean active);
void gncInvoiceSetBillTo (GncInvoice *invoice, GncOwner *billto);
void gncInvoiceSetToChargeAmount (GncInvoice *invoice, gnc_numeric amount);
-void qofInvoiceSetOwner (GncInvoice *invoice, QofCollection *coll);
-void qofInvoiceSetBillTo (GncInvoice *invoice, QofCollection *coll);
-/** \brief create the entry list from a temporary frame.
-
-An invoice can hold an open ended list of entries that are summed to
-make the total payable. To represent these entries within the invoice,
-QOF_TYPE_COLLECT is used to list the references to the GncEntry's for
-the invoice. The collection contains a number of GncEntry objects.
-*/
-void qofInvoiceSetEntries(GncInvoice *invoice, QofCollection *entry_coll);
-void qofInvoiceSetJob (GncInvoice *invoice, GncJob *job);
/** @} */
void gncInvoiceAddEntry (GncInvoice *invoice, GncEntry *entry);
@@ -105,14 +94,6 @@
GncOwner * gncInvoiceGetBillTo (GncInvoice *invoice);
gnc_numeric gncInvoiceGetToChargeAmount (GncInvoice *invoice);
gboolean gncInvoiceGetActive (GncInvoice *invoice);
-/** \brief Create a temporary frame for the entry list.
-
-Converts the GList of GncEntry inside GncInvoice to a KVP_TYPE_GLIST.
-*/
-QofCollection* qofInvoiceGetEntries (GncInvoice *invoice);
-GncJob* qofInvoiceGetJob (GncInvoice *invoice);
-QofCollection* qofInvoiceGetOwner (GncInvoice *invoice);
-QofCollection* qofInvoiceGetBillTo (GncInvoice *invoice);
GNCLot * gncInvoiceGetPostedLot (GncInvoice *invoice);
Transaction * gncInvoiceGetPostedTxn (GncInvoice *invoice);
Index: gncOwner.h
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/business/business-core/gncOwner.h,v
retrieving revision 1.12.4.5
retrieving revision 1.12.4.6
diff -Lsrc/business/business-core/gncOwner.h -Lsrc/business/business-core/gncOwner.h -u -r1.12.4.5 -r1.12.4.6
--- src/business/business-core/gncOwner.h
+++ src/business/business-core/gncOwner.h
@@ -44,15 +44,14 @@
#include "gnc-lot.h"
#include "gnc-engine-util.h"
-#define ENUM_OWNER_TYPE(_) \
- _(GNC_OWNER_NONE,) \
- _(GNC_OWNER_UNDEFINED,) \
- _(GNC_OWNER_CUSTOMER,) \
- _(GNC_OWNER_JOB,) \
- _(GNC_OWNER_VENDOR,) \
- _(GNC_OWNER_EMPLOYEE,)
-
-DEFINE_ENUM(GncOwnerType, ENUM_OWNER_TYPE)
+typedef enum {
+ GNC_OWNER_NONE ,
+ GNC_OWNER_UNDEFINED ,
+ GNC_OWNER_CUSTOMER ,
+ GNC_OWNER_JOB ,
+ GNC_OWNER_VENDOR ,
+ GNC_OWNER_EMPLOYEE ,
+}GncOwnerType;
/** \name QOF handling
@@ -61,10 +60,6 @@
to QOF as they can be used by objects like GncInvoice.
@{
*/
-/** \brief Allow the type to be set separate from the union. */
-void qofOwnerSetType(GncOwner *owner, const char* type_string);
-/** \brief Allow the union to be set independently of the type. */
-char* qofOwnerGetTypeString(GncOwner *owner);
/** return the type for the collection. */
QofIdType qofOwnerGetType(GncOwner *owner);
/** return the owner itself as an entity. */
@@ -72,29 +67,10 @@
/** set the owner from the entity. */
void qofOwnerSetEntity (GncOwner *owner, QofEntity *ent);
-/** \brief QOF union set routine.
-
- If ::qofOwnerSetType has already been called, initialise the owner.\n
- If no type has been set, store the object in a temporary pointer.
- When qofOwnerSetType is then called, qofOwnerSetOwner is called again
- and uses the value in the pointer to initialise the owner.
-
-QOF makes sure both owner and type set functions are called once.
-*/
-void qofOwnerSetOwner(GncOwner *owner, gpointer obj);
-
-void qofOwnerSetUndefined (GncOwner *owner, gpointer obj);
-void qofOwnerSetCustomer (GncOwner *owner, GncCustomer* customer);
-void qofOwnerSetJob (GncOwner *owner, GncJob* job);
-void qofOwnerSetVendor (GncOwner *owner, GncVendor* vendor);
-void qofOwnerSetEmployee (GncOwner *owner, GncEmployee* employee);
/** \brief Set the parent owner. */
void qofOwnerSetEndOwner (GncOwner *owner, GncOwner *parent);
GncOwner* qofOwnerCreate (QofBook *book);
-AS_STRING_DEC(GncOwnerType, ENUM_OWNER_TYPE)
-FROM_STRING_DEC(GncOwnerType, ENUM_OWNER_TYPE)
-
gboolean
gncOwnerRegister(void);
Index: Transaction.h
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/engine/Transaction.h,v
retrieving revision 1.141.4.10
retrieving revision 1.141.4.11
diff -Lsrc/engine/Transaction.h -Lsrc/engine/Transaction.h -u -r1.141.4.10 -r1.141.4.11
--- src/engine/Transaction.h
+++ src/engine/Transaction.h
@@ -427,18 +427,6 @@
Timespec xaccTransRetDateDueTS (const Transaction *trans);
/** Dates and txn-type for A/R and A/P "invoice" postings */
void xaccTransGetDateDueTS (const Transaction *trans, Timespec *ts);
-/** \brief QOF date posted setter.
-
-Required because xaccTransSetDatePostedTS has a Timespec pointer argument
-when QOF passes a Timespec.
-*/
-void qofTransSetDatePosted (Transaction *trans, Timespec ts);
-/** \brief QOF date entered setter.
-
-Required because xaccTransSetDateEnteredTS has a Timespec pointer argument
-when QOF passes a Timespec.
-*/
-void qofTransSetDateEntered (Transaction *trans, Timespec ts);
/** @} */
@@ -943,16 +931,17 @@
#define RECONCILED_MATCH_TYPE "reconciled-match"
-/* QOF only */
-void qofSplitSetParentTrans(Split *s, QofEntity *ent);
-void qofSplitSetAccount(Split *s, QofEntity *ent);
-
-/** deprecated rouitines */
+/** \deprecated */
#define xaccSplitGetGUID(X) qof_entity_get_guid(QOF_ENTITY(X))
+/** \deprecated */
#define xaccSplitReturnGUID(X) (X ? *(qof_entity_get_guid(QOF_ENTITY(X))) : *(guid_null()))
+/** \deprecated */
#define xaccTransGetBook(X) qof_instance_get_book (QOF_INSTANCE(X))
+/** \deprecated */
#define xaccTransGetGUID(X) qof_entity_get_guid(QOF_ENTITY(X))
+/** \deprecated */
#define xaccTransReturnGUID(X) (X ? *(qof_entity_get_guid(QOF_ENTITY(X))) : *(guid_null()))
+/** \deprecated */
#define xaccTransGetSlots(X) qof_instance_get_slots (QOF_INSTANCE(X))
#endif /* XACC_TRANSACTION_H */
Index: Transaction.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/engine/Transaction.c,v
retrieving revision 1.261.4.10
retrieving revision 1.261.4.11
diff -Lsrc/engine/Transaction.c -Lsrc/engine/Transaction.c -u -r1.261.4.10 -r1.261.4.11
--- src/engine/Transaction.c
+++ src/engine/Transaction.c
@@ -2384,7 +2384,7 @@
xaccTransSetDateInternal(trans, &trans->date_entered, ts);
}
-void
+static void
qofTransSetDatePosted (Transaction *trans, Timespec ts)
{
if (!trans) { return; }
@@ -2401,7 +2401,7 @@
set_gains_date_dirty (trans);
}
-void
+static void
qofTransSetDateEntered (Transaction *trans, Timespec ts)
{
if (!trans) { return; }
@@ -3266,7 +3266,7 @@
return obj;
}
-void
+static void
qofSplitSetParentTrans(Split *s, QofEntity *ent)
{
Transaction *trans;
@@ -3276,7 +3276,7 @@
xaccTransAppendSplit(trans, s);
}
-void
+static void
qofSplitSetAccount(Split *s, QofEntity *ent)
{
Account *acc;
Index: Account.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/engine/Account.c,v
retrieving revision 1.222.4.12
retrieving revision 1.222.4.13
diff -Lsrc/engine/Account.c -Lsrc/engine/Account.c -u -r1.222.4.12 -r1.222.4.13
--- src/engine/Account.c
+++ src/engine/Account.c
@@ -1471,14 +1471,14 @@
return (acc->type);
}
-const char*
+static const char*
qofAccountGetTypeString (Account *acc)
{
if(!acc) { return NULL; }
return (xaccAccountTypeEnumAsString(acc->type));
}
-void
+static void
qofAccountSetType (Account *acc, const char *type_string)
{
GNCAccountType type;
Index: FreqSpec.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/engine/FreqSpec.c,v
retrieving revision 1.28.4.7
retrieving revision 1.28.4.8
diff -Lsrc/engine/FreqSpec.c -Lsrc/engine/FreqSpec.c -u -r1.28.4.7 -r1.28.4.8
--- src/engine/FreqSpec.c
+++ src/engine/FreqSpec.c
@@ -94,18 +94,6 @@
#include "qofbook-p.h"
#include "qofid-p.h"
-/* I have done this to prevent compiler warnings...
- * This is used to convert a const GDate* to a GDate* for passing
- * to the glib g_date_xxx functions which don't use const...
- * Strangely, most of the rest of glib does use const, so
- * perhaps this will change? When it does, just define this macro to
- * nothing and the compiler will check the constness of each pointer....
-
- Done. NW 24/4/5.
- */
-#define CONST_HACK
-//(GDate*)
-
static short module = MOD_SX;
/*
* FIXME: should be in a header file
@@ -292,8 +280,8 @@
break;
case ONCE:
- if ( g_date_compare( &(fs->s.once.date),
- CONST_HACK in_date ) > 0 ) {
+ if ( g_date_compare( &(fs->s.once.date), in_date ) > 0 )
+ {
*out_date = fs->s.once.date;
} else {
/* Date is past due. Return an invalid date. */
@@ -304,7 +292,7 @@
case DAILY: {
guint32 julian_in_date, julian_next_repeat, complete_intervals;
- julian_in_date = g_date_julian( CONST_HACK in_date );
+ julian_in_date = g_date_julian( in_date );
complete_intervals =
(julian_in_date - fs->s.daily.offset_from_epoch) /
fs->s.daily.interval_days;
@@ -320,7 +308,7 @@
* It is very similar to the daily repeat representation. */
guint32 julian_in_date, julian_next_repeat, complete_intervals;
- julian_in_date = g_date_julian( CONST_HACK in_date );
+ julian_in_date = g_date_julian( in_date );
complete_intervals =
(julian_in_date - fs->s.weekly.offset_from_epoch) /
(fs->s.weekly.interval_weeks * 7);
@@ -334,18 +322,18 @@
guint32 in_months_from_epoch, after_repeat_in_month_interval,
complete_intervals, next_repeat_months_from_epoch, month, year;
- in_months_from_epoch = (g_date_year( CONST_HACK in_date )-1) * 12 +
- g_date_month( CONST_HACK in_date ) - 1;
+ in_months_from_epoch = (g_date_year( in_date )-1) * 12 +
+ g_date_month( in_date ) - 1;
complete_intervals =
(in_months_from_epoch - fs->s.monthly.offset_from_epoch) /
fs->s.monthly.interval_months;
after_repeat_in_month_interval =
- (g_date_day( CONST_HACK in_date ) >= fs->s.monthly.day_of_month ||
+ (g_date_day( in_date ) >= fs->s.monthly.day_of_month ||
(in_months_from_epoch - fs->s.monthly.offset_from_epoch) %
fs->s.monthly.interval_months > 0 ||
- g_date_day( CONST_HACK in_date ) >=
- g_date_days_in_month( g_date_month( CONST_HACK in_date ),
- g_date_year( CONST_HACK in_date ) ) ) ? 1 : 0;
+ g_date_day( in_date ) >=
+ g_date_days_in_month( g_date_month( in_date ),
+ g_date_year( in_date ) ) ) ? 1 : 0;
next_repeat_months_from_epoch =
fs->s.monthly.offset_from_epoch +
(complete_intervals + after_repeat_in_month_interval) *
@@ -372,19 +360,19 @@
wday_of_1st, day_of_repeat;
GDate date1;
- in_months_from_epoch = (g_date_year( CONST_HACK in_date )-1) * 12 +
- g_date_month( CONST_HACK in_date ) - 1;
+ in_months_from_epoch = (g_date_year( in_date )-1) * 12 +
+ g_date_month( in_date ) - 1;
complete_intervals =
(in_months_from_epoch - fs->s.month_relative.offset_from_epoch) /
fs->s.month_relative.interval_months;
- month = g_date_month( CONST_HACK in_date );
- year = g_date_year( CONST_HACK in_date );
+ month = g_date_month( in_date );
+ year = g_date_year( in_date );
g_date_set_dmy( &date1, 1, month, year );
wday_of_1st = g_date_get_weekday( &date1 );
day_of_repeat = (fs->s.month_relative.occurrence-1)*7 +
((fs->s.month_relative.weekday + 7 - wday_of_1st)%7 + 1);
after_repeat_in_month_interval =
- (g_date_day( CONST_HACK in_date ) >= day_of_repeat ||
+ (g_date_day( in_date ) >= day_of_repeat ||
day_of_repeat > g_date_days_in_month( month, year ) ||
(in_months_from_epoch - fs->s.month_relative.offset_from_epoch) %
fs->s.month_relative.interval_months > 0 ) ? 1 : 0;
@@ -493,7 +481,7 @@
fs->type = DAILY;
fs->s.daily.interval_days = interval_days;
- julian_days_since_epoch = g_date_julian( CONST_HACK initial_date );
+ julian_days_since_epoch = g_date_julian( initial_date );
fs->s.daily.offset_from_epoch = julian_days_since_epoch % interval_days;
}
@@ -522,7 +510,7 @@
fs->type = DAILY;
fs->s.daily.interval_days = 7 * interval_weeks;
- julian_days_since_epoch = g_date_julian( CONST_HACK initial_date );
+ julian_days_since_epoch = g_date_julian( initial_date );
fs->s.daily.offset_from_epoch = julian_days_since_epoch % (7*interval_weeks);
#endif
#if 1
@@ -536,7 +524,7 @@
fs->type = WEEKLY;
fs->s.weekly.interval_weeks = interval_weeks;
- julian_days_since_epoch = g_date_julian( CONST_HACK initial_date );
+ julian_days_since_epoch = g_date_julian( initial_date );
fs->s.weekly.offset_from_epoch = julian_days_since_epoch % (7*interval_weeks);
#endif
#if 0
@@ -554,7 +542,7 @@
fs->type = WEEKLY;
fs->s.weekly.interval_weeks = interval_weeks;
- julian_day_initial = g_date_julian( CONST_HACK initial_date );
+ julian_day_initial = g_date_julian( initial_date );
weeks_since_epoch = (julian_day_initial-1) / 7;
fs->s.weekly.day_of_week = (julian_day_initial-1) % 7;
fs->s.weekly.offset_from_epoch = weeks_since_epoch % interval_weeks;
@@ -578,10 +566,10 @@
fs->type = MONTHLY;
fs->s.monthly.interval_months = interval_months;
- months_since_epoch = (g_date_year( CONST_HACK initial_date )-1) * 12 +
- g_date_month( CONST_HACK initial_date ) - 1;
+ months_since_epoch = (g_date_year( initial_date )-1) * 12 +
+ g_date_month( initial_date ) - 1;
fs->s.monthly.offset_from_epoch = months_since_epoch % interval_months;
- fs->s.monthly.day_of_month = g_date_day( CONST_HACK initial_date );
+ fs->s.monthly.day_of_month = g_date_day( initial_date );
g_return_if_fail( fs->s.monthly.offset_from_epoch <
fs->s.monthly.interval_months );
@@ -599,12 +587,12 @@
fs->type = MONTH_RELATIVE;
fs->s.month_relative.interval_months = interval_months;
- months_since_epoch = (g_date_year( CONST_HACK initial_date )-1) * 12 +
- g_date_month( CONST_HACK initial_date ) - 1;
+ months_since_epoch = (g_date_year( initial_date )-1) * 12 +
+ g_date_month( initial_date ) - 1;
fs->s.month_relative.offset_from_epoch = months_since_epoch % interval_months;
- fs->s.month_relative.weekday = g_date_get_weekday( CONST_HACK initial_date );
- fs->s.month_relative.occurrence = (g_date_day( CONST_HACK initial_date )-1) / 7 + 1;
+ fs->s.month_relative.weekday = g_date_get_weekday( initial_date );
+ fs->s.month_relative.occurrence = (g_date_day( initial_date )-1) / 7 + 1;
g_return_if_fail( fs->s.month_relative.weekday > 0 );
g_return_if_fail( fs->s.month_relative.weekday <= 7 );
@@ -723,7 +711,7 @@
xaccFreqSpecGetFreqStr(fs, str);
return str->str;
}
-
+
void
xaccFreqSpecGetFreqStr( FreqSpec *fs, GString *str )
{
@@ -1133,7 +1121,7 @@
/* QOF routines. */
-int
+static int
qofFreqSpecGetMonthDay(FreqSpec *fs)
{
int outDayOfMonth;
@@ -1143,8 +1131,8 @@
outDayOfMonth = fs->s.monthly.day_of_month;
return outDayOfMonth;
}
-
-int
+/*
+static int
qofFreqSpecGetMonthOffset(FreqSpec *fs)
{
int outMonthOffset;
@@ -1154,8 +1142,8 @@
outMonthOffset = fs->s.monthly.offset_from_epoch;
return outMonthOffset;
}
-
-Timespec
+*/
+static Timespec
qofFreqSpecGetBaseDate(FreqSpec *fs)
{
GDate *when;
@@ -1172,7 +1160,7 @@
return ts;
}
-char*
+static char*
qofFreqSpecGetUIType(FreqSpec *fs)
{
char *type_string;
@@ -1182,7 +1170,7 @@
return type_string;
}
-int
+static int
qofFreqSpecGetRepeat(FreqSpec *fs)
{
int repeat, dump, dump2;
@@ -1296,8 +1284,7 @@
}
}
-
-void
+static void
qofFreqSpecSetUIType (FreqSpec *fs, const char *type_string)
{
g_return_if_fail(fs != NULL);
@@ -1305,7 +1292,7 @@
qofFreqSpecCalculate(fs, fs->value);
}
-void
+static void
qofFreqSpecSetBaseDate(FreqSpec *fs, Timespec start_date)
{
time_t start_t;
@@ -1326,7 +1313,7 @@
qofFreqSpecCalculate(fs, fs->value);
}
-void
+static void
qofFreqSpecSetRepeat(FreqSpec *fs, gint value)
{
fs->value = value;
Index: FreqSpec.h
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/engine/FreqSpec.h,v
retrieving revision 1.10.4.5
retrieving revision 1.10.4.6
diff -Lsrc/engine/FreqSpec.h -Lsrc/engine/FreqSpec.h -u -r1.10.4.5 -r1.10.4.6
--- src/engine/FreqSpec.h
+++ src/engine/FreqSpec.h
@@ -52,7 +52,7 @@
/** @file FreqSpec.h
@brief Period / Date Frequency Specification
@author Copyright (C) 2001 Joshua Sled <jsled at asynchronous.org>
- @author Copyright (C) 2001 Ben Stanley <bds02 at uow.edu.au>
+ @author Copyright (C) 2001 Ben Stanley <bds02 at uow.edu.au>
@author Copyright (c) 2005 Neil Williams <linux at codehelp.co.uk>
*/
@@ -286,60 +286,6 @@
#define FS_MONTH_DAY "fs-day-of-month"
#define FS_MONTH_OFFSET "fs-month-offset"
-/** \brief Use a string for enum values.
-
-Uses a macro defined in gnc-engine-util.h to swap the enum value for
-the string equivalent. The string is a direct copy of the enum value
-in the source, so UIFREQ_SEMI_MONTHLY returns "UIFREQ_SEMI_MONTHLY"
-*/
-char* qofFreqSpecGetUIType(FreqSpec *fs);
-/** \brief Use a string for enum values. */
-void qofFreqSpecSetUIType (FreqSpec *fs, const char *type_string);
-/** \brief Single get routine for all types.
-
-This routine dumps the other calculated values from certain types
-and returns only the repeat interval.
-
-\return -1 on error or if the type in INVALID,
-otherwise the repeat interval for the current type.
-*/
-int qofFreqSpecGetRepeat(FreqSpec *fs);
-/** \brief Single set routine for all types.
-
-Store the value temporarily. When the repeat interval,
-base date and UIType are all set, QOF calculates the
-other FreqSpec parameters.
-*/
-void qofFreqSpecSetRepeat(FreqSpec *fs, gint value);
-/** \brief Get the base date.
-
-Uses Timespec for QOF.
-*/
-Timespec qofFreqSpecGetBaseDate(FreqSpec *fs);
-/** \brief Set the base date.
-
-Uses Timespec for QOF.
-*/
-void qofFreqSpecSetBaseDate(FreqSpec *fs, Timespec ts);
-/** \brief Get just the day of month for a monthly repeat.
-
-This isolates the one parameter value from the current object.
-
-\note QOF requires the value to be returned, not set via a pointer.
-
- at return 0 if this is not a monthly FreqSpec.
-*/
-int qofFreqSpecGetMonthDay(FreqSpec *fs);
-/** \brief Get just the month offset for a monthly repeat.
-
-This isolates the one parameter value from the current object.
-
-\note QOF requires the value to be returned, not set via a pointer.
-
- at return 0 if this is not a monthly FreqSpec.
-*/
-int qofFreqSpecGetMonthOffset(FreqSpec *fs);
-
/** \todo Need support for monthly and weekly extra values and composite. */
gboolean FreqSpecRegister(void);
Index: Account.h
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/engine/Account.h,v
retrieving revision 1.110.4.12
retrieving revision 1.110.4.13
diff -Lsrc/engine/Account.h -Lsrc/engine/Account.h -u -r1.110.4.12 -r1.110.4.13
--- src/engine/Account.h
+++ src/engine/Account.h
@@ -213,8 +213,6 @@
void xaccAccountSetLastNum (Account *account, const char *num);
/** Set the account's type */
GNCAccountType xaccAccountGetType (Account *account);
-const char* qofAccountGetTypeString (Account *acc);
-void qofAccountSetType (Account *acc, const char *type_string);
/** Get the account's name */
const char * xaccAccountGetName (Account *account);
More information about the gnucash-changes
mailing list