r16772 - gnucash/trunk/src/business/business-core/file - Save and load kvp frames of vendors and employees.

Andreas Köhler andi5 at cvs.gnucash.org
Sun Dec 30 14:50:43 EST 2007


Author: andi5
Date: 2007-12-30 14:50:43 -0500 (Sun, 30 Dec 2007)
New Revision: 16772
Trac: http://svn.gnucash.org/trac/changeset/16772

Modified:
   gnucash/trunk/src/business/business-core/file/gnc-employee-xml-v2.c
   gnucash/trunk/src/business/business-core/file/gnc-vendor-xml-v2.c
Log:
Save and load kvp frames of vendors and employees.


Modified: gnucash/trunk/src/business/business-core/file/gnc-employee-xml-v2.c
===================================================================
--- gnucash/trunk/src/business/business-core/file/gnc-employee-xml-v2.c	2007-12-30 18:42:20 UTC (rev 16771)
+++ gnucash/trunk/src/business/business-core/file/gnc-employee-xml-v2.c	2007-12-30 19:50:43 UTC (rev 16772)
@@ -76,7 +76,7 @@
 static xmlNodePtr
 employee_dom_tree_create (GncEmployee *employee)
 {
-    xmlNodePtr ret;
+    xmlNodePtr ret, kvpnode;
     gnc_numeric num;
     Account* ccard_acc;
 
@@ -118,6 +118,10 @@
       xmlAddChild(ret, guid_to_dom_tree(employee_ccard_string,
 					qof_instance_get_guid(QOF_INSTANCE(ccard_acc))));
 
+    kvpnode = kvp_frame_to_dom_tree (employee_slots_string,
+				     qof_instance_get_slots (QOF_INSTANCE(employee)));
+    if (kvpnode) xmlAddChild (ret, kvpnode);
+
     return ret;
 }
 
@@ -286,7 +290,9 @@
 static gboolean
 employee_slots_handler (xmlNodePtr node, gpointer employee_pdata)
 {
-  return TRUE;
+    struct employee_pdata *pdata = employee_pdata;
+    return dom_tree_to_kvp_frame_given (
+	node, qof_instance_get_slots (QOF_INSTANCE(pdata->employee)));
 }
 
 static struct dom_tree_handler employee_handlers_v2[] = {

Modified: gnucash/trunk/src/business/business-core/file/gnc-vendor-xml-v2.c
===================================================================
--- gnucash/trunk/src/business/business-core/file/gnc-vendor-xml-v2.c	2007-12-30 18:42:20 UTC (rev 16771)
+++ gnucash/trunk/src/business/business-core/file/gnc-vendor-xml-v2.c	2007-12-30 19:50:43 UTC (rev 16772)
@@ -73,7 +73,7 @@
 static xmlNodePtr
 vendor_dom_tree_create (GncVendor *vendor)
 {
-    xmlNodePtr ret;
+    xmlNodePtr ret, kvpnode;
     GncBillTerm *term;
     GncTaxTable *taxtable;
 
@@ -118,6 +118,10 @@
       xmlAddChild (ret, guid_to_dom_tree (vendor_taxtable_string,
 					  qof_instance_get_guid(QOF_INSTANCE(taxtable))));
 
+    kvpnode = kvp_frame_to_dom_tree (vendor_slots_string, 
+				     qof_instance_get_slots (QOF_INSTANCE(vendor)));
+    if (kvpnode) xmlAddChild (ret, kvpnode);
+
     return ret;
 }
 
@@ -303,7 +307,10 @@
 static gboolean
 vendor_slots_handler (xmlNodePtr node, gpointer vendor_pdata)
 {
-  return TRUE;
+    struct vendor_pdata *pdata = vendor_pdata;
+    return dom_tree_to_kvp_frame_given (
+	node, qof_instance_get_slots (QOF_INSTANCE(pdata->vendor)));
+
 }
 
 static struct dom_tree_handler vendor_handlers_v2[] = {



More information about the gnucash-changes mailing list