gnucash master: Multiple changes pushed
John Ralls
jralls at code.gnucash.org
Sun Nov 29 20:42:08 EST 2015
Updated via https://github.com/Gnucash/gnucash/commit/039a4336 (commit)
via https://github.com/Gnucash/gnucash/commit/01784926 (commit)
from https://github.com/Gnucash/gnucash/commit/1c57e9c6 (commit)
commit 039a4336e2ac0c695c0b82a9b344571910de037a
Author: John Ralls <jralls at ceridwen.us>
Date: Sun Nov 29 17:11:29 2015 -0800
Convert XML Backend to compile as C++.
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 3c6067b..8484bf7 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -62,40 +62,40 @@ src/backend/sql/gnc-slots-sql.cpp
src/backend/sql/gnc-tax-table-sql.cpp
src/backend/sql/gnc-transaction-sql.cpp
src/backend/sql/gnc-vendor-sql.cpp
-src/backend/xml/gnc-account-xml-v2.c
-src/backend/xml/gnc-address-xml-v2.c
-src/backend/xml/gnc-backend-xml.c
-src/backend/xml/gnc-bill-term-xml-v2.c
-src/backend/xml/gnc-book-xml-v2.c
-src/backend/xml/gnc-budget-xml-v2.c
-src/backend/xml/gnc-commodity-xml-v2.c
-src/backend/xml/gnc-customer-xml-v2.c
-src/backend/xml/gnc-employee-xml-v2.c
-src/backend/xml/gnc-entry-xml-v2.c
-src/backend/xml/gnc-freqspec-xml-v2.c
-src/backend/xml/gnc-invoice-xml-v2.c
-src/backend/xml/gnc-job-xml-v2.c
-src/backend/xml/gnc-lot-xml-v2.c
-src/backend/xml/gnc-order-xml-v2.c
-src/backend/xml/gnc-owner-xml-v2.c
-src/backend/xml/gnc-pricedb-xml-v2.c
-src/backend/xml/gnc-recurrence-xml-v2.c
-src/backend/xml/gnc-schedxaction-xml-v2.c
-src/backend/xml/gnc-tax-table-xml-v2.c
-src/backend/xml/gnc-transaction-xml-v2.c
-src/backend/xml/gnc-vendor-xml-v2.c
-src/backend/xml/gnc-xml-helper.c
-src/backend/xml/io-example-account.c
-src/backend/xml/io-gncxml-gen.c
+src/backend/xml/gnc-account-xml-v2.cpp
+src/backend/xml/gnc-address-xml-v2.cpp
+src/backend/xml/gnc-backend-xml.cpp
+src/backend/xml/gnc-bill-term-xml-v2.cpp
+src/backend/xml/gnc-book-xml-v2.cpp
+src/backend/xml/gnc-budget-xml-v2.cpp
+src/backend/xml/gnc-commodity-xml-v2.cpp
+src/backend/xml/gnc-customer-xml-v2.cpp
+src/backend/xml/gnc-employee-xml-v2.cpp
+src/backend/xml/gnc-entry-xml-v2.cpp
+src/backend/xml/gnc-freqspec-xml-v2.cpp
+src/backend/xml/gnc-invoice-xml-v2.cpp
+src/backend/xml/gnc-job-xml-v2.cpp
+src/backend/xml/gnc-lot-xml-v2.cpp
+src/backend/xml/gnc-order-xml-v2.cpp
+src/backend/xml/gnc-owner-xml-v2.cpp
+src/backend/xml/gnc-pricedb-xml-v2.cpp
+src/backend/xml/gnc-recurrence-xml-v2.cpp
+src/backend/xml/gnc-schedxaction-xml-v2.cpp
+src/backend/xml/gnc-tax-table-xml-v2.cpp
+src/backend/xml/gnc-transaction-xml-v2.cpp
+src/backend/xml/gnc-vendor-xml-v2.cpp
+src/backend/xml/gnc-xml-helper.cpp
+src/backend/xml/io-example-account.cpp
+src/backend/xml/io-gncxml-gen.cpp
src/backend/xml/io-gncxml-v1.cpp
-src/backend/xml/io-gncxml-v2.c
-src/backend/xml/io-utils.c
-src/backend/xml/sixtp.c
+src/backend/xml/io-gncxml-v2.cpp
+src/backend/xml/io-utils.cpp
+src/backend/xml/sixtp.cpp
src/backend/xml/sixtp-dom-generators.cpp
src/backend/xml/sixtp-dom-parsers.cpp
-src/backend/xml/sixtp-stack.c
-src/backend/xml/sixtp-to-dom-parser.c
-src/backend/xml/sixtp-utils.c
+src/backend/xml/sixtp-stack.cpp
+src/backend/xml/sixtp-to-dom-parser.cpp
+src/backend/xml/sixtp-utils.cpp
src/bin/gnucash-bin.c
src/business/business-gnome/business-gnome.scm
src/business/business-gnome/business-gnome-utils.c
diff --git a/src/backend/xml/Makefile.am b/src/backend/xml/Makefile.am
index 184b0ea..8e61544 100644
--- a/src/backend/xml/Makefile.am
+++ b/src/backend/xml/Makefile.am
@@ -19,42 +19,42 @@ AM_CPPFLAGS = \
${BOOST_CPPFLAGS}
libgnc_backend_xml_utils_la_SOURCES = \
- gnc-account-xml-v2.c \
- gnc-address-xml-v2.c \
- gnc-bill-term-xml-v2.c \
- gnc-book-xml-v2.c \
- gnc-budget-xml-v2.c \
- gnc-commodity-xml-v2.c \
- gnc-customer-xml-v2.c \
- gnc-employee-xml-v2.c \
- gnc-entry-xml-v2.c \
- gnc-freqspec-xml-v2.c \
- gnc-invoice-xml-v2.c \
- gnc-job-xml-v2.c \
- gnc-lot-xml-v2.c \
- gnc-order-xml-v2.c \
- gnc-owner-xml-v2.c \
- gnc-pricedb-xml-v2.c \
- gnc-recurrence-xml-v2.c \
- gnc-schedxaction-xml-v2.c \
- gnc-tax-table-xml-v2.c \
- gnc-transaction-xml-v2.c \
- gnc-vendor-xml-v2.c \
- gnc-xml-helper.c \
- io-example-account.c \
- io-gncxml-gen.c \
+ gnc-account-xml-v2.cpp \
+ gnc-address-xml-v2.cpp \
+ gnc-bill-term-xml-v2.cpp \
+ gnc-book-xml-v2.cpp \
+ gnc-budget-xml-v2.cpp \
+ gnc-commodity-xml-v2.cpp \
+ gnc-customer-xml-v2.cpp \
+ gnc-employee-xml-v2.cpp \
+ gnc-entry-xml-v2.cpp \
+ gnc-freqspec-xml-v2.cpp \
+ gnc-invoice-xml-v2.cpp \
+ gnc-job-xml-v2.cpp \
+ gnc-lot-xml-v2.cpp \
+ gnc-order-xml-v2.cpp \
+ gnc-owner-xml-v2.cpp \
+ gnc-pricedb-xml-v2.cpp \
+ gnc-recurrence-xml-v2.cpp \
+ gnc-schedxaction-xml-v2.cpp \
+ gnc-tax-table-xml-v2.cpp \
+ gnc-transaction-xml-v2.cpp \
+ gnc-vendor-xml-v2.cpp \
+ gnc-xml-helper.cpp \
+ io-example-account.cpp \
+ io-gncxml-gen.cpp \
io-gncxml-v1.cpp \
- io-gncxml-v2.c \
- io-utils.c \
+ io-gncxml-v2.cpp \
+ io-utils.cpp \
sixtp-dom-generators.cpp \
sixtp-dom-parsers.cpp \
- sixtp-stack.c \
- sixtp-to-dom-parser.c \
- sixtp-utils.c \
- sixtp.c
+ sixtp-stack.cpp \
+ sixtp-to-dom-parser.cpp \
+ sixtp-utils.cpp \
+ sixtp.cpp
libgncmod_backend_xml_la_SOURCES = \
- gnc-backend-xml.c
+ gnc-backend-xml.cpp
noinst_HEADERS = \
gnc-backend-xml.h \
diff --git a/src/backend/xml/gnc-account-xml-v2.c b/src/backend/xml/gnc-account-xml-v2.cpp
similarity index 91%
rename from src/backend/xml/gnc-account-xml-v2.c
rename to src/backend/xml/gnc-account-xml-v2.cpp
index 25f6f1e..f189779 100644
--- a/src/backend/xml/gnc-account-xml-v2.c
+++ b/src/backend/xml/gnc-account-xml-v2.cpp
@@ -22,12 +22,16 @@
* Boston, MA 02110-1301, USA gnu at gnu.org *
* *
\********************************************************************/
-
+extern "C"
+{
#include "config.h"
#include <glib.h>
#include <stdlib.h>
#include <string.h>
+#include <AccountP.h>
+#include <Account.h>
+}
#include "gnc-xml-helper.h"
#include "sixtp.h"
@@ -42,8 +46,6 @@
#include "io-gncxml-v2.h"
#include "sixtp-dom-parsers.h"
-#include "AccountP.h"
-#include "Account.h"
static QofLogModule log_module = GNC_MOD_IO;
@@ -154,7 +156,7 @@ gnc_account_dom_tree_create(Account *act,
for (n = lots; n; n = n->next)
{
- GNCLot * lot = n->data;
+ GNCLot * lot = static_cast<decltype(lot)>(n->data);
xmlAddChild(toaddto, gnc_lot_dom_tree_create(lot));
}
}
@@ -189,7 +191,7 @@ set_string(xmlNodePtr node, Account* act,
static gboolean
account_name_handler (xmlNodePtr node, gpointer act_pdata)
{
- struct account_pdata *pdata = act_pdata;
+ struct account_pdata *pdata = static_cast<decltype(pdata)>(act_pdata);
return set_string(node, pdata->account, xaccAccountSetName);
}
@@ -197,7 +199,7 @@ account_name_handler (xmlNodePtr node, gpointer act_pdata)
static gboolean
account_id_handler (xmlNodePtr node, gpointer act_pdata)
{
- struct account_pdata *pdata = act_pdata;
+ struct account_pdata *pdata = static_cast<decltype(pdata)>(act_pdata);
GncGUID *guid;
guid = dom_tree_to_guid(node);
@@ -213,7 +215,7 @@ account_id_handler (xmlNodePtr node, gpointer act_pdata)
static gboolean
account_type_handler (xmlNodePtr node, gpointer act_pdata)
{
- struct account_pdata *pdata = act_pdata;
+ struct account_pdata *pdata = static_cast<decltype(pdata)>(act_pdata);
GNCAccountType type = ACCT_TYPE_INVALID;
char *string;
@@ -229,7 +231,7 @@ account_type_handler (xmlNodePtr node, gpointer act_pdata)
static gboolean
account_commodity_handler (xmlNodePtr node, gpointer act_pdata)
{
- struct account_pdata *pdata = act_pdata;
+ struct account_pdata *pdata = static_cast<decltype(pdata)>(act_pdata);
gnc_commodity *ref;
// ref = dom_tree_to_commodity_ref_no_engine(node, pdata->book);
@@ -242,7 +244,7 @@ account_commodity_handler (xmlNodePtr node, gpointer act_pdata)
static gboolean
account_commodity_scu_handler (xmlNodePtr node, gpointer act_pdata)
{
- struct account_pdata *pdata = act_pdata;
+ struct account_pdata *pdata = static_cast<decltype(pdata)>(act_pdata);
gint64 val;
dom_tree_to_integer(node, &val);
@@ -254,7 +256,7 @@ account_commodity_scu_handler (xmlNodePtr node, gpointer act_pdata)
static gboolean
account_hidden_handler (xmlNodePtr node, gpointer act_pdata)
{
- struct account_pdata *pdata = act_pdata;
+ struct account_pdata *pdata = static_cast<decltype(pdata)>(act_pdata);
gboolean val;
dom_tree_to_boolean(node, &val);
@@ -266,7 +268,7 @@ account_hidden_handler (xmlNodePtr node, gpointer act_pdata)
static gboolean
account_placeholder_handler (xmlNodePtr node, gpointer act_pdata)
{
- struct account_pdata *pdata = act_pdata;
+ struct account_pdata *pdata = static_cast<decltype(pdata)>(act_pdata);
gboolean val;
dom_tree_to_boolean(node, &val);
@@ -278,7 +280,7 @@ account_placeholder_handler (xmlNodePtr node, gpointer act_pdata)
static gboolean
account_non_standard_scu_handler (xmlNodePtr node, gpointer act_pdata)
{
- struct account_pdata *pdata = act_pdata;
+ struct account_pdata *pdata = static_cast<decltype(pdata)>(act_pdata);
xaccAccountSetNonStdSCU(pdata->account, TRUE);
@@ -292,7 +294,7 @@ account_non_standard_scu_handler (xmlNodePtr node, gpointer act_pdata)
static gboolean
deprecated_account_currency_handler (xmlNodePtr node, gpointer act_pdata)
{
- struct account_pdata *pdata = act_pdata;
+ struct account_pdata *pdata = static_cast<decltype(pdata)>(act_pdata);
gnc_commodity *ref;
PWARN("Account %s: Obsolete xml tag 'act:currency' will not be preserved.",
@@ -306,7 +308,7 @@ deprecated_account_currency_handler (xmlNodePtr node, gpointer act_pdata)
static gboolean
deprecated_account_currency_scu_handler (xmlNodePtr node, gpointer act_pdata)
{
- struct account_pdata *pdata = act_pdata;
+ struct account_pdata *pdata = static_cast<decltype(pdata)>(act_pdata);
PWARN("Account %s: Obsolete xml tag 'act:currency-scu' will not be preserved.",
xaccAccountGetName( pdata->account ));
return TRUE;
@@ -315,7 +317,7 @@ deprecated_account_currency_scu_handler (xmlNodePtr node, gpointer act_pdata)
static gboolean
deprecated_account_security_handler (xmlNodePtr node, gpointer act_pdata)
{
- struct account_pdata *pdata = act_pdata;
+ struct account_pdata *pdata = static_cast<decltype(pdata)>(act_pdata);
gnc_commodity *ref, *orig = xaccAccountGetCommodity(pdata->account);
PWARN("Account %s: Obsolete xml tag 'act:security' will not be preserved.",
@@ -340,7 +342,7 @@ deprecated_account_security_handler (xmlNodePtr node, gpointer act_pdata)
static gboolean
deprecated_account_security_scu_handler (xmlNodePtr node, gpointer act_pdata)
{
- struct account_pdata *pdata = act_pdata;
+ struct account_pdata *pdata = static_cast<decltype(pdata)>(act_pdata);
gint64 val;
PWARN("Account %s: Obsolete xml tag 'act:security-scu' will not be preserved.",
@@ -359,14 +361,14 @@ deprecated_account_security_scu_handler (xmlNodePtr node, gpointer act_pdata)
static gboolean
account_slots_handler (xmlNodePtr node, gpointer act_pdata)
{
- struct account_pdata *pdata = act_pdata;
+ struct account_pdata *pdata = static_cast<decltype(pdata)>(act_pdata);
return dom_tree_create_instance_slots (node, QOF_INSTANCE (pdata->account));
}
static gboolean
account_parent_handler (xmlNodePtr node, gpointer act_pdata)
{
- struct account_pdata *pdata = act_pdata;
+ struct account_pdata *pdata = static_cast<decltype(pdata)>(act_pdata);
Account *parent;
GncGUID *gid;
@@ -390,7 +392,7 @@ account_parent_handler (xmlNodePtr node, gpointer act_pdata)
static gboolean
account_code_handler(xmlNodePtr node, gpointer act_pdata)
{
- struct account_pdata *pdata = act_pdata;
+ struct account_pdata *pdata = static_cast<decltype(pdata)>(act_pdata);
return set_string(node, pdata->account, xaccAccountSetCode);
}
@@ -398,7 +400,7 @@ account_code_handler(xmlNodePtr node, gpointer act_pdata)
static gboolean
account_description_handler(xmlNodePtr node, gpointer act_pdata)
{
- struct account_pdata *pdata = act_pdata;
+ struct account_pdata *pdata = static_cast<decltype(pdata)>(act_pdata);
return set_string(node, pdata->account, xaccAccountSetDescription);
}
@@ -406,7 +408,7 @@ account_description_handler(xmlNodePtr node, gpointer act_pdata)
static gboolean
account_lots_handler(xmlNodePtr node, gpointer act_pdata)
{
- struct account_pdata *pdata = act_pdata;
+ struct account_pdata *pdata = static_cast<decltype(pdata)>(act_pdata);
xmlNodePtr mark;
g_return_val_if_fail(node, FALSE);
@@ -468,7 +470,7 @@ gnc_account_end_handler(gpointer data_for_children,
Account *acc, *parent, *root;
xmlNodePtr tree = (xmlNodePtr)data_for_children;
gxpf_data *gdata = (gxpf_data*)global_data;
- QofBook *book = gdata->bookdata;
+ QofBook *book = static_cast<decltype(book)>(gdata->bookdata);
int type;
diff --git a/src/backend/xml/gnc-address-xml-v2.c b/src/backend/xml/gnc-address-xml-v2.cpp
similarity index 90%
rename from src/backend/xml/gnc-address-xml-v2.c
rename to src/backend/xml/gnc-address-xml-v2.cpp
index 40eb112..9295da3 100644
--- a/src/backend/xml/gnc-address-xml-v2.c
+++ b/src/backend/xml/gnc-address-xml-v2.cpp
@@ -21,13 +21,14 @@
* Boston, MA 02110-1301, USA gnu at gnu.org *
* *
\********************************************************************/
-
+extern "C"
+{
#include "config.h"
#include <glib.h>
#include <stdlib.h>
#include <string.h>
-
+}
#include "gnc-xml-helper.h"
#include "sixtp.h"
@@ -114,7 +115,7 @@ set_string(xmlNodePtr node, GncAddress* addr,
static gboolean
address_name_handler (xmlNodePtr node, gpointer addr_pdata)
{
- struct address_pdata *pdata = addr_pdata;
+ struct address_pdata *pdata = static_cast<decltype(pdata)>(addr_pdata);
return set_string(node, pdata->address, gncAddressSetName);
}
@@ -122,7 +123,7 @@ address_name_handler (xmlNodePtr node, gpointer addr_pdata)
static gboolean
address_addr1_handler (xmlNodePtr node, gpointer addr_pdata)
{
- struct address_pdata *pdata = addr_pdata;
+ struct address_pdata *pdata = static_cast<decltype(pdata)>(addr_pdata);
return set_string(node, pdata->address, gncAddressSetAddr1);
}
@@ -130,7 +131,7 @@ address_addr1_handler (xmlNodePtr node, gpointer addr_pdata)
static gboolean
address_addr2_handler (xmlNodePtr node, gpointer addr_pdata)
{
- struct address_pdata *pdata = addr_pdata;
+ struct address_pdata *pdata = static_cast<decltype(pdata)>(addr_pdata);
return set_string(node, pdata->address, gncAddressSetAddr2);
}
@@ -138,7 +139,7 @@ address_addr2_handler (xmlNodePtr node, gpointer addr_pdata)
static gboolean
address_addr3_handler (xmlNodePtr node, gpointer addr_pdata)
{
- struct address_pdata *pdata = addr_pdata;
+ struct address_pdata *pdata = static_cast<decltype(pdata)>(addr_pdata);
return set_string(node, pdata->address, gncAddressSetAddr3);
}
@@ -146,7 +147,7 @@ address_addr3_handler (xmlNodePtr node, gpointer addr_pdata)
static gboolean
address_addr4_handler (xmlNodePtr node, gpointer addr_pdata)
{
- struct address_pdata *pdata = addr_pdata;
+ struct address_pdata *pdata = static_cast<decltype(pdata)>(addr_pdata);
return set_string(node, pdata->address, gncAddressSetAddr4);
}
@@ -154,7 +155,7 @@ address_addr4_handler (xmlNodePtr node, gpointer addr_pdata)
static gboolean
address_phone_handler (xmlNodePtr node, gpointer addr_pdata)
{
- struct address_pdata *pdata = addr_pdata;
+ struct address_pdata *pdata = static_cast<decltype(pdata)>(addr_pdata);
return set_string(node, pdata->address, gncAddressSetPhone);
}
@@ -162,7 +163,7 @@ address_phone_handler (xmlNodePtr node, gpointer addr_pdata)
static gboolean
address_fax_handler (xmlNodePtr node, gpointer addr_pdata)
{
- struct address_pdata *pdata = addr_pdata;
+ struct address_pdata *pdata = static_cast<decltype(pdata)>(addr_pdata);
return set_string(node, pdata->address, gncAddressSetFax);
}
@@ -170,7 +171,7 @@ address_fax_handler (xmlNodePtr node, gpointer addr_pdata)
static gboolean
address_email_handler (xmlNodePtr node, gpointer addr_pdata)
{
- struct address_pdata *pdata = addr_pdata;
+ struct address_pdata *pdata = static_cast<decltype(pdata)>(addr_pdata);
return set_string(node, pdata->address, gncAddressSetEmail);
}
@@ -178,7 +179,7 @@ address_email_handler (xmlNodePtr node, gpointer addr_pdata)
static gboolean
address_slots_handler (xmlNodePtr node, gpointer addr_pdata)
{
- struct address_pdata *pdata = addr_pdata;
+ struct address_pdata *pdata = static_cast<decltype(pdata)>(addr_pdata);
return dom_tree_create_instance_slots (node, QOF_INSTANCE (pdata->address));
}
diff --git a/src/backend/xml/gnc-address-xml-v2.h b/src/backend/xml/gnc-address-xml-v2.h
index ff7d128..6c86484 100644
--- a/src/backend/xml/gnc-address-xml-v2.h
+++ b/src/backend/xml/gnc-address-xml-v2.h
@@ -22,9 +22,10 @@
#ifndef GNC_ADDRESS_XML_V2_H
#define GNC_ADDRESS_XML_V2_H
-
+extern "C"
+{
#include "gncAddress.h"
-
+}
gboolean gnc_dom_tree_to_address (xmlNodePtr node, GncAddress *address);
xmlNodePtr gnc_address_to_dom_tree (const char *tag, GncAddress *addr);
void gnc_address_xml_initialize (void);
diff --git a/src/backend/xml/gnc-backend-xml.c b/src/backend/xml/gnc-backend-xml.cpp
similarity index 99%
rename from src/backend/xml/gnc-backend-xml.c
rename to src/backend/xml/gnc-backend-xml.cpp
index 2eff9a7..b9b032d 100644
--- a/src/backend/xml/gnc-backend-xml.c
+++ b/src/backend/xml/gnc-backend-xml.cpp
@@ -27,7 +27,8 @@
* This file implements the top-level QofBackend API for saving/
* restoring data to/from an ordinary Unix filesystem file.
*/
-
+extern "C"
+{
#include "config.h"
#include <platform.h>
@@ -76,10 +77,16 @@ typedef int ssize_t;
#include "gnc-engine.h"
#include "gnc-uri-utils.h"
-
-#include "io-gncxml.h"
#include "io-gncxml-v2.h"
#include "gnc-backend-xml.h"
+
+#ifndef HAVE_STRPTIME
+# include "strptime.h"
+#endif
+}
+
+#include "gnc-xml-helper.h"
+#include "io-gncxml.h"
#include "gnc-prefs.h"
#include "gnc-address-xml-v2.h"
@@ -94,10 +101,6 @@ typedef int ssize_t;
#include "gnc-tax-table-xml-v2.h"
#include "gnc-vendor-xml-v2.h"
-#ifndef HAVE_STRPTIME
-# include "strptime.h"
-#endif
-
static QofLogModule log_module = GNC_MOD_BACKEND;
static gboolean save_may_clobber_data (QofBackend *bend);
diff --git a/src/backend/xml/gnc-backend-xml.h b/src/backend/xml/gnc-backend-xml.h
index cf26c01..73a1c29 100644
--- a/src/backend/xml/gnc-backend-xml.h
+++ b/src/backend/xml/gnc-backend-xml.h
@@ -30,12 +30,15 @@
#ifndef GNC_BACKEND_XML_H_
#define GNC_BACKEND_XML_H_
-
+#ifdef __cplusplus
+extern "C"
+{
+#endif
#include "qof.h"
#include <gmodule.h>
-
#include "qofbackend-p.h"
+
typedef enum
{
XML_RETAIN_NONE,
@@ -83,5 +86,7 @@ void gnc_module_init_backend_xml(void);
G_MODULE_EXPORT
void qof_backend_module_init(void);
#endif
-
+#ifdef __cplusplus
+}
+#endif
#endif /* GNC_BACKEND_XML_H_ */
diff --git a/src/backend/xml/gnc-bill-term-xml-v2.c b/src/backend/xml/gnc-bill-term-xml-v2.cpp
similarity index 92%
rename from src/backend/xml/gnc-bill-term-xml-v2.c
rename to src/backend/xml/gnc-bill-term-xml-v2.cpp
index 6e04d68..b0f66d6 100644
--- a/src/backend/xml/gnc-bill-term-xml-v2.c
+++ b/src/backend/xml/gnc-bill-term-xml-v2.cpp
@@ -21,13 +21,19 @@
* Boston, MA 02110-1301, USA gnu at gnu.org *
* *
\********************************************************************/
-
+extern "C"
+{
#include "config.h"
#include <glib.h>
#include <stdlib.h>
#include <string.h>
+#include "gncBillTermP.h"
+#include "gncInvoice.h"
+#include "qof.h"
+}
+
#include "gnc-xml-helper.h"
#include "sixtp.h"
@@ -40,11 +46,7 @@
#include "gnc-xml.h"
#include "io-gncxml-gen.h"
#include "io-gncxml-v2.h"
-
-#include "gncBillTermP.h"
-#include "gncInvoice.h"
#include "gnc-bill-term-xml-v2.h"
-#include "qof.h"
#include "xml-helpers.h"
@@ -167,21 +169,21 @@ set_numeric (xmlNodePtr node, GncBillTerm *term,
static gboolean
days_duedays_handler (xmlNodePtr node, gpointer billterm_pdata)
{
- struct billterm_pdata *pdata = billterm_pdata;
+ struct billterm_pdata *pdata = static_cast<decltype(pdata)>(billterm_pdata);
return set_int (node, pdata->term, gncBillTermSetDueDays);
}
static gboolean
days_discdays_handler (xmlNodePtr node, gpointer billterm_pdata)
{
- struct billterm_pdata *pdata = billterm_pdata;
+ struct billterm_pdata *pdata = static_cast<decltype(pdata)>(billterm_pdata);
return set_int (node, pdata->term, gncBillTermSetDiscountDays);
}
static gboolean
days_discount_handler (xmlNodePtr node, gpointer billterm_pdata)
{
- struct billterm_pdata *pdata = billterm_pdata;
+ struct billterm_pdata *pdata = static_cast<decltype(pdata)>(billterm_pdata);
return set_numeric (node, pdata->term, gncBillTermSetDiscount);
}
@@ -211,28 +213,28 @@ dom_tree_to_days_data (xmlNodePtr node, struct billterm_pdata *pdata)
static gboolean
prox_dueday_handler (xmlNodePtr node, gpointer billterm_pdata)
{
- struct billterm_pdata *pdata = billterm_pdata;
+ struct billterm_pdata *pdata = static_cast<decltype(pdata)>(billterm_pdata);
return set_int (node, pdata->term, gncBillTermSetDueDays);
}
static gboolean
prox_discday_handler (xmlNodePtr node, gpointer billterm_pdata)
{
- struct billterm_pdata *pdata = billterm_pdata;
+ struct billterm_pdata *pdata = static_cast<decltype(pdata)>(billterm_pdata);
return set_int (node, pdata->term, gncBillTermSetDiscountDays);
}
static gboolean
prox_discount_handler (xmlNodePtr node, gpointer billterm_pdata)
{
- struct billterm_pdata *pdata = billterm_pdata;
+ struct billterm_pdata *pdata = static_cast<decltype(pdata)>(billterm_pdata);
return set_numeric (node, pdata->term, gncBillTermSetDiscount);
}
static gboolean
prox_cutoff_handler (xmlNodePtr node, gpointer billterm_pdata)
{
- struct billterm_pdata *pdata = billterm_pdata;
+ struct billterm_pdata *pdata = static_cast<decltype(pdata)>(billterm_pdata);
return set_int (node, pdata->term, gncBillTermSetCutoff);
}
@@ -298,7 +300,7 @@ set_string (xmlNodePtr node, GncBillTerm *term,
static gboolean
billterm_guid_handler (xmlNodePtr node, gpointer billterm_pdata)
{
- struct billterm_pdata *pdata = billterm_pdata;
+ struct billterm_pdata *pdata = static_cast<decltype(pdata)>(billterm_pdata);
GncGUID *guid;
GncBillTerm *term;
@@ -324,21 +326,21 @@ billterm_guid_handler (xmlNodePtr node, gpointer billterm_pdata)
static gboolean
billterm_name_handler (xmlNodePtr node, gpointer billterm_pdata)
{
- struct billterm_pdata *pdata = billterm_pdata;
+ struct billterm_pdata *pdata = static_cast<decltype(pdata)>(billterm_pdata);
return set_string (node, pdata->term, gncBillTermSetName);
}
static gboolean
billterm_desc_handler (xmlNodePtr node, gpointer billterm_pdata)
{
- struct billterm_pdata *pdata = billterm_pdata;
+ struct billterm_pdata *pdata = static_cast<decltype(pdata)>(billterm_pdata);
return set_string (node, pdata->term, gncBillTermSetDescription);
}
static gboolean
billterm_refcount_handler (xmlNodePtr node, gpointer billterm_pdata)
{
- struct billterm_pdata *pdata = billterm_pdata;
+ struct billterm_pdata *pdata = static_cast<decltype(pdata)>(billterm_pdata);
gint64 val;
dom_tree_to_integer(node, &val);
@@ -349,7 +351,7 @@ billterm_refcount_handler (xmlNodePtr node, gpointer billterm_pdata)
static gboolean
billterm_invisible_handler (xmlNodePtr node, gpointer billterm_pdata)
{
- struct billterm_pdata *pdata = billterm_pdata;
+ struct billterm_pdata *pdata = static_cast<decltype(pdata)>(billterm_pdata);
gint64 val;
dom_tree_to_integer(node, &val);
@@ -361,21 +363,21 @@ billterm_invisible_handler (xmlNodePtr node, gpointer billterm_pdata)
static gboolean
billterm_parent_handler (xmlNodePtr node, gpointer billterm_pdata)
{
- struct billterm_pdata *pdata = billterm_pdata;
+ struct billterm_pdata *pdata = static_cast<decltype(pdata)>(billterm_pdata);
return set_parent_child (node, pdata, gncBillTermSetParent);
}
static gboolean
billterm_child_handler (xmlNodePtr node, gpointer billterm_pdata)
{
- struct billterm_pdata *pdata = billterm_pdata;
+ struct billterm_pdata *pdata = static_cast<decltype(pdata)>(billterm_pdata);
return set_parent_child (node, pdata, gncBillTermSetChild);
}
static gboolean
billterm_days_data_handler (xmlNodePtr node, gpointer billterm_pdata)
{
- struct billterm_pdata *pdata = billterm_pdata;
+ struct billterm_pdata *pdata = static_cast<decltype(pdata)>(billterm_pdata);
g_return_val_if_fail (node, FALSE);
g_return_val_if_fail (gncBillTermGetType (pdata->term) == 0, FALSE);
@@ -387,7 +389,7 @@ billterm_days_data_handler (xmlNodePtr node, gpointer billterm_pdata)
static gboolean
billterm_prox_data_handler (xmlNodePtr node, gpointer billterm_pdata)
{
- struct billterm_pdata *pdata = billterm_pdata;
+ struct billterm_pdata *pdata = static_cast<decltype(pdata)>(billterm_pdata);
g_return_val_if_fail (node, FALSE);
g_return_val_if_fail (gncBillTermGetType (pdata->term) == 0, FALSE);
@@ -399,7 +401,7 @@ billterm_prox_data_handler (xmlNodePtr node, gpointer billterm_pdata)
static gboolean
billterm_slots_handler (xmlNodePtr node, gpointer billterm_pdata)
{
- struct billterm_pdata *pdata = billterm_pdata;
+ struct billterm_pdata *pdata = static_cast<decltype(pdata)>(billterm_pdata);
return dom_tree_create_instance_slots (node, QOF_INSTANCE(pdata->term));
}
@@ -454,7 +456,7 @@ gnc_billterm_end_handler(gpointer data_for_children,
GncBillTerm *term;
xmlNodePtr tree = (xmlNodePtr)data_for_children;
gxpf_data *gdata = (gxpf_data*)global_data;
- QofBook *book = gdata->bookdata;
+ QofBook *book = static_cast<decltype(book)>(gdata->bookdata);
if (parent_data)
@@ -491,7 +493,7 @@ billterm_sixtp_parser_create(void)
static void
do_count (QofInstance *term_p, gpointer count_p)
{
- int *count = count_p;
+ int *count = static_cast<decltype(count)>(count_p);
(*count)++;
}
@@ -508,7 +510,7 @@ xml_add_billterm (QofInstance *term_p, gpointer out_p)
{
xmlNodePtr node;
GncBillTerm *term = (GncBillTerm *) term_p;
- FILE *out = out_p;
+ FILE *out = static_cast<decltype(out)>(out_p);
if (ferror(out))
return;
@@ -573,7 +575,7 @@ static void
billterm_scrub_cb (QofInstance *term_p, gpointer list_p)
{
GncBillTerm *term = GNC_BILLTERM(term_p);
- GList **list = list_p;
+ GList **list = static_cast<decltype(list)>(list_p);
if (billterm_is_grandchild(term))
{
@@ -613,7 +615,7 @@ billterm_scrub_cb (QofInstance *term_p, gpointer list_p)
static void
billterm_scrub_invoices (QofInstance * invoice_p, gpointer ht_p)
{
- GHashTable *ht = ht_p;
+ GHashTable *ht = static_cast<decltype(ht)>(ht_p);
GncInvoice *invoice = GNC_INVOICE(invoice_p);
GncBillTerm *term, *new_bt;
gint32 count;
@@ -644,7 +646,7 @@ billterm_scrub_invoices (QofInstance * invoice_p, gpointer ht_p)
static void
billterm_scrub_cust (QofInstance * cust_p, gpointer ht_p)
{
- GHashTable *ht = ht_p;
+ GHashTable *ht = static_cast<decltype(ht)>(ht_p);
GncCustomer *cust = GNC_CUSTOMER(cust_p);
GncBillTerm *term;
gint32 count;
@@ -669,7 +671,7 @@ billterm_scrub_cust (QofInstance * cust_p, gpointer ht_p)
static void
billterm_scrub_vendor (QofInstance * vendor_p, gpointer ht_p)
{
- GHashTable *ht = ht_p;
+ GHashTable *ht = static_cast<decltype(ht)>(ht_p);
GncVendor *vendor = GNC_VENDOR(vendor_p);
GncBillTerm *term;
gint32 count;
@@ -694,7 +696,7 @@ billterm_scrub_vendor (QofInstance * vendor_p, gpointer ht_p)
static void
billterm_reset_refcount (gpointer key, gpointer value, gpointer notused)
{
- GncBillTerm *term = key;
+ GncBillTerm *term = static_cast<decltype(term)>(key);
gint32 count = GPOINTER_TO_INT(value);
if (count != gncBillTermGetRefcount(term) && !gncBillTermGetInvisible(term))
@@ -725,7 +727,7 @@ billterm_scrub (QofBook *book)
for (node = list; node; node = node->next)
{
gchar termstr[GUID_ENCODING_LENGTH+1];
- term = node->data;
+ term = static_cast<decltype(term)>(node->data);
guid_to_string_buff(qof_instance_get_guid(QOF_INSTANCE(term)), termstr);
PWARN ("deleting grandchild billterm: %s\n", termstr);
diff --git a/src/backend/xml/gnc-bill-term-xml-v2.h b/src/backend/xml/gnc-bill-term-xml-v2.h
index 45233b9..41f771b 100644
--- a/src/backend/xml/gnc-bill-term-xml-v2.h
+++ b/src/backend/xml/gnc-bill-term-xml-v2.h
@@ -23,8 +23,11 @@
#ifndef GNC_BILLTERM_XML_V2_H
#define GNC_BILLTERM_XML_V2_H
-
+extern "C"
+{
#include "gncBillTerm.h"
+}
+
void gnc_billterm_xml_initialize (void);
GncBillTerm *gnc_billterm_xml_find_or_create(QofBook *book, GncGUID *guid);
diff --git a/src/backend/xml/gnc-book-xml-v2.c b/src/backend/xml/gnc-book-xml-v2.cpp
similarity index 96%
rename from src/backend/xml/gnc-book-xml-v2.c
rename to src/backend/xml/gnc-book-xml-v2.cpp
index 851aefa..e3d2718 100644
--- a/src/backend/xml/gnc-book-xml-v2.c
+++ b/src/backend/xml/gnc-book-xml-v2.cpp
@@ -22,12 +22,15 @@
* Boston, MA 02110-1301, USA gnu at gnu.org *
* *
\********************************************************************/
-
+extern "C"
+{
#include "config.h"
#include <glib.h>
#include <stdlib.h>
#include <string.h>
+#include "qof.h"
+}
#include "gnc-xml-helper.h"
@@ -44,7 +47,6 @@
#include "io-utils.h"
#include "sixtp-dom-parsers.h"
-#include "qof.h"
/* non-static because it's used in io-gncxml-v2.c */
const gchar *gnc_v2_book_version_string = "2.0.0";
@@ -158,7 +160,7 @@ write_book_parts(FILE *out, QofBook *book)
if (ferror(out) || fprintf(out, "\n") < 0)
return FALSE;
-
+
slotsnode = qof_instance_slots_to_dom_tree(book_slots_string,
QOF_INSTANCE(book));
if (slotsnode)
@@ -179,7 +181,7 @@ write_book_parts(FILE *out, QofBook *book)
static gboolean
book_id_handler(xmlNodePtr node, gpointer book_pdata)
{
- QofBook *book = book_pdata;
+ QofBook *book = static_cast<decltype(book)>(book_pdata);
GncGUID *guid;
guid = dom_tree_to_guid(node);
@@ -192,7 +194,7 @@ book_id_handler(xmlNodePtr node, gpointer book_pdata)
static gboolean
book_slots_handler (xmlNodePtr node, gpointer book_pdata)
{
- QofBook *book = book_pdata;
+ QofBook *book = static_cast<decltype(book)>(book_pdata);
gboolean success;
/* the below works only because the get is gaurenteed to return
@@ -220,7 +222,7 @@ gnc_book_end_handler(gpointer data_for_children,
{
xmlNodePtr tree = (xmlNodePtr)data_for_children;
gxpf_data *gdata = (gxpf_data*)global_data;
- QofBook *book = gdata->bookdata;
+ QofBook *book = static_cast<decltype(book)>(gdata->bookdata);
if (parent_data) return TRUE;
@@ -249,7 +251,7 @@ gnc_book_id_end_handler(gpointer data_for_children,
gboolean successful;
xmlNodePtr tree = (xmlNodePtr)data_for_children;
gxpf_data *gdata = (gxpf_data*)global_data;
- QofBook *book = gdata->bookdata;
+ QofBook *book = static_cast<decltype(book)>(gdata->bookdata);
if (parent_data) return TRUE;
if (!tag) return TRUE;
@@ -271,7 +273,7 @@ gnc_book_slots_end_handler(gpointer data_for_children,
gboolean successful;
xmlNodePtr tree = (xmlNodePtr)data_for_children;
gxpf_data *gdata = (gxpf_data*)global_data;
- QofBook *book = gdata->bookdata;
+ QofBook *book = static_cast<decltype(book)>(gdata->bookdata);
if (parent_data) return TRUE;
if (!tag) return TRUE;
diff --git a/src/backend/xml/gnc-budget-xml-v2.c b/src/backend/xml/gnc-budget-xml-v2.cpp
similarity index 98%
rename from src/backend/xml/gnc-budget-xml-v2.c
rename to src/backend/xml/gnc-budget-xml-v2.cpp
index 07aadae..2730a12 100644
--- a/src/backend/xml/gnc-budget-xml-v2.c
+++ b/src/backend/xml/gnc-budget-xml-v2.cpp
@@ -21,12 +21,14 @@
* Boston, MA 02110-1301, USA gnu at gnu.org
*/
-
+extern "C"
+{
#include "config.h"
#include <glib.h>
#include <stdlib.h>
#include <string.h>
+}
#include "gnc-xml-helper.h"
#include "sixtp.h"
@@ -176,7 +178,7 @@ gnc_budget_end_handler(gpointer data_for_children,
GncBudget *bgt;
xmlNodePtr tree = (xmlNodePtr)data_for_children;
gxpf_data *gdata = (gxpf_data*)global_data;
- QofBook *book = gdata->bookdata;
+ QofBook *book = static_cast<decltype(book)>(gdata->bookdata);
if (parent_data)
{
diff --git a/src/backend/xml/gnc-commodity-xml-v2.c b/src/backend/xml/gnc-commodity-xml-v2.cpp
similarity index 98%
rename from src/backend/xml/gnc-commodity-xml-v2.c
rename to src/backend/xml/gnc-commodity-xml-v2.cpp
index 1d7206c..16b1217 100644
--- a/src/backend/xml/gnc-commodity-xml-v2.c
+++ b/src/backend/xml/gnc-commodity-xml-v2.cpp
@@ -21,14 +21,17 @@
* Boston, MA 02110-1301, USA gnu at gnu.org *
* *
\********************************************************************/
-
+extern "C"
+{
#include "config.h"
#include <glib.h>
#include <string.h>
+#include "AccountP.h"
+#include "Account.h"
+}
#include "gnc-xml-helper.h"
-
#include "sixtp.h"
#include "sixtp-utils.h"
#include "sixtp-parsers.h"
@@ -39,10 +42,6 @@
#include "gnc-xml.h"
#include "io-gncxml-gen.h"
-#include "sixtp-dom-parsers.h"
-#include "AccountP.h"
-#include "Account.h"
-
static QofLogModule log_module = GNC_MOD_IO;
const gchar *commodity_version_string = "2.0.0";
@@ -123,7 +122,7 @@ gnc_commodity_dom_tree_create(const gnc_commodity *com)
struct com_char_handler
{
- gchar *tag;
+ const char *tag;
void(*func)(gnc_commodity *com, const char*val);
};
@@ -254,7 +253,7 @@ gnc_commodity_end_handler(gpointer data_for_children,
xmlNodePtr achild;
xmlNodePtr tree = (xmlNodePtr)data_for_children;
gxpf_data *gdata = (gxpf_data*)global_data;
- QofBook *book = gdata->bookdata;
+ QofBook *book = static_cast<decltype(book)>(gdata->bookdata);
if (parent_data)
{
diff --git a/src/backend/xml/gnc-customer-xml-v2.c b/src/backend/xml/gnc-customer-xml-v2.cpp
similarity index 91%
rename from src/backend/xml/gnc-customer-xml-v2.c
rename to src/backend/xml/gnc-customer-xml-v2.cpp
index faf8e90..c86e380 100644
--- a/src/backend/xml/gnc-customer-xml-v2.c
+++ b/src/backend/xml/gnc-customer-xml-v2.cpp
@@ -21,15 +21,23 @@
* Boston, MA 02110-1301, USA gnu at gnu.org *
* *
\********************************************************************/
-
+extern "C"
+{
#include "config.h"
#include <glib.h>
#include <stdlib.h>
#include <string.h>
-#include "gnc-xml-helper.h"
+#include "gncBillTermP.h"
+#include "gncCustomerP.h"
+#include "gncTaxTableP.h"
+}
+#include "gnc-xml-helper.h"
+#include "gnc-customer-xml-v2.h"
+#include "gnc-address-xml-v2.h"
+#include "gnc-bill-term-xml-v2.h"
#include "sixtp.h"
#include "sixtp-utils.h"
#include "sixtp-parsers.h"
@@ -41,13 +49,6 @@
#include "io-gncxml-gen.h"
#include "io-gncxml-v2.h"
-#include "gncBillTermP.h"
-#include "gncCustomerP.h"
-#include "gncTaxTableP.h"
-#include "gnc-customer-xml-v2.h"
-#include "gnc-address-xml-v2.h"
-#include "gnc-bill-term-xml-v2.h"
-
#include "xml-helpers.h"
#define _GNC_MOD_NAME GNC_ID_CUSTOMER
@@ -178,7 +179,7 @@ set_boolean(xmlNodePtr node, GncCustomer* cust,
static gboolean
customer_name_handler (xmlNodePtr node, gpointer cust_pdata)
{
- struct customer_pdata *pdata = cust_pdata;
+ struct customer_pdata *pdata = static_cast<decltype(pdata)>(cust_pdata);
return set_string(node, pdata->customer, gncCustomerSetName);
}
@@ -186,7 +187,7 @@ customer_name_handler (xmlNodePtr node, gpointer cust_pdata)
static gboolean
customer_guid_handler (xmlNodePtr node, gpointer cust_pdata)
{
- struct customer_pdata *pdata = cust_pdata;
+ struct customer_pdata *pdata = static_cast<decltype(pdata)>(cust_pdata);
GncGUID *guid;
GncCustomer *cust;
@@ -212,7 +213,7 @@ customer_guid_handler (xmlNodePtr node, gpointer cust_pdata)
static gboolean
customer_id_handler (xmlNodePtr node, gpointer cust_pdata)
{
- struct customer_pdata *pdata = cust_pdata;
+ struct customer_pdata *pdata = static_cast<decltype(pdata)>(cust_pdata);
return set_string(node, pdata->customer, gncCustomerSetID);
}
@@ -220,7 +221,7 @@ customer_id_handler (xmlNodePtr node, gpointer cust_pdata)
static gboolean
customer_notes_handler (xmlNodePtr node, gpointer cust_pdata)
{
- struct customer_pdata *pdata = cust_pdata;
+ struct customer_pdata *pdata = static_cast<decltype(pdata)>(cust_pdata);
return set_string(node, pdata->customer, gncCustomerSetNotes);
}
@@ -228,7 +229,7 @@ customer_notes_handler (xmlNodePtr node, gpointer cust_pdata)
static gboolean
customer_terms_handler (xmlNodePtr node, gpointer cust_pdata)
{
- struct customer_pdata *pdata = cust_pdata;
+ struct customer_pdata *pdata = static_cast<decltype(pdata)>(cust_pdata);
GncGUID *guid;
GncBillTerm *term;
@@ -245,7 +246,7 @@ customer_terms_handler (xmlNodePtr node, gpointer cust_pdata)
static gboolean
customer_addr_handler (xmlNodePtr node, gpointer cust_pdata)
{
- struct customer_pdata *pdata = cust_pdata;
+ struct customer_pdata *pdata = static_cast<decltype(pdata)>(cust_pdata);
return gnc_dom_tree_to_address (node, gncCustomerGetAddr(pdata->customer));
}
@@ -253,7 +254,7 @@ customer_addr_handler (xmlNodePtr node, gpointer cust_pdata)
static gboolean
customer_shipaddr_handler (xmlNodePtr node, gpointer cust_pdata)
{
- struct customer_pdata *pdata = cust_pdata;
+ struct customer_pdata *pdata = static_cast<decltype(pdata)>(cust_pdata);
return gnc_dom_tree_to_address (node,
gncCustomerGetShipAddr(pdata->customer));
@@ -263,7 +264,7 @@ customer_shipaddr_handler (xmlNodePtr node, gpointer cust_pdata)
static gboolean
customer_taxincluded_handler (xmlNodePtr node, gpointer cust_pdata)
{
- struct customer_pdata *pdata = cust_pdata;
+ struct customer_pdata *pdata = static_cast<decltype(pdata)>(cust_pdata);
GncTaxIncluded type;
char *str;
gboolean ret;
@@ -283,14 +284,14 @@ customer_taxincluded_handler (xmlNodePtr node, gpointer cust_pdata)
static gboolean
customer_active_handler (xmlNodePtr node, gpointer cust_pdata)
{
- struct customer_pdata *pdata = cust_pdata;
+ struct customer_pdata *pdata = static_cast<decltype(pdata)>(cust_pdata);
return set_boolean (node, pdata->customer, gncCustomerSetActive);
}
static gboolean
customer_discount_handler (xmlNodePtr node, gpointer cust_pdata)
{
- struct customer_pdata *pdata = cust_pdata;
+ struct customer_pdata *pdata = static_cast<decltype(pdata)>(cust_pdata);
gnc_numeric *val;
val = dom_tree_to_gnc_numeric(node);
@@ -305,7 +306,7 @@ customer_discount_handler (xmlNodePtr node, gpointer cust_pdata)
static gboolean
customer_credit_handler (xmlNodePtr node, gpointer cust_pdata)
{
- struct customer_pdata *pdata = cust_pdata;
+ struct customer_pdata *pdata = static_cast<decltype(pdata)>(cust_pdata);
gnc_numeric *val;
val = dom_tree_to_gnc_numeric(node);
@@ -320,7 +321,7 @@ customer_credit_handler (xmlNodePtr node, gpointer cust_pdata)
static gboolean
customer_currency_handler (xmlNodePtr node, gpointer customer_pdata)
{
- struct customer_pdata *pdata = customer_pdata;
+ struct customer_pdata *pdata = static_cast<decltype(pdata)>(customer_pdata);
gnc_commodity *com;
com = dom_tree_to_commodity_ref(node, pdata->book);
@@ -334,7 +335,7 @@ customer_currency_handler (xmlNodePtr node, gpointer customer_pdata)
static gboolean
customer_taxtable_handler (xmlNodePtr node, gpointer cust_pdata)
{
- struct customer_pdata *pdata = cust_pdata;
+ struct customer_pdata *pdata = static_cast<decltype(pdata)>(cust_pdata);
GncGUID *guid;
GncTaxTable *taxtable;
@@ -359,14 +360,14 @@ customer_taxtable_handler (xmlNodePtr node, gpointer cust_pdata)
static gboolean
customer_taxtableoverride_handler (xmlNodePtr node, gpointer cust_pdata)
{
- struct customer_pdata *pdata = cust_pdata;
+ struct customer_pdata *pdata = static_cast<decltype(pdata)>(cust_pdata);
return set_boolean (node, pdata->customer, gncCustomerSetTaxTableOverride);
}
static gboolean
customer_slots_handler (xmlNodePtr node, gpointer cust_pdata)
{
- struct customer_pdata *pdata = cust_pdata;
+ struct customer_pdata *pdata = static_cast<decltype(pdata)>(cust_pdata);
return dom_tree_create_instance_slots(node, QOF_INSTANCE(pdata->customer));
}
@@ -425,7 +426,7 @@ gnc_customer_end_handler(gpointer data_for_children,
GncCustomer *cust;
xmlNodePtr tree = (xmlNodePtr)data_for_children;
gxpf_data *gdata = (gxpf_data*)global_data;
- QofBook *book = gdata->bookdata;
+ QofBook *book = static_cast<decltype(book)>(gdata->bookdata);
if (parent_data)
@@ -475,7 +476,7 @@ customer_should_be_saved (GncCustomer *customer)
static void
do_count (QofInstance * cust_p, gpointer count_p)
{
- int *count = count_p;
+ int *count = static_cast<decltype(count)>(count_p);
if (customer_should_be_saved ((GncCustomer *)cust_p))
(*count)++;
}
@@ -493,7 +494,7 @@ xml_add_customer (QofInstance * cust_p, gpointer out_p)
{
xmlNodePtr node;
GncCustomer *cust = (GncCustomer *) cust_p;
- FILE *out = out_p;
+ FILE *out = static_cast<decltype(out)>(out_p);
if (ferror(out))
return;
diff --git a/src/backend/xml/gnc-employee-xml-v2.c b/src/backend/xml/gnc-employee-xml-v2.cpp
similarity index 91%
rename from src/backend/xml/gnc-employee-xml-v2.c
rename to src/backend/xml/gnc-employee-xml-v2.cpp
index d7cb7ec..8cd8f38 100644
--- a/src/backend/xml/gnc-employee-xml-v2.c
+++ b/src/backend/xml/gnc-employee-xml-v2.cpp
@@ -21,15 +21,17 @@
* Boston, MA 02110-1301, USA gnu at gnu.org *
* *
\********************************************************************/
-
+extern "C"
+{
#include "config.h"
#include <glib.h>
#include <stdlib.h>
#include <string.h>
+#include "gncEmployeeP.h"
+}
#include "gnc-xml-helper.h"
-
#include "sixtp.h"
#include "sixtp-utils.h"
#include "sixtp-parsers.h"
@@ -41,7 +43,6 @@
#include "io-gncxml-gen.h"
#include "io-gncxml-v2.h"
-#include "gncEmployeeP.h"
#include "gnc-employee-xml-v2.h"
#include "gnc-address-xml-v2.h"
@@ -149,7 +150,7 @@ set_string(xmlNodePtr node, GncEmployee* employee,
static gboolean
employee_username_handler (xmlNodePtr node, gpointer employee_pdata)
{
- struct employee_pdata *pdata = employee_pdata;
+ struct employee_pdata *pdata = static_cast<decltype(pdata)>(employee_pdata);
return set_string(node, pdata->employee, gncEmployeeSetUsername);
}
@@ -157,7 +158,7 @@ employee_username_handler (xmlNodePtr node, gpointer employee_pdata)
static gboolean
employee_guid_handler (xmlNodePtr node, gpointer employee_pdata)
{
- struct employee_pdata *pdata = employee_pdata;
+ struct employee_pdata *pdata = static_cast<decltype(pdata)>(employee_pdata);
GncGUID *guid;
GncEmployee *employee;
@@ -185,7 +186,7 @@ employee_guid_handler (xmlNodePtr node, gpointer employee_pdata)
static gboolean
employee_id_handler (xmlNodePtr node, gpointer employee_pdata)
{
- struct employee_pdata *pdata = employee_pdata;
+ struct employee_pdata *pdata = static_cast<decltype(pdata)>(employee_pdata);
return set_string(node, pdata->employee, gncEmployeeSetID);
}
@@ -193,7 +194,7 @@ employee_id_handler (xmlNodePtr node, gpointer employee_pdata)
static gboolean
employee_language_handler (xmlNodePtr node, gpointer employee_pdata)
{
- struct employee_pdata *pdata = employee_pdata;
+ struct employee_pdata *pdata = static_cast<decltype(pdata)>(employee_pdata);
return set_string(node, pdata->employee, gncEmployeeSetLanguage);
}
@@ -201,7 +202,7 @@ employee_language_handler (xmlNodePtr node, gpointer employee_pdata)
static gboolean
employee_acl_handler (xmlNodePtr node, gpointer employee_pdata)
{
- struct employee_pdata *pdata = employee_pdata;
+ struct employee_pdata *pdata = static_cast<decltype(pdata)>(employee_pdata);
return set_string(node, pdata->employee, gncEmployeeSetAcl);
}
@@ -209,7 +210,7 @@ employee_acl_handler (xmlNodePtr node, gpointer employee_pdata)
static gboolean
employee_addr_handler (xmlNodePtr node, gpointer employee_pdata)
{
- struct employee_pdata *pdata = employee_pdata;
+ struct employee_pdata *pdata = static_cast<decltype(pdata)>(employee_pdata);
return gnc_dom_tree_to_address (node, gncEmployeeGetAddr(pdata->employee));
}
@@ -217,7 +218,7 @@ employee_addr_handler (xmlNodePtr node, gpointer employee_pdata)
static gboolean
employee_active_handler (xmlNodePtr node, gpointer employee_pdata)
{
- struct employee_pdata *pdata = employee_pdata;
+ struct employee_pdata *pdata = static_cast<decltype(pdata)>(employee_pdata);
gint64 val;
gboolean ret;
@@ -231,7 +232,7 @@ employee_active_handler (xmlNodePtr node, gpointer employee_pdata)
static gboolean
employee_workday_handler (xmlNodePtr node, gpointer employee_pdata)
{
- struct employee_pdata *pdata = employee_pdata;
+ struct employee_pdata *pdata = static_cast<decltype(pdata)>(employee_pdata);
gnc_numeric *val;
val = dom_tree_to_gnc_numeric(node);
@@ -245,7 +246,7 @@ employee_workday_handler (xmlNodePtr node, gpointer employee_pdata)
static gboolean
employee_rate_handler (xmlNodePtr node, gpointer employee_pdata)
{
- struct employee_pdata *pdata = employee_pdata;
+ struct employee_pdata *pdata = static_cast<decltype(pdata)>(employee_pdata);
gnc_numeric *val;
val = dom_tree_to_gnc_numeric(node);
@@ -259,7 +260,7 @@ employee_rate_handler (xmlNodePtr node, gpointer employee_pdata)
static gboolean
employee_currency_handler (xmlNodePtr node, gpointer employee_pdata)
{
- struct employee_pdata *pdata = employee_pdata;
+ struct employee_pdata *pdata = static_cast<decltype(pdata)>(employee_pdata);
gnc_commodity *com;
com = dom_tree_to_commodity_ref(node, pdata->book);
@@ -273,7 +274,7 @@ employee_currency_handler (xmlNodePtr node, gpointer employee_pdata)
static gboolean
employee_ccard_handler (xmlNodePtr node, gpointer employee_pdata)
{
- struct employee_pdata *pdata = employee_pdata;
+ struct employee_pdata *pdata = static_cast<decltype(pdata)>(employee_pdata);
GncGUID *guid;
Account *ccard_acc;
@@ -292,7 +293,7 @@ employee_ccard_handler (xmlNodePtr node, gpointer employee_pdata)
static gboolean
employee_slots_handler (xmlNodePtr node, gpointer employee_pdata)
{
- struct employee_pdata *pdata = employee_pdata;
+ struct employee_pdata *pdata = static_cast<decltype(pdata)>(employee_pdata);
return dom_tree_create_instance_slots (node, QOF_INSTANCE(pdata->employee));
}
@@ -347,7 +348,7 @@ gnc_employee_end_handler(gpointer data_for_children,
GncEmployee *employee;
xmlNodePtr tree = (xmlNodePtr)data_for_children;
gxpf_data *gdata = (gxpf_data*)global_data;
- QofBook *book = gdata->bookdata;
+ QofBook *book = static_cast<decltype(book)>(gdata->bookdata);
if (parent_data)
@@ -397,7 +398,7 @@ employee_should_be_saved (GncEmployee *employee)
static void
do_count (QofInstance * employee_p, gpointer count_p)
{
- int *count = count_p;
+ int *count = static_cast<decltype(count)>(count_p);
if (employee_should_be_saved ((GncEmployee *) employee_p))
(*count)++;
}
@@ -415,7 +416,7 @@ xml_add_employee (QofInstance * employee_p, gpointer out_p)
{
xmlNodePtr node;
GncEmployee *employee = (GncEmployee *) employee_p;
- FILE *out = out_p;
+ FILE *out = static_cast<decltype(out)>(out_p);
if (ferror(out))
return;
diff --git a/src/backend/xml/gnc-entry-xml-v2.c b/src/backend/xml/gnc-entry-xml-v2.cpp
similarity index 90%
rename from src/backend/xml/gnc-entry-xml-v2.c
rename to src/backend/xml/gnc-entry-xml-v2.cpp
index a892fb2..2d7b018 100644
--- a/src/backend/xml/gnc-entry-xml-v2.c
+++ b/src/backend/xml/gnc-entry-xml-v2.cpp
@@ -21,15 +21,21 @@
* Boston, MA 02110-1301, USA gnu at gnu.org *
* *
\********************************************************************/
-
+extern "C"
+{
#include "config.h"
#include <glib.h>
#include <stdlib.h>
#include <string.h>
-#include "gnc-xml-helper.h"
+#include "gncEntryP.h"
+#include "gncOrderP.h"
+#include "gncInvoiceP.h"
+#include "gncTaxTableP.h"
+}
+#include "gnc-xml-helper.h"
#include "sixtp.h"
#include "sixtp-utils.h"
#include "sixtp-parsers.h"
@@ -40,11 +46,6 @@
#include "gnc-xml.h"
#include "io-gncxml-gen.h"
#include "io-gncxml-v2.h"
-
-#include "gncEntryP.h"
-#include "gncOrderP.h"
-#include "gncInvoiceP.h"
-#include "gncTaxTableP.h"
#include "gnc-entry-xml-v2.h"
#include "gnc-owner-xml-v2.h"
@@ -321,7 +322,7 @@ set_taxtable (xmlNodePtr node, struct entry_pdata *pdata,
static gboolean
entry_guid_handler (xmlNodePtr node, gpointer entry_pdata)
{
- struct entry_pdata *pdata = entry_pdata;
+ struct entry_pdata *pdata = static_cast<decltype(pdata)>(entry_pdata);
GncGUID *guid;
GncEntry *entry;
@@ -347,7 +348,7 @@ entry_guid_handler (xmlNodePtr node, gpointer entry_pdata)
static gboolean
entry_date_handler (xmlNodePtr node, gpointer entry_pdata)
{
- struct entry_pdata *pdata = entry_pdata;
+ struct entry_pdata *pdata = static_cast<decltype(pdata)>(entry_pdata);
return set_timespec(node, pdata->entry, gncEntrySetDate);
}
@@ -355,7 +356,7 @@ entry_date_handler (xmlNodePtr node, gpointer entry_pdata)
static gboolean
entry_dateentered_handler (xmlNodePtr node, gpointer entry_pdata)
{
- struct entry_pdata *pdata = entry_pdata;
+ struct entry_pdata *pdata = static_cast<decltype(pdata)>(entry_pdata);
return set_timespec(node, pdata->entry, gncEntrySetDateEntered);
}
@@ -363,7 +364,7 @@ entry_dateentered_handler (xmlNodePtr node, gpointer entry_pdata)
static gboolean
entry_description_handler (xmlNodePtr node, gpointer entry_pdata)
{
- struct entry_pdata *pdata = entry_pdata;
+ struct entry_pdata *pdata = static_cast<decltype(pdata)>(entry_pdata);
return set_string(node, pdata->entry, gncEntrySetDescription);
}
@@ -371,7 +372,7 @@ entry_description_handler (xmlNodePtr node, gpointer entry_pdata)
static gboolean
entry_action_handler (xmlNodePtr node, gpointer entry_pdata)
{
- struct entry_pdata *pdata = entry_pdata;
+ struct entry_pdata *pdata = static_cast<decltype(pdata)>(entry_pdata);
return set_string(node, pdata->entry, gncEntrySetAction);
}
@@ -379,7 +380,7 @@ entry_action_handler (xmlNodePtr node, gpointer entry_pdata)
static gboolean
entry_notes_handler (xmlNodePtr node, gpointer entry_pdata)
{
- struct entry_pdata *pdata = entry_pdata;
+ struct entry_pdata *pdata = static_cast<decltype(pdata)>(entry_pdata);
return set_string(node, pdata->entry, gncEntrySetNotes);
}
@@ -387,7 +388,7 @@ entry_notes_handler (xmlNodePtr node, gpointer entry_pdata)
static gboolean
entry_qty_handler (xmlNodePtr node, gpointer entry_pdata)
{
- struct entry_pdata *pdata = entry_pdata;
+ struct entry_pdata *pdata = static_cast<decltype(pdata)>(entry_pdata);
return set_numeric(node, pdata->entry, gncEntrySetQuantity);
}
@@ -397,14 +398,14 @@ entry_qty_handler (xmlNodePtr node, gpointer entry_pdata)
static gboolean
entry_invacct_handler (xmlNodePtr node, gpointer entry_pdata)
{
- struct entry_pdata *pdata = entry_pdata;
+ struct entry_pdata *pdata = static_cast<decltype(pdata)>(entry_pdata);
return set_account (node, pdata, gncEntrySetInvAccount);
}
static gboolean
entry_iprice_handler (xmlNodePtr node, gpointer entry_pdata)
{
- struct entry_pdata *pdata = entry_pdata;
+ struct entry_pdata *pdata = static_cast<decltype(pdata)>(entry_pdata);
return set_numeric(node, pdata->entry, gncEntrySetInvPrice);
}
@@ -412,7 +413,7 @@ entry_iprice_handler (xmlNodePtr node, gpointer entry_pdata)
static gboolean
entry_idiscount_handler (xmlNodePtr node, gpointer entry_pdata)
{
- struct entry_pdata *pdata = entry_pdata;
+ struct entry_pdata *pdata = static_cast<decltype(pdata)>(entry_pdata);
return set_numeric(node, pdata->entry, gncEntrySetInvDiscount);
}
@@ -420,7 +421,7 @@ entry_idiscount_handler (xmlNodePtr node, gpointer entry_pdata)
static gboolean
entry_idisctype_handler (xmlNodePtr node, gpointer entry_pdata)
{
- struct entry_pdata *pdata = entry_pdata;
+ struct entry_pdata *pdata = static_cast<decltype(pdata)>(entry_pdata);
GncAmountType type;
char *str;
gboolean ret;
@@ -440,7 +441,7 @@ entry_idisctype_handler (xmlNodePtr node, gpointer entry_pdata)
static gboolean
entry_idischow_handler (xmlNodePtr node, gpointer entry_pdata)
{
- struct entry_pdata *pdata = entry_pdata;
+ struct entry_pdata *pdata = static_cast<decltype(pdata)>(entry_pdata);
GncDiscountHow how;
char *str;
gboolean ret;
@@ -460,21 +461,21 @@ entry_idischow_handler (xmlNodePtr node, gpointer entry_pdata)
static gboolean
entry_itaxable_handler (xmlNodePtr node, gpointer entry_pdata)
{
- struct entry_pdata *pdata = entry_pdata;
+ struct entry_pdata *pdata = static_cast<decltype(pdata)>(entry_pdata);
return set_boolean (node, pdata->entry, gncEntrySetInvTaxable);
}
static gboolean
entry_itaxincluded_handler (xmlNodePtr node, gpointer entry_pdata)
{
- struct entry_pdata *pdata = entry_pdata;
+ struct entry_pdata *pdata = static_cast<decltype(pdata)>(entry_pdata);
return set_boolean (node, pdata->entry, gncEntrySetInvTaxIncluded);
}
static gboolean
entry_itaxtable_handler (xmlNodePtr node, gpointer entry_pdata)
{
- struct entry_pdata *pdata = entry_pdata;
+ struct entry_pdata *pdata = static_cast<decltype(pdata)>(entry_pdata);
return set_taxtable (node, pdata, gncEntrySetInvTaxTable);
}
@@ -483,14 +484,14 @@ entry_itaxtable_handler (xmlNodePtr node, gpointer entry_pdata)
static gboolean
entry_billacct_handler (xmlNodePtr node, gpointer entry_pdata)
{
- struct entry_pdata *pdata = entry_pdata;
+ struct entry_pdata *pdata = static_cast<decltype(pdata)>(entry_pdata);
return set_account (node, pdata, gncEntrySetBillAccount);
}
static gboolean
entry_bprice_handler (xmlNodePtr node, gpointer entry_pdata)
{
- struct entry_pdata *pdata = entry_pdata;
+ struct entry_pdata *pdata = static_cast<decltype(pdata)>(entry_pdata);
return set_numeric(node, pdata->entry, gncEntrySetBillPrice);
}
@@ -498,35 +499,35 @@ entry_bprice_handler (xmlNodePtr node, gpointer entry_pdata)
static gboolean
entry_btaxable_handler (xmlNodePtr node, gpointer entry_pdata)
{
- struct entry_pdata *pdata = entry_pdata;
+ struct entry_pdata *pdata = static_cast<decltype(pdata)>(entry_pdata);
return set_boolean (node, pdata->entry, gncEntrySetBillTaxable);
}
static gboolean
entry_btaxincluded_handler (xmlNodePtr node, gpointer entry_pdata)
{
- struct entry_pdata *pdata = entry_pdata;
+ struct entry_pdata *pdata = static_cast<decltype(pdata)>(entry_pdata);
return set_boolean (node, pdata->entry, gncEntrySetBillTaxIncluded);
}
static gboolean
entry_btaxtable_handler (xmlNodePtr node, gpointer entry_pdata)
{
- struct entry_pdata *pdata = entry_pdata;
+ struct entry_pdata *pdata = static_cast<decltype(pdata)>(entry_pdata);
return set_taxtable (node, pdata, gncEntrySetBillTaxTable);
}
static gboolean
entry_billable_handler (xmlNodePtr node, gpointer entry_pdata)
{
- struct entry_pdata *pdata = entry_pdata;
+ struct entry_pdata *pdata = static_cast<decltype(pdata)>(entry_pdata);
return set_boolean (node, pdata->entry, gncEntrySetBillable);
}
static gboolean
entry_billto_handler (xmlNodePtr node, gpointer entry_pdata)
{
- struct entry_pdata *pdata = entry_pdata;
+ struct entry_pdata *pdata = static_cast<decltype(pdata)>(entry_pdata);
GncOwner billto;
gboolean ret;
@@ -541,7 +542,7 @@ entry_billto_handler (xmlNodePtr node, gpointer entry_pdata)
static gboolean
entry_billpayment_handler (xmlNodePtr node, gpointer entry_pdata)
{
- struct entry_pdata *pdata = entry_pdata;
+ struct entry_pdata *pdata = static_cast<decltype(pdata)>(entry_pdata);
GncEntryPaymentType type;
char *str;
gboolean ret;
@@ -563,7 +564,7 @@ entry_billpayment_handler (xmlNodePtr node, gpointer entry_pdata)
static gboolean
entry_order_handler (xmlNodePtr node, gpointer entry_pdata)
{
- struct entry_pdata *pdata = entry_pdata;
+ struct entry_pdata *pdata = static_cast<decltype(pdata)>(entry_pdata);
GncGUID *guid;
GncOrder *order;
@@ -588,7 +589,7 @@ entry_order_handler (xmlNodePtr node, gpointer entry_pdata)
static gboolean
entry_invoice_handler (xmlNodePtr node, gpointer entry_pdata)
{
- struct entry_pdata *pdata = entry_pdata;
+ struct entry_pdata *pdata = static_cast<decltype(pdata)>(entry_pdata);
GncGUID *guid;
GncInvoice *invoice;
@@ -613,7 +614,7 @@ entry_invoice_handler (xmlNodePtr node, gpointer entry_pdata)
static gboolean
entry_bill_handler (xmlNodePtr node, gpointer entry_pdata)
{
- struct entry_pdata *pdata = entry_pdata;
+ struct entry_pdata *pdata = static_cast<decltype(pdata)>(entry_pdata);
GncGUID *guid;
GncInvoice *invoice;
@@ -640,7 +641,7 @@ entry_bill_handler (xmlNodePtr node, gpointer entry_pdata)
static gboolean
entry_acct_handler (xmlNodePtr node, gpointer entry_pdata)
{
- struct entry_pdata *pdata = entry_pdata;
+ struct entry_pdata *pdata = static_cast<decltype(pdata)>(entry_pdata);
/* XXX: try to figure out if this is an 'invoice' or a 'bill' --
* we have to wait until the end!
*/
@@ -651,7 +652,7 @@ entry_acct_handler (xmlNodePtr node, gpointer entry_pdata)
static gboolean
entry_price_handler (xmlNodePtr node, gpointer entry_pdata)
{
- struct entry_pdata *pdata = entry_pdata;
+ struct entry_pdata *pdata = static_cast<decltype(pdata)>(entry_pdata);
gboolean res;
/* just set both.. Don't worry about extra data if it's wrong */
@@ -664,7 +665,7 @@ entry_price_handler (xmlNodePtr node, gpointer entry_pdata)
static gboolean
entry_slots_handler (xmlNodePtr node, gpointer entry_pdata)
{
- struct entry_pdata *pdata = entry_pdata;
+ struct entry_pdata *pdata = static_cast<decltype(pdata)>(entry_pdata);
return dom_tree_create_instance_slots(node, QOF_INSTANCE (pdata->entry));
}
@@ -761,7 +762,7 @@ gnc_entry_end_handler(gpointer data_for_children,
GncEntry *entry;
xmlNodePtr tree = (xmlNodePtr)data_for_children;
gxpf_data *gdata = (gxpf_data*)global_data;
- QofBook *book = gdata->bookdata;
+ QofBook *book = static_cast<decltype(book)>(gdata->bookdata);
if (parent_data)
@@ -798,7 +799,7 @@ entry_sixtp_parser_create(void)
static void
do_count (QofInstance * entry_p, gpointer count_p)
{
- int *count = count_p;
+ int *count = static_cast<decltype(count)>(count_p);
(*count)++;
}
@@ -815,7 +816,7 @@ xml_add_entry (QofInstance * entry_p, gpointer out_p)
{
xmlNodePtr node;
GncEntry *entry = (GncEntry *) entry_p;
- FILE *out = out_p;
+ FILE *out = static_cast<decltype(out)>(out_p);
if (ferror(out))
return;
diff --git a/src/backend/xml/gnc-freqspec-xml-v2.c b/src/backend/xml/gnc-freqspec-xml-v2.cpp
similarity index 90%
rename from src/backend/xml/gnc-freqspec-xml-v2.c
rename to src/backend/xml/gnc-freqspec-xml-v2.cpp
index 815c83c..967f60e 100644
--- a/src/backend/xml/gnc-freqspec-xml-v2.c
+++ b/src/backend/xml/gnc-freqspec-xml-v2.cpp
@@ -22,15 +22,18 @@
* *
*******************************************************************/
-
+extern "C"
+{
#include "config.h"
#include <glib.h>
#include <string.h>
-
-#include "gnc-xml-helper.h"
#include "qof.h"
+#include "SchedXaction.h"
+#include "FreqSpec.h"
+}
+#include "gnc-xml-helper.h"
#include "sixtp.h"
#include "sixtp-utils.h"
#include "sixtp-parsers.h"
@@ -43,14 +46,12 @@
#include "io-gncxml-v2.h"
#include "sixtp-dom-parsers.h"
-#include "SchedXaction.h"
-#include "FreqSpec.h"
const gchar *freqspec_version_string = "1.0.0";
struct freqTypeTuple
{
- char *str;
+ const char *str;
FreqType ft;
};
@@ -63,12 +64,12 @@ struct freqTypeTuple freqTypeStrs[] =
{ "monthly", MONTHLY },
{ "month_relative", MONTH_RELATIVE },
{ "composite", COMPOSITE },
- { NULL, -1 },
+ { NULL, static_cast<FreqType>(-1) },
};
struct uiFreqTypeTuple
{
- char *str;
+ const char *str;
UIFreqType uift;
};
@@ -86,7 +87,7 @@ struct uiFreqTypeTuple uiFreqTypeStrs[] =
{ "tri_anually", UIFREQ_TRI_ANUALLY },
{ "semi_yearly", UIFREQ_SEMI_YEARLY },
{ "yearly", UIFREQ_YEARLY },
- { NULL, -1 }
+ { NULL, static_cast<UIFreqType>(-1) }
};
/**
@@ -135,17 +136,16 @@ static
gboolean
fs_uift_handler( xmlNodePtr node, gpointer data)
{
- fsParseData *fspd = data;
+ fsParseData *fspd = static_cast<decltype(fspd)>(data);
int i;
char *nodeTxt;
- char *tmp;
nodeTxt = dom_tree_to_text( node );
g_return_val_if_fail( nodeTxt, FALSE );
- for ( i = 0; (tmp = uiFreqTypeStrs[i].str) != NULL; i++ )
+ for ( i = 0; uiFreqTypeStrs[i].str != NULL; i++ )
{
- if ( g_strcmp0( nodeTxt, tmp ) == 0 )
+ if ( g_strcmp0( nodeTxt, uiFreqTypeStrs[i].str ) == 0 )
{
fspd->uift = uiFreqTypeStrs[i].uift;
g_free( nodeTxt );
@@ -160,7 +160,7 @@ static
gboolean
fs_date_handler( xmlNodePtr node, gpointer data )
{
- fsParseData *fspd = data;
+ fsParseData *fspd = static_cast<decltype(fspd)>(data);
GDate *foo;
foo = dom_tree_to_gdate( node );
if ( foo == NULL )
@@ -174,7 +174,7 @@ static
gboolean
fs_interval_handler( xmlNodePtr node, gpointer data )
{
- fsParseData *fspd = data;
+ fsParseData *fspd = static_cast<decltype(fspd)>(data);
gboolean ret;
gint64 foo;
@@ -191,7 +191,7 @@ static
gboolean
fs_offset_handler( xmlNodePtr node, gpointer data )
{
- fsParseData *fspd = data;
+ fsParseData *fspd = static_cast<decltype(fspd)>(data);
gboolean ret;
gint64 foo;
@@ -206,7 +206,7 @@ static
gboolean
fs_day_handler( xmlNodePtr node, gpointer data )
{
- fsParseData *fspd = data;
+ fsParseData *fspd = static_cast<decltype(fspd)>(data);
gboolean ret;
gint64 foo;
@@ -221,7 +221,7 @@ static
gboolean
fs_weekday_handler( xmlNodePtr node, gpointer data)
{
- fsParseData *fspd = data;
+ fsParseData *fspd = static_cast<decltype(fspd)>(data);
gboolean ret;
gint64 foo;
ret = dom_tree_to_integer( node, &foo );
@@ -235,7 +235,7 @@ static
gboolean
fs_occurrence_handler( xmlNodePtr node, gpointer data )
{
- fsParseData *fspd = data;
+ fsParseData *fspd = static_cast<decltype(fspd)>(data);
gboolean ret;
gint64 foo;
ret = dom_tree_to_integer( node, &foo );
@@ -249,7 +249,7 @@ static
gboolean
fs_weekend_adj_handler( xmlNodePtr node, gpointer data )
{
- fsParseData *fspd = data;
+ fsParseData *fspd = static_cast<decltype(fspd)>(data);
gboolean ret;
gint64 foo;
ret = dom_tree_to_integer( node, &foo );
@@ -263,7 +263,7 @@ static
gboolean
fs_subelement_handler( xmlNodePtr node, gpointer data )
{
- fsParseData *fspd = data;
+ fsParseData *fspd = static_cast<decltype(fspd)>(data);
GList *recurrences;
recurrences = dom_tree_freqSpec_to_recurrences(node, fspd->book);
@@ -304,7 +304,7 @@ struct dom_tree_handler fs_union_dom_handlers[] =
static gboolean
fs_none_handler( xmlNodePtr node, gpointer data )
{
- fsParseData *fspd = data;
+ fsParseData *fspd = static_cast<decltype(fspd)>(data);
gboolean successful;
successful = dom_tree_generic_parse( node,
fs_union_dom_handlers,
@@ -316,7 +316,7 @@ static
gboolean
fs_once_handler( xmlNodePtr node, gpointer data )
{
- fsParseData *fspd = data;
+ fsParseData *fspd = static_cast<decltype(fspd)>(data);
gboolean successful;
successful = dom_tree_generic_parse( node,
@@ -332,7 +332,7 @@ fs_once_handler( xmlNodePtr node, gpointer data )
static gboolean
fs_daily_handler(xmlNodePtr node, gpointer data)
{
- fsParseData *fspd = data;
+ fsParseData *fspd = static_cast<decltype(fspd)>(data);
GDate offset_date;
gboolean successful;
successful = dom_tree_generic_parse(node, fs_union_dom_handlers, fspd );
@@ -350,7 +350,7 @@ static
gboolean
fs_weekly_handler( xmlNodePtr node, gpointer data )
{
- fsParseData *fspd = data;
+ fsParseData *fspd = static_cast<decltype(fspd)>(data);
GDate offset_date;
gboolean successful;
successful = dom_tree_generic_parse( node,
@@ -370,7 +370,7 @@ static
gboolean
fs_monthly_handler( xmlNodePtr node, gpointer data)
{
- fsParseData *fspd = data;
+ fsParseData *fspd = static_cast<decltype(fspd)>(data);
GDate offset_date;
gboolean successful;
successful = dom_tree_generic_parse( node,
@@ -391,7 +391,9 @@ fs_monthly_handler( xmlNodePtr node, gpointer data)
}
else
{
- recurrenceSet(fspd->recurrence, fspd->interval, PERIOD_MONTH, &offset_date, fspd->weekend_adj);
+ recurrenceSet(fspd->recurrence, fspd->interval,
+ PERIOD_MONTH, &offset_date,
+ static_cast<WeekendAdjust>(fspd->weekend_adj));
}
return successful;
@@ -416,7 +418,7 @@ static
gboolean
fs_composite_handler( xmlNodePtr node, gpointer data)
{
- fsParseData *fspd = data;
+ fsParseData *fspd = static_cast<decltype(fspd)>(data);
gboolean successful;
successful = dom_tree_generic_parse( node,
fs_union_dom_handlers,
diff --git a/src/backend/xml/gnc-invoice-xml-v2.c b/src/backend/xml/gnc-invoice-xml-v2.cpp
similarity index 91%
rename from src/backend/xml/gnc-invoice-xml-v2.c
rename to src/backend/xml/gnc-invoice-xml-v2.cpp
index 319b2e8..447f483 100644
--- a/src/backend/xml/gnc-invoice-xml-v2.c
+++ b/src/backend/xml/gnc-invoice-xml-v2.cpp
@@ -21,32 +21,33 @@
* Boston, MA 02110-1301, USA gnu at gnu.org *
* *
\********************************************************************/
-
+extern "C"
+{
#include "config.h"
#include <glib.h>
#include <stdlib.h>
#include <string.h>
-#include "gnc-xml-helper.h"
+#include "gncBillTermP.h"
+#include "gncInvoiceP.h"
+}
+#include "gnc-xml-helper.h"
#include "sixtp.h"
#include "sixtp-utils.h"
#include "sixtp-parsers.h"
#include "sixtp-utils.h"
#include "sixtp-dom-parsers.h"
#include "sixtp-dom-generators.h"
+#include "gnc-invoice-xml-v2.h"
+#include "gnc-owner-xml-v2.h"
+#include "gnc-bill-term-xml-v2.h"
#include "gnc-xml.h"
#include "io-gncxml-gen.h"
#include "io-gncxml-v2.h"
-#include "gncBillTermP.h"
-#include "gncInvoiceP.h"
-#include "gnc-invoice-xml-v2.h"
-#include "gnc-owner-xml-v2.h"
-#include "gnc-bill-term-xml-v2.h"
-
#define _GNC_MOD_NAME GNC_ID_INVOICE
static QofLogModule log_module = GNC_MOD_IO;
@@ -197,7 +198,7 @@ set_timespec(xmlNodePtr node, GncInvoice* invoice,
static gboolean
invoice_guid_handler (xmlNodePtr node, gpointer invoice_pdata)
{
- struct invoice_pdata *pdata = invoice_pdata;
+ struct invoice_pdata *pdata = static_cast<decltype(pdata)>(invoice_pdata);
GncGUID *guid;
GncInvoice *invoice;
@@ -223,7 +224,7 @@ invoice_guid_handler (xmlNodePtr node, gpointer invoice_pdata)
static gboolean
invoice_id_handler (xmlNodePtr node, gpointer invoice_pdata)
{
- struct invoice_pdata *pdata = invoice_pdata;
+ struct invoice_pdata *pdata = static_cast<decltype(pdata)>(invoice_pdata);
return set_string(node, pdata->invoice, gncInvoiceSetID);
}
@@ -231,7 +232,7 @@ invoice_id_handler (xmlNodePtr node, gpointer invoice_pdata)
static gboolean
invoice_owner_handler (xmlNodePtr node, gpointer invoice_pdata)
{
- struct invoice_pdata *pdata = invoice_pdata;
+ struct invoice_pdata *pdata = static_cast<decltype(pdata)>(invoice_pdata);
GncOwner owner;
gboolean ret;
@@ -245,7 +246,7 @@ invoice_owner_handler (xmlNodePtr node, gpointer invoice_pdata)
static gboolean
invoice_opened_handler (xmlNodePtr node, gpointer invoice_pdata)
{
- struct invoice_pdata *pdata = invoice_pdata;
+ struct invoice_pdata *pdata = static_cast<decltype(pdata)>(invoice_pdata);
return set_timespec (node, pdata->invoice, gncInvoiceSetDateOpened);
}
@@ -253,7 +254,7 @@ invoice_opened_handler (xmlNodePtr node, gpointer invoice_pdata)
static gboolean
invoice_posted_handler (xmlNodePtr node, gpointer invoice_pdata)
{
- struct invoice_pdata *pdata = invoice_pdata;
+ struct invoice_pdata *pdata = static_cast<decltype(pdata)>(invoice_pdata);
return set_timespec (node, pdata->invoice, gncInvoiceSetDatePosted);
}
@@ -261,7 +262,7 @@ invoice_posted_handler (xmlNodePtr node, gpointer invoice_pdata)
static gboolean
invoice_billing_id_handler (xmlNodePtr node, gpointer invoice_pdata)
{
- struct invoice_pdata *pdata = invoice_pdata;
+ struct invoice_pdata *pdata = static_cast<decltype(pdata)>(invoice_pdata);
return set_string(node, pdata->invoice, gncInvoiceSetBillingID);
}
@@ -269,7 +270,7 @@ invoice_billing_id_handler (xmlNodePtr node, gpointer invoice_pdata)
static gboolean
invoice_notes_handler (xmlNodePtr node, gpointer invoice_pdata)
{
- struct invoice_pdata *pdata = invoice_pdata;
+ struct invoice_pdata *pdata = static_cast<decltype(pdata)>(invoice_pdata);
return set_string(node, pdata->invoice, gncInvoiceSetNotes);
}
@@ -277,7 +278,7 @@ invoice_notes_handler (xmlNodePtr node, gpointer invoice_pdata)
static gboolean
invoice_active_handler (xmlNodePtr node, gpointer invoice_pdata)
{
- struct invoice_pdata *pdata = invoice_pdata;
+ struct invoice_pdata *pdata = static_cast<decltype(pdata)>(invoice_pdata);
gint64 val;
gboolean ret;
@@ -291,7 +292,7 @@ invoice_active_handler (xmlNodePtr node, gpointer invoice_pdata)
static gboolean
invoice_terms_handler (xmlNodePtr node, gpointer invoice_pdata)
{
- struct invoice_pdata *pdata = invoice_pdata;
+ struct invoice_pdata *pdata = static_cast<decltype(pdata)>(invoice_pdata);
GncGUID *guid;
GncBillTerm *term;
@@ -308,7 +309,7 @@ invoice_terms_handler (xmlNodePtr node, gpointer invoice_pdata)
static gboolean
invoice_posttxn_handler (xmlNodePtr node, gpointer invoice_pdata)
{
- struct invoice_pdata *pdata = invoice_pdata;
+ struct invoice_pdata *pdata = static_cast<decltype(pdata)>(invoice_pdata);
GncGUID *guid;
Transaction *txn;
@@ -325,7 +326,7 @@ invoice_posttxn_handler (xmlNodePtr node, gpointer invoice_pdata)
static gboolean
invoice_postlot_handler (xmlNodePtr node, gpointer invoice_pdata)
{
- struct invoice_pdata *pdata = invoice_pdata;
+ struct invoice_pdata *pdata = static_cast<decltype(pdata)>(invoice_pdata);
GncGUID *guid;
GNCLot *lot;
@@ -342,7 +343,7 @@ invoice_postlot_handler (xmlNodePtr node, gpointer invoice_pdata)
static gboolean
invoice_postacc_handler (xmlNodePtr node, gpointer invoice_pdata)
{
- struct invoice_pdata *pdata = invoice_pdata;
+ struct invoice_pdata *pdata = static_cast<decltype(pdata)>(invoice_pdata);
GncGUID *guid;
Account *acc;
@@ -359,7 +360,7 @@ invoice_postacc_handler (xmlNodePtr node, gpointer invoice_pdata)
static gboolean
invoice_currency_handler (xmlNodePtr node, gpointer invoice_pdata)
{
- struct invoice_pdata *pdata = invoice_pdata;
+ struct invoice_pdata *pdata = static_cast<decltype(pdata)>(invoice_pdata);
gnc_commodity *com;
com = dom_tree_to_commodity_ref(node, pdata->book);
@@ -373,7 +374,7 @@ invoice_currency_handler (xmlNodePtr node, gpointer invoice_pdata)
static gboolean
invoice_billto_handler (xmlNodePtr node, gpointer invoice_pdata)
{
- struct invoice_pdata *pdata = invoice_pdata;
+ struct invoice_pdata *pdata = static_cast<decltype(pdata)>(invoice_pdata);
GncOwner owner;
gboolean ret;
@@ -387,7 +388,7 @@ invoice_billto_handler (xmlNodePtr node, gpointer invoice_pdata)
static gboolean
invoice_tochargeamt_handler (xmlNodePtr node, gpointer invoice_pdata)
{
- struct invoice_pdata *pdata = invoice_pdata;
+ struct invoice_pdata *pdata = static_cast<decltype(pdata)>(invoice_pdata);
gnc_numeric* num = dom_tree_to_gnc_numeric(node);
g_return_val_if_fail(num, FALSE);
@@ -399,7 +400,7 @@ invoice_tochargeamt_handler (xmlNodePtr node, gpointer invoice_pdata)
static gboolean
invoice_slots_handler (xmlNodePtr node, gpointer invoice_pdata)
{
- struct invoice_pdata *pdata = invoice_pdata;
+ struct invoice_pdata *pdata = static_cast<decltype(pdata)>(invoice_pdata);
return dom_tree_create_instance_slots (node, QOF_INSTANCE (pdata->invoice));
}
@@ -459,7 +460,7 @@ gnc_invoice_end_handler(gpointer data_for_children,
GncInvoice *invoice;
xmlNodePtr tree = (xmlNodePtr)data_for_children;
gxpf_data *gdata = (gxpf_data*)global_data;
- QofBook *book = gdata->bookdata;
+ QofBook *book = static_cast<decltype(book)>(gdata->bookdata);
if (parent_data)
{
@@ -508,7 +509,7 @@ invoice_should_be_saved (GncInvoice *invoice)
static void
do_count (QofInstance * invoice_p, gpointer count_p)
{
- int *count = count_p;
+ int *count = static_cast<decltype(count)>(count_p);
if (invoice_should_be_saved ((GncInvoice *)invoice_p))
(*count)++;
}
@@ -526,7 +527,7 @@ xml_add_invoice (QofInstance * invoice_p, gpointer out_p)
{
xmlNodePtr node;
GncInvoice *invoice = (GncInvoice *) invoice_p;
- FILE *out = out_p;
+ FILE *out = static_cast<decltype(out)>(out_p);
if (ferror(out))
return;
diff --git a/src/backend/xml/gnc-job-xml-v2.c b/src/backend/xml/gnc-job-xml-v2.cpp
similarity index 92%
rename from src/backend/xml/gnc-job-xml-v2.c
rename to src/backend/xml/gnc-job-xml-v2.cpp
index 72b86a9..ebac13b 100644
--- a/src/backend/xml/gnc-job-xml-v2.c
+++ b/src/backend/xml/gnc-job-xml-v2.cpp
@@ -21,15 +21,17 @@
* Boston, MA 02110-1301, USA gnu at gnu.org *
* *
\********************************************************************/
-
+extern "C"
+{
#include "config.h"
#include <glib.h>
#include <stdlib.h>
#include <string.h>
+#include "gncJobP.h"
+}
#include "gnc-xml-helper.h"
-
#include "sixtp.h"
#include "sixtp-utils.h"
#include "sixtp-parsers.h"
@@ -41,7 +43,6 @@
#include "io-gncxml-gen.h"
#include "io-gncxml-v2.h"
-#include "gncJobP.h"
#include "gnc-job-xml-v2.h"
#include "gnc-owner-xml-v2.h"
#include "xml-helpers.h"
@@ -119,7 +120,7 @@ set_string(xmlNodePtr node, GncJob* job,
static gboolean
job_name_handler (xmlNodePtr node, gpointer job_pdata)
{
- struct job_pdata *pdata = job_pdata;
+ struct job_pdata *pdata = static_cast<decltype(pdata)>(job_pdata);
return set_string(node, pdata->job, gncJobSetName);
}
@@ -127,7 +128,7 @@ job_name_handler (xmlNodePtr node, gpointer job_pdata)
static gboolean
job_guid_handler (xmlNodePtr node, gpointer job_pdata)
{
- struct job_pdata *pdata = job_pdata;
+ struct job_pdata *pdata = static_cast<decltype(pdata)>(job_pdata);
GncGUID *guid;
GncJob *job;
@@ -153,7 +154,7 @@ job_guid_handler (xmlNodePtr node, gpointer job_pdata)
static gboolean
job_id_handler (xmlNodePtr node, gpointer job_pdata)
{
- struct job_pdata *pdata = job_pdata;
+ struct job_pdata *pdata = static_cast<decltype(pdata)>(job_pdata);
return set_string(node, pdata->job, gncJobSetID);
}
@@ -161,7 +162,7 @@ job_id_handler (xmlNodePtr node, gpointer job_pdata)
static gboolean
job_reference_handler (xmlNodePtr node, gpointer job_pdata)
{
- struct job_pdata *pdata = job_pdata;
+ struct job_pdata *pdata = static_cast<decltype(pdata)>(job_pdata);
return set_string(node, pdata->job, gncJobSetReference);
}
@@ -169,7 +170,7 @@ job_reference_handler (xmlNodePtr node, gpointer job_pdata)
static gboolean
job_owner_handler (xmlNodePtr node, gpointer job_pdata)
{
- struct job_pdata *pdata = job_pdata;
+ struct job_pdata *pdata = static_cast<decltype(pdata)>(job_pdata);
GncOwner owner;
gboolean ret;
@@ -183,7 +184,7 @@ job_owner_handler (xmlNodePtr node, gpointer job_pdata)
static gboolean
job_active_handler (xmlNodePtr node, gpointer job_pdata)
{
- struct job_pdata *pdata = job_pdata;
+ struct job_pdata *pdata = static_cast<decltype(pdata)>(job_pdata);
gint64 val;
gboolean ret;
@@ -197,7 +198,7 @@ job_active_handler (xmlNodePtr node, gpointer job_pdata)
static gboolean
job_slots_handler (xmlNodePtr node, gpointer job_pdata)
{
- struct job_pdata *pdata = job_pdata;
+ struct job_pdata *pdata = static_cast<decltype(pdata)>(job_pdata);
return dom_tree_create_instance_slots (node, QOF_INSTANCE (pdata->job));
}
@@ -248,7 +249,7 @@ gnc_job_end_handler(gpointer data_for_children,
GncJob *job;
xmlNodePtr tree = (xmlNodePtr)data_for_children;
gxpf_data *gdata = (gxpf_data*)global_data;
- QofBook *book = gdata->bookdata;
+ QofBook *book = static_cast<decltype(book)>(gdata->bookdata);
if (parent_data)
{
@@ -297,7 +298,7 @@ job_should_be_saved (GncJob *job)
static void
do_count (QofInstance * job_p, gpointer count_p)
{
- int *count = count_p;
+ int *count = static_cast<decltype(count)>(count_p);
if (job_should_be_saved ((GncJob *)job_p))
(*count)++;
}
@@ -315,7 +316,7 @@ xml_add_job (QofInstance * job_p, gpointer out_p)
{
xmlNodePtr node;
GncJob *job = (GncJob *) job_p;
- FILE *out = out_p;
+ FILE *out = static_cast<decltype(out)>(out_p);
if (ferror(out))
return;
diff --git a/src/backend/xml/gnc-lot-xml-v2.c b/src/backend/xml/gnc-lot-xml-v2.cpp
similarity index 96%
rename from src/backend/xml/gnc-lot-xml-v2.c
rename to src/backend/xml/gnc-lot-xml-v2.cpp
index 40eaf37..a4a45e4 100644
--- a/src/backend/xml/gnc-lot-xml-v2.c
+++ b/src/backend/xml/gnc-lot-xml-v2.cpp
@@ -22,15 +22,18 @@
* Boston, MA 02110-1301, USA gnu at gnu.org *
* *
\********************************************************************/
-
+extern "C"
+{
#include "config.h"
#include <glib.h>
#include <stdlib.h>
#include <string.h>
+#include "gnc-lot.h"
+#include "gnc-lot-p.h"
+}
#include "gnc-xml-helper.h"
-
#include "sixtp.h"
#include "sixtp-utils.h"
#include "sixtp-parsers.h"
@@ -42,8 +45,6 @@
#include "io-gncxml-gen.h"
#include "io-gncxml-v2.h"
#include "sixtp-dom-parsers.h"
-#include "gnc-lot.h"
-#include "gnc-lot-p.h"
static QofLogModule log_module = GNC_MOD_IO;
@@ -83,7 +84,7 @@ struct lot_pdata
static gboolean
lot_id_handler (xmlNodePtr node, gpointer p)
{
- struct lot_pdata *pdata = p;
+ struct lot_pdata *pdata = static_cast<decltype(pdata)>(p);
GncGUID *guid;
ENTER("(lot=%p)", pdata->lot);
@@ -99,7 +100,7 @@ lot_id_handler (xmlNodePtr node, gpointer p)
static gboolean
lot_slots_handler (xmlNodePtr node, gpointer p)
{
- struct lot_pdata *pdata = p;
+ struct lot_pdata *pdata = static_cast<decltype(pdata)>(p);
gboolean success;
ENTER("(lot=%p)", pdata->lot);
@@ -127,7 +128,7 @@ gnc_lot_end_handler(gpointer data_for_children,
GNCLot *lot;
xmlNodePtr tree = (xmlNodePtr)data_for_children;
gxpf_data *gdata = (gxpf_data*)global_data;
- QofBook *book = gdata->bookdata;
+ QofBook *book = static_cast<decltype(book)>(gdata->bookdata);
if (parent_data)
{
diff --git a/src/backend/xml/gnc-order-xml-v2.c b/src/backend/xml/gnc-order-xml-v2.cpp
similarity index 92%
rename from src/backend/xml/gnc-order-xml-v2.c
rename to src/backend/xml/gnc-order-xml-v2.cpp
index 0adb39b..7b26d79 100644
--- a/src/backend/xml/gnc-order-xml-v2.c
+++ b/src/backend/xml/gnc-order-xml-v2.cpp
@@ -21,15 +21,17 @@
* Boston, MA 02110-1301, USA gnu at gnu.org *
* *
\********************************************************************/
-
+extern "C"
+{
#include "config.h"
#include <glib.h>
#include <stdlib.h>
#include <string.h>
+#include "gncOrderP.h"
+}
#include "gnc-xml-helper.h"
-
#include "sixtp.h"
#include "sixtp-utils.h"
#include "sixtp-parsers.h"
@@ -41,8 +43,6 @@
#include "io-gncxml-gen.h"
#include "io-gncxml-v2.h"
-#include "gncOrderP.h"
-
#include "gnc-order-xml-v2.h"
#include "gnc-owner-xml-v2.h"
@@ -144,7 +144,7 @@ set_timespec(xmlNodePtr node, GncOrder* order,
static gboolean
order_guid_handler (xmlNodePtr node, gpointer order_pdata)
{
- struct order_pdata *pdata = order_pdata;
+ struct order_pdata *pdata = static_cast<decltype(pdata)>(order_pdata);
GncGUID *guid;
GncOrder *order;
@@ -170,7 +170,7 @@ order_guid_handler (xmlNodePtr node, gpointer order_pdata)
static gboolean
order_id_handler (xmlNodePtr node, gpointer order_pdata)
{
- struct order_pdata *pdata = order_pdata;
+ struct order_pdata *pdata = static_cast<decltype(pdata)>(order_pdata);
return set_string(node, pdata->order, gncOrderSetID);
}
@@ -178,7 +178,7 @@ order_id_handler (xmlNodePtr node, gpointer order_pdata)
static gboolean
order_owner_handler (xmlNodePtr node, gpointer order_pdata)
{
- struct order_pdata *pdata = order_pdata;
+ struct order_pdata *pdata = static_cast<decltype(pdata)>(order_pdata);
GncOwner owner;
gboolean ret;
@@ -192,7 +192,7 @@ order_owner_handler (xmlNodePtr node, gpointer order_pdata)
static gboolean
order_opened_handler (xmlNodePtr node, gpointer order_pdata)
{
- struct order_pdata *pdata = order_pdata;
+ struct order_pdata *pdata = static_cast<decltype(pdata)>(order_pdata);
return set_timespec (node, pdata->order, gncOrderSetDateOpened);
}
@@ -200,7 +200,7 @@ order_opened_handler (xmlNodePtr node, gpointer order_pdata)
static gboolean
order_closed_handler (xmlNodePtr node, gpointer order_pdata)
{
- struct order_pdata *pdata = order_pdata;
+ struct order_pdata *pdata = static_cast<decltype(pdata)>(order_pdata);
return set_timespec (node, pdata->order, gncOrderSetDateClosed);
}
@@ -208,7 +208,7 @@ order_closed_handler (xmlNodePtr node, gpointer order_pdata)
static gboolean
order_notes_handler (xmlNodePtr node, gpointer order_pdata)
{
- struct order_pdata *pdata = order_pdata;
+ struct order_pdata *pdata = static_cast<decltype(pdata)>(order_pdata);
return set_string(node, pdata->order, gncOrderSetNotes);
}
@@ -216,7 +216,7 @@ order_notes_handler (xmlNodePtr node, gpointer order_pdata)
static gboolean
order_reference_handler (xmlNodePtr node, gpointer order_pdata)
{
- struct order_pdata *pdata = order_pdata;
+ struct order_pdata *pdata = static_cast<decltype(pdata)>(order_pdata);
return set_string(node, pdata->order, gncOrderSetReference);
}
@@ -224,7 +224,7 @@ order_reference_handler (xmlNodePtr node, gpointer order_pdata)
static gboolean
order_active_handler (xmlNodePtr node, gpointer order_pdata)
{
- struct order_pdata *pdata = order_pdata;
+ struct order_pdata *pdata = static_cast<decltype(pdata)>(order_pdata);
gint64 val;
gboolean ret;
@@ -238,7 +238,7 @@ order_active_handler (xmlNodePtr node, gpointer order_pdata)
static gboolean
order_slots_handler (xmlNodePtr node, gpointer order_pdata)
{
- struct order_pdata *pdata = order_pdata;
+ struct order_pdata *pdata = static_cast<decltype(pdata)>(order_pdata);
return dom_tree_create_instance_slots(node, QOF_INSTANCE (pdata->order));
}
@@ -291,7 +291,7 @@ gnc_order_end_handler(gpointer data_for_children,
GncOrder *order;
xmlNodePtr tree = (xmlNodePtr)data_for_children;
gxpf_data *gdata = (gxpf_data*)global_data;
- QofBook *book = gdata->bookdata;
+ QofBook *book = static_cast<decltype(book)>(gdata->bookdata);
if (parent_data)
{
@@ -340,7 +340,7 @@ order_should_be_saved (GncOrder *order)
static void
do_count (QofInstance * order_p, gpointer count_p)
{
- int *count = count_p;
+ int *count = static_cast<decltype(count)>(count_p);
if (order_should_be_saved ((GncOrder *) order_p))
(*count)++;
}
@@ -358,7 +358,7 @@ xml_add_order (QofInstance * order_p, gpointer out_p)
{
xmlNodePtr node;
GncOrder *order = (GncOrder *) order_p;
- FILE *out = out_p;
+ FILE *out = static_cast<decltype(out)>(out_p);
if (ferror(out))
return;
diff --git a/src/backend/xml/gnc-owner-xml-v2.c b/src/backend/xml/gnc-owner-xml-v2.cpp
similarity index 97%
rename from src/backend/xml/gnc-owner-xml-v2.c
rename to src/backend/xml/gnc-owner-xml-v2.cpp
index ef76abf..5cfd0f0 100644
--- a/src/backend/xml/gnc-owner-xml-v2.c
+++ b/src/backend/xml/gnc-owner-xml-v2.cpp
@@ -21,15 +21,20 @@
* Boston, MA 02110-1301, USA gnu at gnu.org *
* *
\********************************************************************/
-
+extern "C"
+{
#include "config.h"
#include <glib.h>
#include <stdlib.h>
#include <string.h>
+#include "gncCustomerP.h"
+#include "gncJobP.h"
+#include "gncVendorP.h"
+#include "gncEmployeeP.h"
+}
#include "gnc-xml-helper.h"
-
#include "sixtp.h"
#include "sixtp-utils.h"
#include "sixtp-parsers.h"
@@ -42,10 +47,6 @@
#include "io-gncxml-v2.h"
#include "gnc-owner-xml-v2.h"
-#include "gncCustomerP.h"
-#include "gncJobP.h"
-#include "gncVendorP.h"
-#include "gncEmployeeP.h"
static QofLogModule log_module = GNC_MOD_IO;
@@ -101,7 +102,7 @@ struct owner_pdata
static gboolean
owner_type_handler (xmlNodePtr node, gpointer owner_pdata)
{
- struct owner_pdata *pdata = owner_pdata;
+ struct owner_pdata *pdata = static_cast<decltype(pdata)>(owner_pdata);
char* txt = dom_tree_to_text(node);
g_return_val_if_fail(txt, FALSE);
@@ -127,7 +128,7 @@ owner_type_handler (xmlNodePtr node, gpointer owner_pdata)
static gboolean
owner_id_handler (xmlNodePtr node, gpointer owner_pdata)
{
- struct owner_pdata *pdata = owner_pdata;
+ struct owner_pdata *pdata = static_cast<decltype(pdata)>(owner_pdata);
GncGUID *guid;
guid = dom_tree_to_guid(node);
diff --git a/src/backend/xml/gnc-owner-xml-v2.h b/src/backend/xml/gnc-owner-xml-v2.h
index b1017dc..c90d7cc 100644
--- a/src/backend/xml/gnc-owner-xml-v2.h
+++ b/src/backend/xml/gnc-owner-xml-v2.h
@@ -22,10 +22,11 @@
#ifndef GNC_OWNER_XML_V2_H
#define GNC_OWNER_XML_V2_H
-
+extern "C"
+{
#include "gncOwner.h"
#include "qof.h"
-
+}
gboolean gnc_dom_tree_to_owner (xmlNodePtr node, GncOwner *owner,
QofBook *book);
xmlNodePtr gnc_owner_to_dom_tree (const char *tag, const GncOwner *addr);
diff --git a/src/backend/xml/gnc-pricedb-xml-v2.c b/src/backend/xml/gnc-pricedb-xml-v2.cpp
similarity index 96%
rename from src/backend/xml/gnc-pricedb-xml-v2.c
rename to src/backend/xml/gnc-pricedb-xml-v2.cpp
index 710fa01..06fb251 100644
--- a/src/backend/xml/gnc-pricedb-xml-v2.c
+++ b/src/backend/xml/gnc-pricedb-xml-v2.cpp
@@ -20,10 +20,14 @@
* Boston, MA 02110-1301, USA gnu at gnu.org *
* *
*******************************************************************/
-
+extern "C"
+{
#include "config.h"
#include <string.h>
+#include "gnc-pricedb.h"
+#include "gnc-pricedb-p.h"
+}
#include "gnc-xml.h"
#include "sixtp.h"
@@ -34,9 +38,6 @@
#include "io-gncxml-gen.h"
#include "io-gncxml-v2.h"
-#include "gnc-pricedb.h"
-#include "gnc-pricedb-p.h"
-
/* This static indicates the debugging module that this .o belongs to. */
static QofLogModule log_module = GNC_MOD_IO;
@@ -154,8 +155,8 @@ price_parse_xml_end_handler(gpointer data_for_children,
xmlNodePtr price_xml = (xmlNodePtr) data_for_children;
xmlNodePtr child;
GNCPrice *p = NULL;
- gxpf_data *gdata = global_data;
- QofBook *book = gdata->bookdata;
+ gxpf_data *gdata = static_cast<decltype(gdata)>(global_data);
+ QofBook *book = static_cast<decltype(book)>(gdata->bookdata);
/* we haven't been handed the *top* level node yet... */
if (parent_data) return TRUE;
@@ -263,8 +264,8 @@ pricedb_start_handler(GSList* sibling_data,
const gchar *tag,
gchar **attrs)
{
- gxpf_data *gdata = global_data;
- QofBook *book = gdata->bookdata;
+ gxpf_data *gdata = static_cast<decltype(gdata)>(global_data);
+ QofBook *book = static_cast<decltype(book)>(gdata->bookdata);
GNCPriceDB *db = gnc_pricedb_get_db(book);
g_return_val_if_fail(db, FALSE);
gnc_pricedb_set_bulk_update(db, TRUE);
@@ -283,8 +284,8 @@ pricedb_after_child_handler(gpointer data_for_children,
const gchar *child_tag,
sixtp_child_result *child_result)
{
- gxpf_data *gdata = global_data;
- sixtp_gdv2 *gd = gdata->parsedata;
+ gxpf_data *gdata = static_cast<decltype(gdata)>(global_data);
+ sixtp_gdv2 *gd = static_cast<decltype(gd)>(gdata->parsedata);
GNCPriceDB *db = (GNCPriceDB *) * result;
g_return_val_if_fail(db, FALSE);
@@ -300,7 +301,7 @@ pricedb_after_child_handler(gpointer data_for_children,
g_return_val_if_fail(p, FALSE);
gnc_pricedb_add_price(db, p);
gd->counter.prices_loaded++;
- run_callback(gd, "prices");
+ sixtp_run_callback(gd, "prices");
return TRUE;
}
else
@@ -328,7 +329,7 @@ pricedb_v2_end_handler(
GSList* sibling_data, gpointer parent_data, gpointer global_data,
gpointer *result, const gchar *tag)
{
- GNCPriceDB *db = *result;
+ GNCPriceDB *db = static_cast<decltype(db)>(*result);
gxpf_data *gdata = (gxpf_data*)global_data;
if (parent_data)
diff --git a/src/backend/xml/gnc-recurrence-xml-v2.c b/src/backend/xml/gnc-recurrence-xml-v2.cpp
similarity index 99%
rename from src/backend/xml/gnc-recurrence-xml-v2.c
rename to src/backend/xml/gnc-recurrence-xml-v2.cpp
index 8304d3c..a935235 100644
--- a/src/backend/xml/gnc-recurrence-xml-v2.c
+++ b/src/backend/xml/gnc-recurrence-xml-v2.cpp
@@ -21,15 +21,18 @@
* Boston, MA 02110-1301, USA gnu at gnu.org
*/
-
+extern "C"
+{
#include "config.h"
#include <glib.h>
#include <string.h>
+#include "qof.h"
+#include "Recurrence.h"
+}
#include "gnc-xml.h"
#include "gnc-xml-helper.h"
-#include "qof.h"
#include "sixtp.h"
#include "sixtp-utils.h"
@@ -38,7 +41,6 @@
#include "sixtp-dom-parsers.h"
#include "sixtp-dom-generators.h"
#include "io-gncxml-v2.h"
-#include "Recurrence.h"
static QofLogModule log_module = GNC_MOD_IO;
diff --git a/src/backend/xml/gnc-schedxaction-xml-v2.c b/src/backend/xml/gnc-schedxaction-xml-v2.cpp
similarity index 93%
rename from src/backend/xml/gnc-schedxaction-xml-v2.c
rename to src/backend/xml/gnc-schedxaction-xml-v2.cpp
index 46aa150..ea0ee92 100644
--- a/src/backend/xml/gnc-schedxaction-xml-v2.c
+++ b/src/backend/xml/gnc-schedxaction-xml-v2.cpp
@@ -20,16 +20,17 @@
* Boston, MA 02110-1301, USA gnu at gnu.org *
* *
*******************************************************************/
-
+extern "C"
+{
#include "config.h"
#include <glib.h>
#include <string.h>
#include "SX-book.h"
+}
#include "gnc-xml-helper.h"
-
#include "sixtp.h"
#include "sixtp-utils.h"
#include "sixtp-parsers.h"
@@ -208,7 +209,7 @@ static
gboolean
sx_id_handler( xmlNodePtr node, gpointer sx_pdata )
{
- struct sx_pdata *pdata = sx_pdata;
+ struct sx_pdata *pdata = static_cast<decltype(pdata)>(sx_pdata);
SchedXaction *sx = pdata->sx;
GncGUID *tmp = dom_tree_to_guid( node );
@@ -223,7 +224,7 @@ static
gboolean
sx_name_handler( xmlNodePtr node, gpointer sx_pdata )
{
- struct sx_pdata *pdata = sx_pdata;
+ struct sx_pdata *pdata = static_cast<decltype(pdata)>(sx_pdata);
SchedXaction *sx = pdata->sx;
gchar *tmp = dom_tree_to_text( node );
g_debug("sx named [%s]", tmp);
@@ -236,7 +237,7 @@ sx_name_handler( xmlNodePtr node, gpointer sx_pdata )
static gboolean
sx_enabled_handler( xmlNodePtr node, gpointer sx_pdata )
{
- struct sx_pdata *pdata = sx_pdata;
+ struct sx_pdata *pdata = static_cast<decltype(pdata)>(sx_pdata);
SchedXaction *sx = pdata->sx;
gchar *tmp = dom_tree_to_text( node );
@@ -248,7 +249,7 @@ sx_enabled_handler( xmlNodePtr node, gpointer sx_pdata )
static gboolean
sx_autoCreate_handler( xmlNodePtr node, gpointer sx_pdata )
{
- struct sx_pdata *pdata = sx_pdata;
+ struct sx_pdata *pdata = static_cast<decltype(pdata)>(sx_pdata);
SchedXaction *sx = pdata->sx;
gchar *tmp = dom_tree_to_text( node );
@@ -260,7 +261,7 @@ sx_autoCreate_handler( xmlNodePtr node, gpointer sx_pdata )
static gboolean
sx_notify_handler( xmlNodePtr node, gpointer sx_pdata )
{
- struct sx_pdata *pdata = sx_pdata;
+ struct sx_pdata *pdata = static_cast<decltype(pdata)>(sx_pdata);
SchedXaction *sx = pdata->sx;
gchar *tmp = dom_tree_to_text( node );
@@ -272,7 +273,7 @@ sx_notify_handler( xmlNodePtr node, gpointer sx_pdata )
static gboolean
sx_advCreate_handler( xmlNodePtr node, gpointer sx_pdata )
{
- struct sx_pdata *pdata = sx_pdata;
+ struct sx_pdata *pdata = static_cast<decltype(pdata)>(sx_pdata);
SchedXaction *sx = pdata->sx;
gint64 advCreate;
@@ -288,7 +289,7 @@ sx_advCreate_handler( xmlNodePtr node, gpointer sx_pdata )
static gboolean
sx_advRemind_handler( xmlNodePtr node, gpointer sx_pdata )
{
- struct sx_pdata *pdata = sx_pdata;
+ struct sx_pdata *pdata = static_cast<decltype(pdata)>(sx_pdata);
SchedXaction *sx = pdata->sx;
gint64 advRemind;
@@ -319,7 +320,7 @@ static
gboolean
sx_instcount_handler( xmlNodePtr node, gpointer sx_pdata )
{
- struct sx_pdata *pdata = sx_pdata;
+ struct sx_pdata *pdata = static_cast<decltype(pdata)>(sx_pdata);
SchedXaction *sx = pdata->sx;
gint64 instanceNum;
@@ -336,7 +337,7 @@ static
gboolean
sx_start_handler( xmlNodePtr node, gpointer sx_pdata )
{
- struct sx_pdata *pdata = sx_pdata;
+ struct sx_pdata *pdata = static_cast<decltype(pdata)>(sx_pdata);
SchedXaction *sx = pdata->sx;
return sx_set_date( node, sx, xaccSchedXactionSetStartDate );
@@ -346,7 +347,7 @@ static
gboolean
sx_last_handler( xmlNodePtr node, gpointer sx_pdata )
{
- struct sx_pdata *pdata = sx_pdata;
+ struct sx_pdata *pdata = static_cast<decltype(pdata)>(sx_pdata);
SchedXaction *sx = pdata->sx;
return sx_set_date( node, sx, xaccSchedXactionSetLastOccurDate );
@@ -356,7 +357,7 @@ static
gboolean
sx_end_handler( xmlNodePtr node, gpointer sx_pdata )
{
- struct sx_pdata *pdata = sx_pdata;
+ struct sx_pdata *pdata = static_cast<decltype(pdata)>(sx_pdata);
SchedXaction *sx = pdata->sx;
return sx_set_date( node, sx, xaccSchedXactionSetEndDate );
@@ -413,7 +414,7 @@ _fixup_recurrence_start_dates(const GDate *sx_start_date, GList *schedule)
static gboolean
sx_freqspec_handler( xmlNodePtr node, gpointer sx_pdata )
{
- struct sx_pdata *pdata = sx_pdata;
+ struct sx_pdata *pdata = static_cast<decltype(pdata)>(sx_pdata);
SchedXaction *sx = pdata->sx;
GList *schedule;
gchar* debug_str;
@@ -455,7 +456,7 @@ struct dom_tree_handler sx_recurrence_list_handlers[] =
static gboolean
sx_recurrence_handler(xmlNodePtr node, gpointer _pdata)
{
- struct sx_pdata *parsing_data = _pdata;
+ struct sx_pdata *parsing_data = static_cast<decltype(parsing_data)>(_pdata);
GList *schedule = NULL;
gchar* debug_str;
@@ -532,7 +533,7 @@ static
gboolean
sx_defer_inst_handler( xmlNodePtr node, gpointer sx_pdata )
{
- struct sx_pdata *pdata = sx_pdata;
+ struct sx_pdata *pdata = static_cast<decltype(pdata)>(sx_pdata);
SchedXaction *sx = pdata->sx;
SXTmpStateData *tsd;
@@ -559,7 +560,7 @@ static
gboolean
sx_numOccur_handler( xmlNodePtr node, gpointer sx_pdata )
{
- struct sx_pdata *pdata = sx_pdata;
+ struct sx_pdata *pdata = static_cast<decltype(pdata)>(sx_pdata);
SchedXaction *sx = pdata->sx;
gint64 numOccur;
@@ -578,7 +579,7 @@ static
gboolean
sx_templ_acct_handler( xmlNodePtr node, gpointer sx_pdata)
{
- struct sx_pdata *pdata = sx_pdata;
+ struct sx_pdata *pdata = static_cast<decltype(pdata)>(sx_pdata);
SchedXaction *sx = pdata->sx;
GncGUID *templ_acct_guid = dom_tree_to_guid(node);
Account *account;
@@ -600,7 +601,7 @@ static
gboolean
sx_remOccur_handler( xmlNodePtr node, gpointer sx_pdata )
{
- struct sx_pdata *pdata = sx_pdata;
+ struct sx_pdata *pdata = static_cast<decltype(pdata)>(sx_pdata);
SchedXaction *sx = pdata->sx;
gint64 remOccur;
@@ -618,7 +619,7 @@ static
gboolean
sx_slots_handler( xmlNodePtr node, gpointer sx_pdata )
{
- struct sx_pdata *pdata = sx_pdata;
+ struct sx_pdata *pdata = static_cast<decltype(pdata)>(sx_pdata);
SchedXaction *sx = pdata->sx;
return dom_tree_create_instance_slots(node, QOF_INSTANCE(sx));
@@ -671,11 +672,11 @@ gnc_schedXaction_end_handler(gpointer data_for_children,
g_return_val_if_fail( tree, FALSE );
- sx = xaccSchedXactionMalloc( gdata->bookdata );
+ sx = xaccSchedXactionMalloc(static_cast<QofBook*>(gdata->bookdata) );
memset(&sx_pdata, 0, sizeof(sx_pdata));
sx_pdata.sx = sx;
- sx_pdata.book = gdata->bookdata;
+ sx_pdata.book = static_cast<decltype(sx_pdata.book)>(gdata->bookdata);
g_assert( sx_dom_handlers != NULL );
@@ -733,7 +734,7 @@ gnc_schedXaction_end_handler(gpointer data_for_children,
{
Account *ra = NULL;
Account *acct = NULL;
- sixtp_gdv2 *sixdata = gdata->parsedata;
+ sixtp_gdv2 *sixdata = static_cast<decltype(sixdata)>(gdata->parsedata);
QofBook *book;
gchar guidstr[GUID_ENCODING_LENGTH+1];
@@ -786,7 +787,7 @@ static
gboolean
tt_act_handler( xmlNodePtr node, gpointer data )
{
- gnc_template_xaction_data *txd = data;
+ gnc_template_xaction_data *txd = static_cast<decltype(txd)>(data);
Account *acc;
gnc_commodity *com;
@@ -837,7 +838,7 @@ static
gboolean
tt_trn_handler( xmlNodePtr node, gpointer data )
{
- gnc_template_xaction_data *txd = data;
+ gnc_template_xaction_data *txd = static_cast<decltype(txd)>(data);
Transaction *trn;
trn = dom_tree_to_transaction( node, txd->book );
@@ -871,9 +872,9 @@ gnc_template_transaction_end_handler(gpointer data_for_children,
const gchar *tag)
{
gboolean successful = FALSE;
- xmlNodePtr tree = data_for_children;
- gxpf_data *gdata = global_data;
- QofBook *book = gdata->bookdata;
+ xmlNodePtr tree = static_cast<decltype(tree)>(data_for_children);
+ gxpf_data *gdata = static_cast<decltype(gdata)>(global_data);
+ QofBook *book = static_cast<decltype(book)>(gdata->bookdata);
GList *n;
gnc_template_xaction_data txd;
diff --git a/src/backend/xml/gnc-tax-table-xml-v2.c b/src/backend/xml/gnc-tax-table-xml-v2.cpp
similarity index 92%
rename from src/backend/xml/gnc-tax-table-xml-v2.c
rename to src/backend/xml/gnc-tax-table-xml-v2.cpp
index 2a7daa6..618c007 100644
--- a/src/backend/xml/gnc-tax-table-xml-v2.c
+++ b/src/backend/xml/gnc-tax-table-xml-v2.cpp
@@ -21,15 +21,18 @@
* Boston, MA 02110-1301, USA gnu at gnu.org *
* *
\********************************************************************/
-
+extern "C"
+{
#include "config.h"
#include <glib.h>
#include <stdlib.h>
#include <string.h>
+#include "gncEntry.h"
+#include "gncTaxTableP.h"
+}
#include "gnc-xml-helper.h"
-
#include "sixtp.h"
#include "sixtp-utils.h"
#include "sixtp-parsers.h"
@@ -41,8 +44,6 @@
#include "io-gncxml-gen.h"
#include "io-gncxml-v2.h"
-#include "gncEntry.h"
-#include "gncTaxTableP.h"
#include "gnc-tax-table-xml-v2.h"
#define _GNC_MOD_NAME GNC_ID_TAXTABLE
@@ -126,7 +127,7 @@ taxtable_dom_tree_create (GncTaxTable *table)
entries = xmlNewChild (ret, NULL, BAD_CAST taxtable_entries_string, NULL);
for (list = gncTaxTableGetEntries (table); list; list = list->next)
{
- GncTaxTableEntry *entry = list->data;
+ GncTaxTableEntry *entry = static_cast<decltype(entry)>(list->data);
xmlAddChild(entries, ttentry_dom_tree_create (entry));
}
@@ -147,7 +148,7 @@ struct ttentry_pdata
static gboolean
ttentry_acct_handler (xmlNodePtr node, gpointer ttentry_pdata)
{
- struct ttentry_pdata *pdata = ttentry_pdata;
+ struct ttentry_pdata *pdata = static_cast<decltype(pdata)>(ttentry_pdata);
GncGUID *guid;
Account * acc;
@@ -162,9 +163,9 @@ ttentry_acct_handler (xmlNodePtr node, gpointer ttentry_pdata)
}
static gboolean
-ttentry_type_handler (xmlNodePtr node, gpointer taxtable_pdata)
+ttentry_type_handler (xmlNodePtr node, gpointer ttentry_pdata)
{
- struct ttentry_pdata *pdata = taxtable_pdata;
+ struct ttentry_pdata *pdata = static_cast<decltype(pdata)>(ttentry_pdata);
GncAmountType type;
char *str;
gboolean ret;
@@ -184,7 +185,7 @@ ttentry_type_handler (xmlNodePtr node, gpointer taxtable_pdata)
static gboolean
ttentry_amount_handler (xmlNodePtr node, gpointer ttentry_pdata)
{
- struct ttentry_pdata *pdata = ttentry_pdata;
+ struct ttentry_pdata *pdata = static_cast<decltype(pdata)>(ttentry_pdata);
gnc_numeric* num = dom_tree_to_gnc_numeric(node);
g_return_val_if_fail(num, FALSE);
@@ -266,7 +267,7 @@ set_parent_child (xmlNodePtr node, struct taxtable_pdata *pdata,
static gboolean
taxtable_guid_handler (xmlNodePtr node, gpointer taxtable_pdata)
{
- struct taxtable_pdata *pdata = taxtable_pdata;
+ struct taxtable_pdata *pdata = static_cast<decltype(pdata)>(taxtable_pdata);
GncGUID *guid;
GncTaxTable *table;
@@ -292,7 +293,7 @@ taxtable_guid_handler (xmlNodePtr node, gpointer taxtable_pdata)
static gboolean
taxtable_name_handler (xmlNodePtr node, gpointer taxtable_pdata)
{
- struct taxtable_pdata *pdata = taxtable_pdata;
+ struct taxtable_pdata *pdata = static_cast<decltype(pdata)>(taxtable_pdata);
char* txt = dom_tree_to_text(node);
g_return_val_if_fail(txt, FALSE);
@@ -304,7 +305,7 @@ taxtable_name_handler (xmlNodePtr node, gpointer taxtable_pdata)
static gboolean
taxtable_refcount_handler (xmlNodePtr node, gpointer taxtable_pdata)
{
- struct taxtable_pdata *pdata = taxtable_pdata;
+ struct taxtable_pdata *pdata = static_cast<decltype(pdata)>(taxtable_pdata);
gint64 val;
dom_tree_to_integer(node, &val);
@@ -315,7 +316,7 @@ taxtable_refcount_handler (xmlNodePtr node, gpointer taxtable_pdata)
static gboolean
taxtable_invisible_handler (xmlNodePtr node, gpointer taxtable_pdata)
{
- struct taxtable_pdata *pdata = taxtable_pdata;
+ struct taxtable_pdata *pdata = static_cast<decltype(pdata)>(taxtable_pdata);
gint64 val;
dom_tree_to_integer(node, &val);
@@ -327,21 +328,21 @@ taxtable_invisible_handler (xmlNodePtr node, gpointer taxtable_pdata)
static gboolean
taxtable_parent_handler (xmlNodePtr node, gpointer taxtable_pdata)
{
- struct taxtable_pdata *pdata = taxtable_pdata;
+ struct taxtable_pdata *pdata = static_cast<decltype(pdata)>(taxtable_pdata);
return set_parent_child (node, pdata, gncTaxTableSetParent);
}
static gboolean
taxtable_child_handler (xmlNodePtr node, gpointer taxtable_pdata)
{
- struct taxtable_pdata *pdata = taxtable_pdata;
+ struct taxtable_pdata *pdata = static_cast<decltype(pdata)>(taxtable_pdata);
return set_parent_child (node, pdata, gncTaxTableSetChild);
}
static gboolean
taxtable_entries_handler (xmlNodePtr node, gpointer taxtable_pdata)
{
- struct taxtable_pdata *pdata = taxtable_pdata;
+ struct taxtable_pdata *pdata = static_cast<decltype(pdata)>(taxtable_pdata);
xmlNodePtr mark;
g_return_val_if_fail (node, FALSE);
@@ -371,7 +372,7 @@ taxtable_entries_handler (xmlNodePtr node, gpointer taxtable_pdata)
static gboolean
taxtable_slots_handler (xmlNodePtr node, gpointer taxtable_pdata)
{
- struct taxtable_pdata *pdata = taxtable_pdata;
+ struct taxtable_pdata *pdata = static_cast<decltype(pdata)>(taxtable_pdata);
return dom_tree_create_instance_slots(node, QOF_INSTANCE (pdata->table));
}
@@ -423,7 +424,7 @@ gnc_taxtable_end_handler(gpointer data_for_children,
GncTaxTable *table;
xmlNodePtr tree = (xmlNodePtr)data_for_children;
gxpf_data *gdata = (gxpf_data*)global_data;
- QofBook *book = gdata->bookdata;
+ QofBook *book = static_cast<decltype(book)>(gdata->bookdata);
if (parent_data)
{
@@ -459,7 +460,7 @@ taxtable_sixtp_parser_create(void)
static void
do_count (QofInstance * table_p, gpointer count_p)
{
- int *count = count_p;
+ int *count = static_cast<decltype(count)>(count_p);
(*count)++;
}
@@ -476,7 +477,7 @@ xml_add_taxtable (QofInstance * table_p, gpointer out_p)
{
xmlNodePtr node;
GncTaxTable *table = (GncTaxTable *) table_p;
- FILE *out = out_p;
+ FILE *out = static_cast<decltype(out)>(out_p);
if (ferror(out))
return;
@@ -542,7 +543,7 @@ static void
taxtable_scrub_cb (QofInstance * table_p, gpointer list_p)
{
GncTaxTable *table = GNC_TAXTABLE(table_p);
- GList **list = list_p;
+ GList **list = static_cast<decltype(list)>(list_p);
if (taxtable_is_grandchild(table) || gncTaxTableGetEntries(table) == NULL)
*list = g_list_prepend(*list, table);
@@ -554,7 +555,7 @@ taxtable_scrub_cb (QofInstance * table_p, gpointer list_p)
static void
taxtable_scrub_entries (QofInstance * entry_p, gpointer ht_p)
{
- GHashTable *ht = ht_p;
+ GHashTable *ht = static_cast<decltype(ht)>(ht_p);
GncEntry *entry = GNC_ENTRY(entry_p);
GncTaxTable *table, *new_tt;
gint32 count;
@@ -607,7 +608,7 @@ taxtable_scrub_entries (QofInstance * entry_p, gpointer ht_p)
static void
taxtable_scrub_cust (QofInstance * cust_p, gpointer ht_p)
{
- GHashTable *ht = ht_p;
+ GHashTable *ht = static_cast<decltype(ht)>(ht_p);
GncCustomer *cust = GNC_CUSTOMER(cust_p);
GncTaxTable *table;
gint32 count;
@@ -624,7 +625,7 @@ taxtable_scrub_cust (QofInstance * cust_p, gpointer ht_p)
static void
taxtable_scrub_vendor (QofInstance * vendor_p, gpointer ht_p)
{
- GHashTable *ht = ht_p;
+ GHashTable *ht = static_cast<decltype(ht)>(ht_p);
GncVendor *vendor = GNC_VENDOR(vendor_p);
GncTaxTable *table;
gint32 count;
@@ -641,7 +642,7 @@ taxtable_scrub_vendor (QofInstance * vendor_p, gpointer ht_p)
static void
taxtable_reset_refcount (gpointer key, gpointer value, gpointer notused)
{
- GncTaxTable *table = key;
+ GncTaxTable *table = static_cast<decltype(table)>(key);
gint32 count = GPOINTER_TO_INT(value);
if (count != gncTaxTableGetRefcount(table) && !gncTaxTableGetInvisible(table))
@@ -671,7 +672,7 @@ taxtable_scrub (QofBook *book)
for (node = list; node; node = node->next)
{
gchar guidstr[GUID_ENCODING_LENGTH+1];
- table = node->data;
+ table = static_cast<decltype(table)>(node->data);
guid_to_string_buff(qof_instance_get_guid(QOF_INSTANCE(table)),guidstr);
PINFO ("deleting grandchild taxtable: %s\n", guidstr);
diff --git a/src/backend/xml/gnc-transaction-xml-v2.c b/src/backend/xml/gnc-transaction-xml-v2.cpp
similarity index 91%
rename from src/backend/xml/gnc-transaction-xml-v2.c
rename to src/backend/xml/gnc-transaction-xml-v2.cpp
index 40f871c..1fb6820 100644
--- a/src/backend/xml/gnc-transaction-xml-v2.c
+++ b/src/backend/xml/gnc-transaction-xml-v2.cpp
@@ -21,12 +21,18 @@
* Boston, MA 02110-1301, USA gnu at gnu.org *
* *
*******************************************************************/
-
+extern "C"
+{
#include "config.h"
#include <glib.h>
#include <string.h>
-
+#include "AccountP.h"
+#include "Transaction.h"
+#include "TransactionP.h"
+#include "gnc-lot.h"
+#include "gnc-lot-p.h"
+}
#include "gnc-xml-helper.h"
#include "sixtp.h"
@@ -41,11 +47,6 @@
#include "io-gncxml-gen.h"
#include "sixtp-dom-parsers.h"
-#include "AccountP.h"
-#include "Transaction.h"
-#include "TransactionP.h"
-#include "gnc-lot.h"
-#include "gnc-lot-p.h"
const gchar *transaction_version_string = "2.0.0";
@@ -143,7 +144,7 @@ add_trans_splits(xmlNodePtr node, Transaction *trn)
for (n = xaccTransGetSplitList(trn); n; n = n->next)
{
- Split *s = n->data;
+ Split *s = static_cast<decltype(s)>(n->data);
xmlAddChild(toaddto, split_to_dom_tree("trn:split", s));
}
}
@@ -232,7 +233,7 @@ set_spl_gnc_num(xmlNodePtr node, Split* spl,
static gboolean
spl_id_handler(xmlNodePtr node, gpointer data)
{
- struct split_pdata *pdata = data;
+ struct split_pdata *pdata = static_cast<decltype(pdata)>(data);
GncGUID *tmp = dom_tree_to_guid(node);
g_return_val_if_fail(tmp, FALSE);
@@ -245,21 +246,21 @@ spl_id_handler(xmlNodePtr node, gpointer data)
static gboolean
spl_memo_handler(xmlNodePtr node, gpointer data)
{
- struct split_pdata *pdata = data;
+ struct split_pdata *pdata = static_cast<decltype(pdata)>(data);
return set_spl_string(node, pdata->split, xaccSplitSetMemo);
}
static gboolean
spl_action_handler(xmlNodePtr node, gpointer data)
{
- struct split_pdata *pdata = data;
+ struct split_pdata *pdata = static_cast<decltype(pdata)>(data);
return set_spl_string(node, pdata->split, xaccSplitSetAction);
}
static gboolean
spl_reconciled_state_handler(xmlNodePtr node, gpointer data)
{
- struct split_pdata *pdata = data;
+ struct split_pdata *pdata = static_cast<decltype(pdata)>(data);
gchar *tmp = dom_tree_to_text(node);
g_return_val_if_fail(tmp, FALSE);
@@ -273,7 +274,7 @@ spl_reconciled_state_handler(xmlNodePtr node, gpointer data)
static gboolean
spl_reconcile_date_handler(xmlNodePtr node, gpointer data)
{
- struct split_pdata *pdata = data;
+ struct split_pdata *pdata = static_cast<decltype(pdata)>(data);
Timespec ts;
ts = dom_tree_to_timespec(node);
@@ -287,14 +288,14 @@ spl_reconcile_date_handler(xmlNodePtr node, gpointer data)
static gboolean
spl_value_handler(xmlNodePtr node, gpointer data)
{
- struct split_pdata *pdata = data;
+ struct split_pdata *pdata = static_cast<decltype(pdata)>(data);
return set_spl_gnc_num(node, pdata->split, xaccSplitSetValue);
}
static gboolean
spl_quantity_handler(xmlNodePtr node, gpointer data)
{
- struct split_pdata *pdata = data;
+ struct split_pdata *pdata = static_cast<decltype(pdata)>(data);
return set_spl_gnc_num(node, pdata->split, xaccSplitSetAmount);
}
@@ -303,7 +304,7 @@ gboolean gnc_transaction_xml_v2_testing = FALSE;
static gboolean
spl_account_handler(xmlNodePtr node, gpointer data)
{
- struct split_pdata *pdata = data;
+ struct split_pdata *pdata = static_cast<decltype(pdata)>(data);
GncGUID *id = dom_tree_to_guid(node);
Account *account;
@@ -329,7 +330,7 @@ spl_account_handler(xmlNodePtr node, gpointer data)
static gboolean
spl_lot_handler(xmlNodePtr node, gpointer data)
{
- struct split_pdata *pdata = data;
+ struct split_pdata *pdata = static_cast<decltype(pdata)>(data);
GncGUID *id = dom_tree_to_guid(node);
GNCLot *lot;
@@ -353,7 +354,7 @@ spl_lot_handler(xmlNodePtr node, gpointer data)
static gboolean
spl_slots_handler(xmlNodePtr node, gpointer data)
{
- struct split_pdata *pdata = data;
+ struct split_pdata *pdata = static_cast<decltype(pdata)>(data);
gboolean successful;
successful = dom_tree_create_instance_slots(node,
@@ -447,7 +448,7 @@ set_tran_date(xmlNodePtr node, Transaction *trn,
static gboolean
trn_id_handler(xmlNodePtr node, gpointer trans_pdata)
{
- struct trans_pdata *pdata = trans_pdata;
+ struct trans_pdata *pdata = static_cast<decltype(pdata)>(trans_pdata);
Transaction *trn = pdata->trans;
GncGUID *tmp = dom_tree_to_guid(node);
@@ -463,7 +464,7 @@ trn_id_handler(xmlNodePtr node, gpointer trans_pdata)
static gboolean
trn_currency_handler(xmlNodePtr node, gpointer trans_pdata)
{
- struct trans_pdata *pdata = trans_pdata;
+ struct trans_pdata *pdata = static_cast<decltype(pdata)>(trans_pdata);
Transaction *trn = pdata->trans;
gnc_commodity *ref;
@@ -476,7 +477,7 @@ trn_currency_handler(xmlNodePtr node, gpointer trans_pdata)
static gboolean
trn_num_handler(xmlNodePtr node, gpointer trans_pdata)
{
- struct trans_pdata *pdata = trans_pdata;
+ struct trans_pdata *pdata = static_cast<decltype(pdata)>(trans_pdata);
Transaction *trn = pdata->trans;
return set_tran_string(node, trn, xaccTransSetNum);
@@ -485,7 +486,7 @@ trn_num_handler(xmlNodePtr node, gpointer trans_pdata)
static gboolean
trn_date_posted_handler(xmlNodePtr node, gpointer trans_pdata)
{
- struct trans_pdata *pdata = trans_pdata;
+ struct trans_pdata *pdata = static_cast<decltype(pdata)>(trans_pdata);
Transaction *trn = pdata->trans;
return set_tran_date(node, trn, xaccTransSetDatePostedTS);
@@ -494,7 +495,7 @@ trn_date_posted_handler(xmlNodePtr node, gpointer trans_pdata)
static gboolean
trn_date_entered_handler(xmlNodePtr node, gpointer trans_pdata)
{
- struct trans_pdata *pdata = trans_pdata;
+ struct trans_pdata *pdata = static_cast<decltype(pdata)>(trans_pdata);
Transaction *trn = pdata->trans;
return set_tran_date(node, trn, xaccTransSetDateEnteredTS);
@@ -503,7 +504,7 @@ trn_date_entered_handler(xmlNodePtr node, gpointer trans_pdata)
static gboolean
trn_description_handler(xmlNodePtr node, gpointer trans_pdata)
{
- struct trans_pdata *pdata = trans_pdata;
+ struct trans_pdata *pdata = static_cast<decltype(pdata)>(trans_pdata);
Transaction *trn = pdata->trans;
return set_tran_string(node, trn, xaccTransSetDescription);
@@ -512,7 +513,7 @@ trn_description_handler(xmlNodePtr node, gpointer trans_pdata)
static gboolean
trn_slots_handler(xmlNodePtr node, gpointer trans_pdata)
{
- struct trans_pdata *pdata = trans_pdata;
+ struct trans_pdata *pdata = static_cast<decltype(pdata)>(trans_pdata);
Transaction *trn = pdata->trans;
gboolean successful;
@@ -526,7 +527,7 @@ trn_slots_handler(xmlNodePtr node, gpointer trans_pdata)
static gboolean
trn_splits_handler(xmlNodePtr node, gpointer trans_pdata)
{
- struct trans_pdata *pdata = trans_pdata;
+ struct trans_pdata *pdata = static_cast<decltype(pdata)>(trans_pdata);
Transaction *trn = pdata->trans;
xmlNodePtr mark;
@@ -596,7 +597,8 @@ gnc_transaction_end_handler(gpointer data_for_children,
g_return_val_if_fail(tree, FALSE);
- trn = dom_tree_to_transaction(tree, gdata->bookdata);
+ trn = dom_tree_to_transaction(tree,
+ static_cast<QofBook*>(gdata->bookdata));
if (trn != NULL)
{
gdata->cb(tag, gdata->parsedata, trn);
diff --git a/src/backend/xml/gnc-vendor-xml-v2.c b/src/backend/xml/gnc-vendor-xml-v2.cpp
similarity index 92%
rename from src/backend/xml/gnc-vendor-xml-v2.c
rename to src/backend/xml/gnc-vendor-xml-v2.cpp
index 5ab47f1..41d3f13 100644
--- a/src/backend/xml/gnc-vendor-xml-v2.c
+++ b/src/backend/xml/gnc-vendor-xml-v2.cpp
@@ -21,15 +21,19 @@
* Boston, MA 02110-1301, USA gnu at gnu.org *
* *
\********************************************************************/
-
+extern "C"
+{
#include "config.h"
#include <glib.h>
#include <stdlib.h>
#include <string.h>
+#include "gncBillTermP.h"
+#include "gncVendorP.h"
+#include "gncTaxTableP.h"
+}
#include "gnc-xml-helper.h"
-
#include "sixtp.h"
#include "sixtp-utils.h"
#include "sixtp-parsers.h"
@@ -41,9 +45,6 @@
#include "io-gncxml-gen.h"
#include "io-gncxml-v2.h"
-#include "gncBillTermP.h"
-#include "gncVendorP.h"
-#include "gncTaxTableP.h"
#include "gnc-vendor-xml-v2.h"
#include "gnc-address-xml-v2.h"
#include "xml-helpers.h"
@@ -163,7 +164,7 @@ set_boolean(xmlNodePtr node, GncVendor* vendor,
static gboolean
vendor_name_handler (xmlNodePtr node, gpointer vendor_pdata)
{
- struct vendor_pdata *pdata = vendor_pdata;
+ struct vendor_pdata *pdata = static_cast<decltype(pdata)>(vendor_pdata);
return set_string(node, pdata->vendor, gncVendorSetName);
}
@@ -171,7 +172,7 @@ vendor_name_handler (xmlNodePtr node, gpointer vendor_pdata)
static gboolean
vendor_guid_handler (xmlNodePtr node, gpointer vendor_pdata)
{
- struct vendor_pdata *pdata = vendor_pdata;
+ struct vendor_pdata *pdata = static_cast<decltype(pdata)>(vendor_pdata);
GncGUID *guid;
GncVendor *vendor;
@@ -197,7 +198,7 @@ vendor_guid_handler (xmlNodePtr node, gpointer vendor_pdata)
static gboolean
vendor_id_handler (xmlNodePtr node, gpointer vendor_pdata)
{
- struct vendor_pdata *pdata = vendor_pdata;
+ struct vendor_pdata *pdata = static_cast<decltype(pdata)>(vendor_pdata);
return set_string(node, pdata->vendor, gncVendorSetID);
}
@@ -205,7 +206,7 @@ vendor_id_handler (xmlNodePtr node, gpointer vendor_pdata)
static gboolean
vendor_notes_handler (xmlNodePtr node, gpointer vendor_pdata)
{
- struct vendor_pdata *pdata = vendor_pdata;
+ struct vendor_pdata *pdata = static_cast<decltype(pdata)>(vendor_pdata);
return set_string(node, pdata->vendor, gncVendorSetNotes);
}
@@ -213,7 +214,7 @@ vendor_notes_handler (xmlNodePtr node, gpointer vendor_pdata)
static gboolean
vendor_terms_handler (xmlNodePtr node, gpointer vendor_pdata)
{
- struct vendor_pdata *pdata = vendor_pdata;
+ struct vendor_pdata *pdata = static_cast<decltype(pdata)>(vendor_pdata);
GncGUID *guid;
GncBillTerm *term;
@@ -230,7 +231,7 @@ vendor_terms_handler (xmlNodePtr node, gpointer vendor_pdata)
static gboolean
vendor_addr_handler (xmlNodePtr node, gpointer vendor_pdata)
{
- struct vendor_pdata *pdata = vendor_pdata;
+ struct vendor_pdata *pdata = static_cast<decltype(pdata)>(vendor_pdata);
return gnc_dom_tree_to_address (node, gncVendorGetAddr(pdata->vendor));
}
@@ -238,7 +239,7 @@ vendor_addr_handler (xmlNodePtr node, gpointer vendor_pdata)
static gboolean
vendor_taxincluded_handler (xmlNodePtr node, gpointer vendor_pdata)
{
- struct vendor_pdata *pdata = vendor_pdata;
+ struct vendor_pdata *pdata = static_cast<decltype(pdata)>(vendor_pdata);
GncTaxIncluded type;
char *str;
gboolean ret;
@@ -258,14 +259,14 @@ vendor_taxincluded_handler (xmlNodePtr node, gpointer vendor_pdata)
static gboolean
vendor_active_handler (xmlNodePtr node, gpointer vendor_pdata)
{
- struct vendor_pdata *pdata = vendor_pdata;
+ struct vendor_pdata *pdata = static_cast<decltype(pdata)>(vendor_pdata);
return set_boolean (node, pdata->vendor, gncVendorSetActive);
}
static gboolean
vendor_currency_handler (xmlNodePtr node, gpointer vendor_pdata)
{
- struct vendor_pdata *pdata = vendor_pdata;
+ struct vendor_pdata *pdata = static_cast<decltype(pdata)>(vendor_pdata);
gnc_commodity *com;
com = dom_tree_to_commodity_ref(node, pdata->book);
@@ -279,7 +280,7 @@ vendor_currency_handler (xmlNodePtr node, gpointer vendor_pdata)
static gboolean
vendor_taxtable_handler (xmlNodePtr node, gpointer vendor_pdata)
{
- struct vendor_pdata *pdata = vendor_pdata;
+ struct vendor_pdata *pdata = static_cast<decltype(pdata)>(vendor_pdata);
GncGUID *guid;
GncTaxTable *taxtable;
@@ -304,14 +305,14 @@ vendor_taxtable_handler (xmlNodePtr node, gpointer vendor_pdata)
static gboolean
vendor_taxtableoverride_handler (xmlNodePtr node, gpointer vendor_pdata)
{
- struct vendor_pdata *pdata = vendor_pdata;
+ struct vendor_pdata *pdata = static_cast<decltype(pdata)>(vendor_pdata);
return set_boolean (node, pdata->vendor, gncVendorSetTaxTableOverride);
}
static gboolean
vendor_slots_handler (xmlNodePtr node, gpointer vendor_pdata)
{
- struct vendor_pdata *pdata = vendor_pdata;
+ struct vendor_pdata *pdata = static_cast<decltype(pdata)>(vendor_pdata);
return dom_tree_create_instance_slots(node, QOF_INSTANCE(pdata->vendor));
}
@@ -368,7 +369,7 @@ gnc_vendor_end_handler(gpointer data_for_children,
GncVendor *vendor;
xmlNodePtr tree = (xmlNodePtr)data_for_children;
gxpf_data *gdata = (gxpf_data*)global_data;
- QofBook *book = gdata->bookdata;
+ QofBook *book = static_cast<decltype(book)>(gdata->bookdata);
if (parent_data)
{
@@ -417,7 +418,7 @@ vendor_should_be_saved (GncVendor *vendor)
static void
do_count (QofInstance * vendor_p, gpointer count_p)
{
- int *count = count_p;
+ int *count = static_cast<decltype(count)>(count_p);
if (vendor_should_be_saved ((GncVendor *)vendor_p))
(*count)++;
}
@@ -435,7 +436,7 @@ xml_add_vendor (QofInstance * vendor_p, gpointer out_p)
{
xmlNodePtr node;
GncVendor *vendor = (GncVendor *) vendor_p;
- FILE *out = out_p;
+ FILE *out = static_cast<decltype(out)>(out_p);
if (ferror(out))
return;
diff --git a/src/backend/xml/gnc-xml-helper.c b/src/backend/xml/gnc-xml-helper.cpp
similarity index 99%
rename from src/backend/xml/gnc-xml-helper.c
rename to src/backend/xml/gnc-xml-helper.cpp
index 1f22eab..4dfb050 100644
--- a/src/backend/xml/gnc-xml-helper.c
+++ b/src/backend/xml/gnc-xml-helper.cpp
@@ -21,8 +21,11 @@
* Boston, MA 02110-1301, USA gnu at gnu.org *
* *
\********************************************************************/
-
+extern "C"
+{
#include <glib.h>
+}
+
#include "gnc-xml-helper.h"
xmlChar*
@@ -47,4 +50,3 @@ checked_char_cast (gchar *val)
*end = '?';
return (xmlChar*)(val);
}
-
diff --git a/src/backend/xml/gnc-xml-helper.h b/src/backend/xml/gnc-xml-helper.h
index 303da28..db9657d 100644
--- a/src/backend/xml/gnc-xml-helper.h
+++ b/src/backend/xml/gnc-xml-helper.h
@@ -24,7 +24,8 @@
#ifndef GNC_XML_HELPER_H
#define GNC_XML_HELPER_H
-
+extern "C"
+{
#include <libxml/xmlversion.h>
# include <libxml/SAX.h>
@@ -32,6 +33,7 @@
# include <libxml/parser.h>
# include <libxml/xmlmemory.h>
# include <libxml/parserInternals.h>
+}
# ifndef xmlChildrenNode
# define xmlChildrenNode children
# endif /* ifndef xmlChildrenNode */
diff --git a/src/backend/xml/gnc-xml.h b/src/backend/xml/gnc-xml.h
index b516db0..58080b0 100644
--- a/src/backend/xml/gnc-xml.h
+++ b/src/backend/xml/gnc-xml.h
@@ -25,10 +25,14 @@
#ifndef GNC_XML_H
#define GNC_XML_H
+extern "C"
+{
#include "SchedXaction.h"
#include "gnc-engine.h"
#include "gnc-pricedb.h"
#include "gnc-budget.h"
+}
+
#include "gnc-xml-helper.h"
#include "sixtp.h"
diff --git a/src/backend/xml/gncmod-backend-xml.c b/src/backend/xml/gncmod-backend-xml.cpp
similarity index 99%
rename from src/backend/xml/gncmod-backend-xml.c
rename to src/backend/xml/gncmod-backend-xml.cpp
index d646b8a..4c8b68c 100644
--- a/src/backend/xml/gncmod-backend-xml.c
+++ b/src/backend/xml/gncmod-backend-xml.cpp
@@ -24,7 +24,8 @@
* *
\********************************************************************/
-
+extern "C"
+{
#include <stdio.h>
#include <gmodule.h>
/* #include <glib-gobject.h> */
@@ -45,6 +46,7 @@ int libgncmod_backend_file_gnc_module_age = 0;
static GNCModule engine;
+
char *
libgncmod_backend_file_gnc_module_path(void)
{
@@ -79,3 +81,4 @@ libgncmod_backend_file_gnc_module_end(int refcount)
return unload;
}
+} //extern "C"
diff --git a/src/backend/xml/io-example-account.c b/src/backend/xml/io-example-account.cpp
similarity index 99%
rename from src/backend/xml/io-example-account.c
rename to src/backend/xml/io-example-account.cpp
index 21369b5..e72e7b0 100644
--- a/src/backend/xml/io-example-account.c
+++ b/src/backend/xml/io-example-account.cpp
@@ -21,7 +21,8 @@
* Boston, MA 02110-1301, USA gnu at gnu.org *
* *
\********************************************************************/
-
+extern "C"
+{
#include "config.h"
#include <platform.h>
@@ -43,9 +44,17 @@
#include <glib.h>
#include <glib/gi18n.h>
#include <glib/gstdio.h>
+#include "gnc-engine.h"
+#include "Scrub.h"
+#include "TransLog.h"
+#include "platform.h"
+#if COMPILER(MSVC)
+# define g_fopen fopen
+#endif
+}
+
#include "sixtp.h"
-#include "gnc-engine.h"
#include "gnc-xml.h"
#include "io-example-account.h"
#include "io-gncxml-gen.h"
@@ -54,12 +63,6 @@
#include "sixtp-dom-parsers.h"
#include "sixtp-parsers.h"
-#include "Scrub.h"
-#include "TransLog.h"
-#include "platform.h"
-#if COMPILER(MSVC)
-# define g_fopen fopen
-#endif
static QofLogModule log_module = GNC_MOD_IO;
diff --git a/src/backend/xml/io-example-account.h b/src/backend/xml/io-example-account.h
index 914f308..9725836 100644
--- a/src/backend/xml/io-example-account.h
+++ b/src/backend/xml/io-example-account.h
@@ -24,10 +24,12 @@
#ifndef IO_EXAMPLE_ACCOUNT_H
#define IO_EXAMPLE_ACCOUNT_H
-
+#ifdef __cplusplus
+extern "C"
+{
+#endif
#include <glib.h>
-#include "sixtp.h"
#include "gnc-engine.h"
struct GncExampleAccount_struct
@@ -52,7 +54,9 @@ GncExampleAccount *gnc_read_example_account(const gchar *filename);
void gnc_free_example_account_list(GSList *list);
GSList* gnc_load_example_account_list(const char *dirname);
-
+#ifdef __cplusplus
+}
+#endif
/* gboolean gnc_is_example_account_xml(const gchar *name); */
#endif /* IO_EXAMPLE_ACCOUNT_H */
diff --git a/src/backend/xml/io-gncxml-gen.c b/src/backend/xml/io-gncxml-gen.cpp
similarity index 99%
rename from src/backend/xml/io-gncxml-gen.c
rename to src/backend/xml/io-gncxml-gen.cpp
index 0ca1ccd..19ebe18 100644
--- a/src/backend/xml/io-gncxml-gen.c
+++ b/src/backend/xml/io-gncxml-gen.cpp
@@ -21,8 +21,10 @@
* Boston, MA 02110-1301, USA gnu at gnu.org *
* *
\********************************************************************/
-
+extern "C"
+{
#include "config.h"
+}
#include "io-gncxml-gen.h"
diff --git a/src/backend/xml/io-gncxml-gen.h b/src/backend/xml/io-gncxml-gen.h
index adfdd8f..2412b72 100644
--- a/src/backend/xml/io-gncxml-gen.h
+++ b/src/backend/xml/io-gncxml-gen.h
@@ -24,8 +24,11 @@
#ifndef IO_GNCXML_GEN_H
#define IO_GNCXML_GEN_H
-
+extern "C"
+{
#include <glib.h>
+}
+
#include "sixtp.h"
typedef gboolean (*gxpf_callback)(const char *tag, gpointer parsedata,
diff --git a/src/backend/xml/io-gncxml-v1.cpp b/src/backend/xml/io-gncxml-v1.cpp
index c0d74d4..0c58c05 100644
--- a/src/backend/xml/io-gncxml-v1.cpp
+++ b/src/backend/xml/io-gncxml-v1.cpp
@@ -43,14 +43,15 @@ extern "C"
#include <TransLog.h>
#include <gnc-pricedb.h>
#include <gnc-pricedb-p.h>
-#include "io-gncxml.h"
+}
+#include "io-gncxml.h"
#include "sixtp.h"
#include "sixtp-dom-parsers.h"
#include "sixtp-stack.h"
#include "sixtp-parsers.h"
#include "sixtp-utils.h"
-}
+
#include <kvp_frame.hpp>
/* from Transaction-xml-parser-v1.c */
diff --git a/src/backend/xml/io-gncxml-v2.c b/src/backend/xml/io-gncxml-v2.cpp
similarity index 96%
rename from src/backend/xml/io-gncxml-v2.c
rename to src/backend/xml/io-gncxml-v2.cpp
index 37c5cc6..ce1165b 100644
--- a/src/backend/xml/io-gncxml-v2.c
+++ b/src/backend/xml/io-gncxml-v2.cpp
@@ -18,7 +18,8 @@
* 51 Franklin Street, Fifth Floor Fax: +1-617-542-2652 *
* Boston, MA 02110-1301, USA gnu at gnu.org *
\********************************************************************/
-
+extern "C"
+{
#include "config.h"
#include <platform.h>
@@ -44,15 +45,6 @@
#include "Transaction.h"
#include "TransactionP.h"
#include "TransLog.h"
-#include "sixtp-dom-parsers.h"
-#include "io-gncxml-v2.h"
-#include "io-gncxml-gen.h"
-
-#include "sixtp.h"
-#include "sixtp-parsers.h"
-#include "sixtp-utils.h"
-#include "gnc-xml.h"
-#include "io-utils.h"
#ifdef G_OS_WIN32
# include <io.h>
# define close _close
@@ -64,6 +56,16 @@
# define g_fopen fopen
# define g_open _open
#endif
+}
+
+#include "sixtp.h"
+#include "sixtp-parsers.h"
+#include "sixtp-utils.h"
+#include "gnc-xml.h"
+#include "io-utils.h"
+#include "sixtp-dom-parsers.h"
+#include "io-gncxml-v2.h"
+#include "io-gncxml-gen.h"
/* Do not treat -Wstrict-aliasing warnings as errors because of problems of the
* G_LOCK* macros as declared by glib. See
@@ -110,15 +112,6 @@ static FILE *try_gz_open (const char *filename, const char *perms, gboolean use_
static gboolean is_gzipped_file(const gchar *name);
static gboolean wait_for_gzip(FILE *file);
-void
-run_callback(sixtp_gdv2 *data, const char *type)
-{
- if (data->countCallback)
- {
- data->countCallback(data, type);
- }
-}
-
static void
clear_up_account_commodity(
gnc_commodity_table *tbl, Account *act,
@@ -241,7 +234,7 @@ add_account_local(sixtp_gdv2 *data, Account *act)
}
data->counter.accounts_loaded++;
- run_callback(data, "account");
+ sixtp_run_callback(data, "account");
return FALSE;
}
@@ -250,7 +243,7 @@ static gboolean
add_book_local(sixtp_gdv2 *data, QofBook *book)
{
data->counter.books_loaded++;
- run_callback(data, "book");
+ sixtp_run_callback(data, "book");
return FALSE;
}
@@ -265,7 +258,7 @@ add_commodity_local(sixtp_gdv2 *data, gnc_commodity *com)
gnc_commodity_table_insert(table, com);
data->counter.commodities_loaded++;
- run_callback(data, "commodities");
+ sixtp_run_callback(data, "commodities");
return TRUE;
}
@@ -286,7 +279,7 @@ add_transaction_local(sixtp_gdv2 *data, Transaction *trn)
xaccTransCommitEdit (trn);
data->counter.transactions_loaded++;
- run_callback(data, "transaction");
+ sixtp_run_callback(data, "transaction");
return TRUE;
}
@@ -297,7 +290,7 @@ add_schedXaction_local(sixtp_gdv2 *data, SchedXaction *sx)
sxes = gnc_book_get_schedxactions(data->book);
gnc_sxes_add_sx(sxes, sx);
data->counter.schedXactions_loaded++;
- run_callback(data, "schedXactions");
+ sixtp_run_callback(data, "schedXactions");
return TRUE;
}
@@ -354,8 +347,8 @@ add_pricedb_local(sixtp_gdv2 *data, GNCPriceDB *db)
static void
do_counter_cb (const char *type, gpointer data_p, gpointer be_data_p)
{
- GncXmlDataType_t *data = data_p;
- struct file_backend *be_data = be_data_p;
+ GncXmlDataType_t *data = static_cast<decltype(data)>(data_p);
+ struct file_backend *be_data = static_cast<decltype(be_data)>(be_data_p);
g_return_if_fail (type && data && be_data);
g_return_if_fail (data->version == GNC_FILE_BACKEND_VERS);
@@ -542,8 +535,8 @@ static const char *BUDGET_TAG = "gnc:budget";
static void
add_item_cb (const char *type, gpointer data_p, gpointer be_data_p)
{
- GncXmlDataType_t *data = data_p;
- struct file_backend *be_data = be_data_p;
+ GncXmlDataType_t *data = static_cast<decltype(data)>(data_p);
+ struct file_backend *be_data = static_cast<decltype(be_data)>(be_data_p);
g_return_if_fail (type && data && be_data);
g_return_if_fail (data->version == GNC_FILE_BACKEND_VERS);
@@ -633,8 +626,8 @@ generic_callback(const char *tag, gpointer globaldata, gpointer data)
static void
add_parser_cb (const char *type, gpointer data_p, gpointer be_data_p)
{
- GncXmlDataType_t *data = data_p;
- struct file_backend *be_data = be_data_p;
+ GncXmlDataType_t *data = static_cast<decltype(data)>(data_p);
+ struct file_backend *be_data = static_cast<decltype(be_data)>(be_data_p);
g_return_if_fail (type && data && be_data);
g_return_if_fail (data->version == GNC_FILE_BACKEND_VERS);
@@ -653,8 +646,8 @@ add_parser_cb (const char *type, gpointer data_p, gpointer be_data_p)
static void
scrub_cb (const char *type, gpointer data_p, gpointer be_data_p)
{
- GncXmlDataType_t *data = data_p;
- struct file_backend *be_data = be_data_p;
+ GncXmlDataType_t *data = static_cast<decltype(data)>(data_p);
+ struct file_backend *be_data = static_cast<decltype(be_data)>(be_data_p);
g_return_if_fail (type && data && be_data);
g_return_if_fail (data->version == GNC_FILE_BACKEND_VERS);
@@ -960,8 +953,8 @@ static void write_budget (QofInstance *ent, gpointer data);
static void
write_counts_cb (const char *type, gpointer data_p, gpointer be_data_p)
{
- GncXmlDataType_t *data = data_p;
- struct file_backend *be_data = be_data_p;
+ GncXmlDataType_t *data = static_cast<decltype(data)>(data_p);
+ struct file_backend *be_data = static_cast<decltype(be_data)>(be_data_p);
g_return_if_fail (type && data && be_data);
g_return_if_fail (data->version == GNC_FILE_BACKEND_VERS);
@@ -975,8 +968,8 @@ write_counts_cb (const char *type, gpointer data_p, gpointer be_data_p)
static void
write_data_cb (const char *type, gpointer data_p, gpointer be_data_p)
{
- GncXmlDataType_t *data = data_p;
- struct file_backend *be_data = be_data_p;
+ GncXmlDataType_t *data = static_cast<decltype(data)>(data_p);
+ struct file_backend *be_data = static_cast<decltype(be_data)>(be_data_p);
g_return_if_fail (type && data && be_data);
g_return_if_fail (data->version == GNC_FILE_BACKEND_VERS);
@@ -1090,12 +1083,12 @@ write_commodities(FILE *out, QofBook *book, sixtp_gdv2 *gd)
GList *comms, *lp2;
xmlNodePtr comnode;
- comms = gnc_commodity_table_get_commodities(tbl, lp->data);
+ comms = gnc_commodity_table_get_commodities(tbl, static_cast<const char*>(lp->data));
comms = g_list_sort(comms, compare_commodity_ids);
for (lp2 = comms; lp2; lp2 = lp2->next)
{
- comnode = gnc_commodity_dom_tree_create(lp2->data);
+ comnode = gnc_commodity_dom_tree_create(static_cast<const gnc_commodity*>(lp2->data));
if (comnode == NULL)
continue;
@@ -1108,7 +1101,7 @@ write_commodities(FILE *out, QofBook *book, sixtp_gdv2 *gd)
xmlFreeNode(comnode);
gd->counter.commodities_loaded++;
- run_callback(gd, "commodities");
+ sixtp_run_callback(gd, "commodities");
}
g_list_free (comms);
@@ -1160,7 +1153,7 @@ write_pricedb(FILE *out, QofBook *book, sixtp_gdv2 *gd)
if (ferror(out))
break;
gd->counter.prices_loaded += 1;
- run_callback(gd, "prices");
+ sixtp_run_callback(gd, "prices");
}
xmlOutputBufferClose(outbuf);
@@ -1178,7 +1171,7 @@ write_pricedb(FILE *out, QofBook *book, sixtp_gdv2 *gd)
static int
xml_add_trn_data(Transaction *t, gpointer data)
{
- struct file_backend *be_data = data;
+ struct file_backend *be_data = static_cast<decltype(be_data)>(data);
xmlNodePtr node;
node = gnc_transaction_dom_tree_create(t);
@@ -1190,7 +1183,7 @@ xml_add_trn_data(Transaction *t, gpointer data)
return -1;
be_data->gd->counter.transactions_loaded++;
- run_callback(be_data->gd, "transaction");
+ sixtp_run_callback(be_data->gd, "transaction");
return 0;
}
@@ -1244,14 +1237,14 @@ write_schedXactions( FILE *out, QofBook *book, sixtp_gdv2 *gd)
do
{
- tmpSX = schedXactions->data;
+ tmpSX = static_cast<decltype(tmpSX)>(schedXactions->data);
node = gnc_schedXaction_dom_tree_create( tmpSX );
xmlElemDump( out, NULL, node );
xmlFreeNode(node);
if (ferror(out) || fprintf(out, "\n") < 0)
return FALSE;
gd->counter.schedXactions_loaded++;
- run_callback(gd, "schedXactions");
+ sixtp_run_callback(gd, "schedXactions");
}
while ( (schedXactions = schedXactions->next) );
@@ -1262,7 +1255,7 @@ static void
write_budget (QofInstance *ent, gpointer data)
{
xmlNodePtr node;
- struct file_backend* be = data;
+ struct file_backend* be = static_cast<decltype(be)>(data);
GncBudget *bgt = GNC_BUDGET(ent);
@@ -1276,7 +1269,7 @@ write_budget (QofInstance *ent, gpointer data)
return;
be->gd->counter.budgets_loaded++;
- run_callback(be->gd, "budgets");
+ sixtp_run_callback(be->gd, "budgets");
}
gboolean
@@ -1290,8 +1283,8 @@ gnc_xml2_write_namespace_decl (FILE *out, const char *name_space)
static void
do_write_namespace_cb (const char *type, gpointer data_p, gpointer file_p)
{
- GncXmlDataType_t *data = data_p;
- FILE *out = file_p;
+ GncXmlDataType_t *data = static_cast<decltype(data)>(data_p);
+ FILE *out = static_cast<decltype(out)>(file_p);
g_return_if_fail (type && data && out);
g_return_if_fail (data->version == GNC_FILE_BACKEND_VERS);
@@ -1608,7 +1601,7 @@ wait_for_gzip(FILE *file)
G_LOCK(threads);
if (threads)
{
- GThread *thread = g_hash_table_lookup(threads, file);
+ GThread *thread = static_cast<decltype(thread)>(g_hash_table_lookup(threads, file));
if (thread)
{
g_hash_table_remove(threads, file);
@@ -1947,7 +1940,7 @@ gnc_xml2_find_ambiguous(const gchar *filename, GList *encodings,
conv_list = NULL;
for (iter = iconv_list; iter; iter = iter->next)
{
- iconv_item = iter->data;
+ iconv_item = static_cast<decltype(iconv_item)>(iter->data);
utf8 = g_convert_with_iconv(word, -1, iconv_item->iconv,
NULL, NULL, &error);
if (utf8)
@@ -2130,7 +2123,7 @@ parse_with_subst_push_handler (xmlParserCtxtPtr xml_context,
error = NULL;
word = g_strndup(start, len);
- repl = g_hash_table_lookup(push_data->subst, word);
+ repl = static_cast<decltype(repl)>(g_hash_table_lookup(push_data->subst, word));
g_free(word);
if (repl)
{
diff --git a/src/backend/xml/io-gncxml-v2.h b/src/backend/xml/io-gncxml-v2.h
index cf819b2..37510af 100644
--- a/src/backend/xml/io-gncxml-v2.h
+++ b/src/backend/xml/io-gncxml-v2.h
@@ -30,48 +30,16 @@
#ifndef IO_GNCXML_V2_H
#define IO_GNCXML_V2_H
-
+#ifdef __cplusplus
+extern "C"
+{
+#endif
#include <glib.h>
#include "gnc-engine.h"
#include "gnc-backend-xml.h"
-#include "sixtp.h"
-
-typedef struct
-{
- int accounts_total;
- int accounts_loaded;
-
- int books_total;
- int books_loaded;
-
- int commodities_total;
- int commodities_loaded;
-
- int transactions_total;
- int transactions_loaded;
-
- int prices_total;
- int prices_loaded;
- int schedXactions_total;
- int schedXactions_loaded;
-
- int budgets_total;
- int budgets_loaded;
-} load_counter;
-
-typedef struct sixtp_gdv2 sixtp_gdv2;
-typedef void (*countCallbackFn)(sixtp_gdv2 *gd, const char *type);
-struct sixtp_gdv2
-{
- QofBook *book;
- load_counter counter;
- countCallbackFn countCallback;
- QofBePercentageFunc gui_display_fn;
- gboolean exporting;
-};
/**
* Struct used to pass in a new data type for XML storage. This contains
@@ -98,18 +66,6 @@ struct sixtp_gdv2
*/
#define GNC_FILE_BACKEND "gnc:file:2"
#define GNC_FILE_BACKEND_VERS 2
-typedef struct
-{
- int version; /* backend version number */
- const char * type_name; /* The XML tag for this type */
-
- sixtp * (*create_parser) (void);
- gboolean (*add_item)(sixtp_gdv2 *, gpointer obj);
- int (*get_count) (QofBook *);
- gboolean (*write) (FILE*, QofBook*);
- void (*scrub) (QofBook *);
- gboolean (*ns) (FILE*);
-} GncXmlDataType_t;
/**
* Struct used to pass the account group/accounts and trasnactions in
@@ -124,9 +80,6 @@ typedef struct
QofBook *book;
} gnc_template_xaction_data;
-/** Call after loading each record */
-void run_callback(sixtp_gdv2 *data, const char *type);
-
/** read in an account group from a file */
gboolean qof_session_load_from_xml_file_v2(FileBackend *, QofBook *, QofBookFileType);
@@ -188,5 +141,7 @@ gint gnc_xml2_find_ambiguous(
*/
gboolean gnc_xml2_parse_with_subst (
FileBackend *fbe, QofBook *book, GHashTable *subst);
-
+#ifdef __cplusplus
+}
+#endif
#endif /* __IO_GNCXML_V2_H__ */
diff --git a/src/backend/xml/io-utils.c b/src/backend/xml/io-utils.cpp
similarity index 94%
rename from src/backend/xml/io-utils.c
rename to src/backend/xml/io-utils.cpp
index 5eba18d..d2b959c 100644
--- a/src/backend/xml/io-utils.c
+++ b/src/backend/xml/io-utils.cpp
@@ -21,17 +21,18 @@
* Boston, MA 02110-1301, USA gnu at gnu.org *
* *
\********************************************************************/
-
+extern "C"
+{
#include "config.h"
#include <stdio.h>
#include <glib.h>
+}
#include "gnc-xml.h"
-#include "gnc-xml.h"
#include "io-utils.h"
-
+#include "sixtp.h"
/*
<!-- Local variables: -->
<!-- mode: C -->
@@ -68,7 +69,7 @@ write_one_account(FILE *out,
return FALSE;
gd->counter.accounts_loaded++;
- run_callback(gd, "account");
+ sixtp_run_callback(gd, "account");
return TRUE;
}
@@ -86,7 +87,8 @@ write_account_tree(FILE *out, Account *root, sixtp_gdv2 *gd)
descendants = gnc_account_get_descendants(root);
for (node = descendants; node; node = g_list_next(node))
{
- if (!write_one_account(out, node->data, gd, allow_incompat))
+ if (!write_one_account(out, static_cast<Account*>(node->data),
+ gd, allow_incompat))
{
success = FALSE;
break;
diff --git a/src/backend/xml/io-utils.h b/src/backend/xml/io-utils.h
index cf5c6e8..9832385 100644
--- a/src/backend/xml/io-utils.h
+++ b/src/backend/xml/io-utils.h
@@ -24,11 +24,13 @@
#ifndef IO_UTILS_H
#define IO_UTILS_H
-
+extern "C"
+{
#include <stdio.h>
+#include "qof.h"
+}
#include "io-gncxml-v2.h"
-#include "qof.h"
gboolean write_account_tree(FILE *out, Account *root, sixtp_gdv2 *gd);
gboolean write_accounts(FILE *out, QofBook *book, sixtp_gdv2 *gd);
diff --git a/src/backend/xml/sixtp-dom-generators.cpp b/src/backend/xml/sixtp-dom-generators.cpp
index b0086c1..f01d9f2 100644
--- a/src/backend/xml/sixtp-dom-generators.cpp
+++ b/src/backend/xml/sixtp-dom-generators.cpp
@@ -27,12 +27,12 @@ extern "C"
#include "config.h"
#include <glib.h>
-#include "gnc-xml-helper.h"
#include <gnc-date.h>
+}
+#include "gnc-xml-helper.h"
#include "sixtp-dom-generators.h"
#include "sixtp-utils.h"
-}
#include <kvp_frame.hpp>
@@ -369,4 +369,3 @@ qof_instance_slots_to_dom_tree(const char *tag, const QofInstance* inst)
frame->for_each_slot(add_kvp_slot, static_cast<void*>(ret));
return ret;
}
-
diff --git a/src/backend/xml/sixtp-dom-generators.h b/src/backend/xml/sixtp-dom-generators.h
index 18b5ff2..83bca84 100644
--- a/src/backend/xml/sixtp-dom-generators.h
+++ b/src/backend/xml/sixtp-dom-generators.h
@@ -24,18 +24,16 @@
#ifndef SIXTP_DOM_GENERATORS_H
#define SIXTP_DOM_GENERATORS_H
-#ifdef __cplusplus
extern "C"
{
-#endif
#include <glib.h>
-#include "gnc-xml-helper.h"
-
-#include "sixtp-dom-generators.h"
#include "gnc-commodity.h"
#include "qof.h"
#include "Recurrence.h"
+}
+
+#include "gnc-xml-helper.h"
xmlNodePtr text_to_dom_tree(const char *tag, const char *str);
xmlNodePtr int_to_dom_tree(const char *tag, gint64 val);
@@ -54,7 +52,4 @@ xmlNodePtr recurrence_to_dom_tree(const gchar *tag, const Recurrence *r);
gchar* double_to_string(double value);
-#ifdef __cplusplus
-}
-#endif
#endif /* _SIXTP_DOM_GENERATORS_H_ */
diff --git a/src/backend/xml/sixtp-dom-parsers.cpp b/src/backend/xml/sixtp-dom-parsers.cpp
index f9354d3..14a15fd 100644
--- a/src/backend/xml/sixtp-dom-parsers.cpp
+++ b/src/backend/xml/sixtp-dom-parsers.cpp
@@ -29,10 +29,10 @@ extern "C"
#include "gnc-xml-helper.h"
#include <gnc-engine.h>
-#include "sixtp-utils.h"
-#include "sixtp-dom-parsers.h"
}
+#include "sixtp-utils.h"
+#include "sixtp-dom-parsers.h"
#include <kvp_frame.hpp>
static QofLogModule log_module = GNC_MOD_IO;
@@ -302,10 +302,7 @@ string_to_binary(const gchar *str, void **v, guint64 *data_len)
static KvpValue* dom_tree_to_kvp_value(xmlNodePtr node);
//needed for test access as well as internal use.
-extern "C"
-{
- KvpFrame* dom_tree_to_kvp_frame(xmlNodePtr node);
-}
+KvpFrame* dom_tree_to_kvp_frame(xmlNodePtr node);
static KvpValue*
dom_tree_to_list_kvp_value(xmlNodePtr node)
diff --git a/src/backend/xml/sixtp-dom-parsers.h b/src/backend/xml/sixtp-dom-parsers.h
index f96db25..ca4a142 100644
--- a/src/backend/xml/sixtp-dom-parsers.h
+++ b/src/backend/xml/sixtp-dom-parsers.h
@@ -23,18 +23,16 @@
#ifndef SIXTP_DOM_PARSERS_H
#define SIXTP_DOM_PARSERS_H
-#ifdef __cplusplus
extern "C"
{
-#endif
-
#include <glib.h>
-#include "gnc-xml-helper.h"
-
#include "gnc-commodity.h"
#include "qof.h"
#include "gnc-budget.h"
+}
+
+#include "gnc-xml-helper.h"
GncGUID* dom_tree_to_guid(xmlNodePtr node);
@@ -78,7 +76,4 @@ gboolean dom_tree_generic_parse(xmlNodePtr node,
struct dom_tree_handler *handlers,
gpointer data);
-#ifdef __cplusplus
-}
-#endif
#endif /* _SIXTP_DOM_PARSERS_H_ */
diff --git a/src/backend/xml/sixtp-stack.c b/src/backend/xml/sixtp-stack.cpp
similarity index 99%
rename from src/backend/xml/sixtp-stack.c
rename to src/backend/xml/sixtp-stack.cpp
index 0cc694b..86ab4f0 100644
--- a/src/backend/xml/sixtp-stack.c
+++ b/src/backend/xml/sixtp-stack.cpp
@@ -20,9 +20,10 @@
* Boston, MA 02110-1301, USA gnu at gnu.org *
* *
********************************************************************/
-
+extern "C"
+{
#include "config.h"
-
+}
#include "sixtp.h"
#include "sixtp-stack.h"
diff --git a/src/backend/xml/sixtp-stack.h b/src/backend/xml/sixtp-stack.h
index 4b59adb..bf5e06a 100644
--- a/src/backend/xml/sixtp-stack.h
+++ b/src/backend/xml/sixtp-stack.h
@@ -23,8 +23,10 @@
#ifndef SIXTP_STACK_H
#define SIXTP_STACK_H
-
+extern "C"
+{
#include <glib.h>
+}
#include "sixtp.h"
diff --git a/src/backend/xml/sixtp-to-dom-parser.c b/src/backend/xml/sixtp-to-dom-parser.cpp
similarity index 98%
rename from src/backend/xml/sixtp-to-dom-parser.c
rename to src/backend/xml/sixtp-to-dom-parser.cpp
index 8f7f532..03be767 100644
--- a/src/backend/xml/sixtp-to-dom-parser.c
+++ b/src/backend/xml/sixtp-to-dom-parser.cpp
@@ -20,12 +20,14 @@
* Boston, MA 02110-1301, USA gnu at gnu.org *
* *
********************************************************************/
-
+extern "C"
+{
#include "config.h"
#include <glib.h>
#include <ctype.h>
+}
#include "sixtp-parsers.h"
#include "sixtp-utils.h"
@@ -84,7 +86,7 @@ dom_fail_handler(gpointer data_for_children,
gpointer *result,
const gchar *tag)
{
- if (*result) xmlFreeNode(*result);
+ if (*result) xmlFreeNode(static_cast<xmlNodePtr>(*result));
}
static gboolean dom_chars_handler(
diff --git a/src/backend/xml/sixtp-utils.c b/src/backend/xml/sixtp-utils.cpp
similarity index 99%
rename from src/backend/xml/sixtp-utils.c
rename to src/backend/xml/sixtp-utils.cpp
index 84474d8..c831bcb 100644
--- a/src/backend/xml/sixtp-utils.c
+++ b/src/backend/xml/sixtp-utils.cpp
@@ -22,7 +22,8 @@
********************************************************************/
#define __EXTENSIONS__
-
+extern "C"
+{
#include "config.h"
#include <ctype.h>
@@ -31,8 +32,6 @@
#include <stdlib.h>
#include <string.h>
-#include "sixtp.h"
-#include "sixtp-utils.h"
#include <time.h>
#include <errno.h>
@@ -42,6 +41,10 @@
#endif
#include <gnc-date.h>
#endif
+}
+
+#include "sixtp.h"
+#include "sixtp-utils.h"
static QofLogModule log_module = GNC_MOD_IO;
diff --git a/src/backend/xml/sixtp-utils.h b/src/backend/xml/sixtp-utils.h
index 86ccc9b..88ccfbf 100644
--- a/src/backend/xml/sixtp-utils.h
+++ b/src/backend/xml/sixtp-utils.h
@@ -23,9 +23,10 @@
#ifndef SIXTP_UTILS_H
#define SIXTP_UTILS_H
-
+extern "C"
+{
#include "qof.h"
-
+}
#include "sixtp.h"
typedef struct
diff --git a/src/backend/xml/sixtp.c b/src/backend/xml/sixtp.cpp
similarity index 96%
rename from src/backend/xml/sixtp.c
rename to src/backend/xml/sixtp.cpp
index 0377274..8886d10 100644
--- a/src/backend/xml/sixtp.c
+++ b/src/backend/xml/sixtp.cpp
@@ -20,7 +20,8 @@
* Boston, MA 02110-1301, USA gnu at gnu.org *
* *
********************************************************************/
-
+extern "C"
+{
#include "config.h"
#include <glib.h>
@@ -34,6 +35,7 @@
typedef int ssize_t;
# define g_fopen fopen
#endif
+}
#include "sixtp.h"
#include "sixtp-parsers.h"
@@ -175,7 +177,7 @@ sixtp_set_any(sixtp *tochange, int cleanup, ...)
do
{
- type = va_arg(ap, sixtp_handler_type);
+ type = static_cast<decltype(type)>(va_arg(ap, int));
switch (type)
{
@@ -397,17 +399,20 @@ sixtp_sax_start_handler(void *user_data,
/* Use an extended lookup so we can get *our* copy of the key.
Since we've strduped it, we know its lifetime... */
- lookup_success = g_hash_table_lookup_extended(current_parser->child_parsers,
- name,
- (gpointer) & next_parser_tag,
- (gpointer) & next_parser);
+ lookup_success =
+ g_hash_table_lookup_extended(current_parser->child_parsers,
+ name,
+ reinterpret_cast<void**>(&next_parser_tag),
+ reinterpret_cast<void**>(&next_parser));
+
if (!lookup_success)
{
/* magic catch all value */
lookup_success = g_hash_table_lookup_extended(
current_parser->child_parsers, SIXTP_MAGIC_CATCHER,
- (gpointer) & next_parser_tag, (gpointer) & next_parser);
+ reinterpret_cast<void**>(&next_parser_tag),
+ reinterpret_cast<void**>(&next_parser));
if (!lookup_success)
{
g_critical("Tag <%s> not allowed in current context.",
@@ -427,8 +432,7 @@ sixtp_sax_start_handler(void *user_data,
/* we're not in the top level node */
sixtp_stack_frame *parent_frame =
(sixtp_stack_frame *) pdata->stack->next->data;
- parent_data_from_children = parent_frame->data_from_children;
- parent_data_from_children = parent_frame->data_for_children;
+ parent_data_from_children = static_cast<decltype(parent_data_from_children)>(parent_frame->data_from_children);
}
pdata->parsing_ok &=
@@ -582,8 +586,7 @@ sixtp_sax_end_handler(void *user_data, const xmlChar *name)
/* we're not in the top level node */
sixtp_stack_frame *parent_frame =
(sixtp_stack_frame *) pdata->stack->next->data;
- parent_data_from_children = parent_frame->data_from_children;
- parent_data_from_children = parent_frame->data_for_children;
+ parent_data_from_children = static_cast<decltype(parent_data_from_children)>(parent_frame->data_for_children);
}
pdata->parsing_ok &=
@@ -765,7 +768,7 @@ static int
sixtp_parser_read(void *context, char *buffer, int len)
{
int ret;
-
+
ret = fread(&buffer[0], sizeof(char), len, (FILE *) context);
if (ret < 0)
g_warning("Error reading XML file");
@@ -780,8 +783,8 @@ sixtp_parse_fd(sixtp *sixtp,
gpointer *parse_result)
{
gboolean ret;
- xmlParserCtxtPtr context = xmlCreateIOParserCtxt( NULL, NULL,
- sixtp_parser_read, NULL /*no close */, fd,
+ xmlParserCtxtPtr context = xmlCreateIOParserCtxt( NULL, NULL,
+ sixtp_parser_read, NULL /*no close */, fd,
XML_CHAR_ENCODING_NONE);
ret = sixtp_parse_file_common(sixtp, context, data_for_top_level,
global_data, parse_result);
@@ -989,4 +992,13 @@ gnc_is_our_first_xml_chunk(char *chunk, gboolean *with_encoding)
return GNC_BOOK_NOT_OURS;
}
+void
+sixtp_run_callback(sixtp_gdv2 *data, const char *type)
+{
+ if (data->countCallback)
+ {
+ data->countCallback(data, type);
+ }
+}
+
/************************* END OF FILE *********************************/
diff --git a/src/backend/xml/sixtp.h b/src/backend/xml/sixtp.h
index 49eb034..62df636 100644
--- a/src/backend/xml/sixtp.h
+++ b/src/backend/xml/sixtp.h
@@ -23,16 +23,52 @@
#ifndef SIXTP_H
#define SIXTP_H
-
+extern "C"
+{
#include <glib.h>
#include <stdio.h>
#include <stdarg.h>
-
-#include "gnc-xml-helper.h"
#include "gnc-engine.h"
+}
+#include "gnc-xml-helper.h"
#include "gnc-backend-xml.h"
+typedef struct sixtp_gdv2 sixtp_gdv2;
+typedef void (*countCallbackFn)(sixtp_gdv2 *gd, const char *type);
+
+typedef struct
+{
+ int accounts_total;
+ int accounts_loaded;
+
+ int books_total;
+ int books_loaded;
+
+ int commodities_total;
+ int commodities_loaded;
+
+ int transactions_total;
+ int transactions_loaded;
+
+ int prices_total;
+ int prices_loaded;
+
+ int schedXactions_total;
+ int schedXactions_loaded;
+
+ int budgets_total;
+ int budgets_loaded;
+} load_counter;
+
+struct sixtp_gdv2
+{
+ QofBook *book;
+ load_counter counter;
+ countCallbackFn countCallback;
+ QofBePercentageFunc gui_display_fn;
+ gboolean exporting;
+};
typedef struct _sixtp_child_result sixtp_child_result;
typedef gboolean (*sixtp_start_handler)(GSList* sibling_data,
@@ -44,23 +80,23 @@ typedef gboolean (*sixtp_start_handler)(GSList* sibling_data,
gchar **attrs);
typedef gboolean (*sixtp_before_child_handler)(gpointer data_for_children,
- GSList* data_from_children,
- GSList* sibling_data,
- gpointer parent_data,
- gpointer global_data,
- gpointer *result,
- const gchar *tag,
- const gchar *child_tag);
+ GSList* data_from_children,
+ GSList* sibling_data,
+ gpointer parent_data,
+ gpointer global_data,
+ gpointer *result,
+ const gchar *tag,
+ const gchar *child_tag);
typedef gboolean (*sixtp_after_child_handler)(gpointer data_for_children,
- GSList* data_from_children,
- GSList* sibling_data,
- gpointer parent_data,
- gpointer global_data,
- gpointer *result,
- const gchar *tag,
- const gchar *child_tag,
- sixtp_child_result *child_result);
+ GSList* data_from_children,
+ GSList* sibling_data,
+ gpointer parent_data,
+ gpointer global_data,
+ gpointer *result,
+ const gchar *tag,
+ const gchar *child_tag,
+ sixtp_child_result *child_result);
typedef gboolean (*sixtp_end_handler)(gpointer data_for_children,
GSList* data_from_children,
@@ -71,11 +107,11 @@ typedef gboolean (*sixtp_end_handler)(gpointer data_for_children,
const gchar *tag);
typedef gboolean (*sixtp_characters_handler)(GSList *sibling_data,
- gpointer parent_data,
- gpointer global_data,
- gpointer *result,
- const char *text,
- int length);
+ gpointer parent_data,
+ gpointer global_data,
+ gpointer *result,
+ const char *text,
+ int length);
typedef void (*sixtp_result_handler)(sixtp_child_result *result);
@@ -163,9 +199,23 @@ typedef struct sixtp_sax_data
sixtp *bad_xml_parser;
} sixtp_sax_data;
+typedef struct
+{
+ int version; /* backend version number */
+ const char * type_name; /* The XML tag for this type */
+
+ sixtp * (*create_parser) (void);
+ gboolean (*add_item)(sixtp_gdv2 *, gpointer obj);
+ int (*get_count) (QofBook *);
+ gboolean (*write) (FILE*, QofBook*);
+ void (*scrub) (QofBook *);
+ gboolean (*ns) (FILE*);
+} GncXmlDataType_t;
+
+
gboolean is_child_result_from_node_named(sixtp_child_result *cr,
- const char *tag);
+ const char *tag);
void sixtp_child_free_data(sixtp_child_result *result);
void sixtp_child_result_destroy(sixtp_child_result *r);
void sixtp_child_result_print(sixtp_child_result *cr, FILE *f);
@@ -216,6 +266,7 @@ QofBookFileType gnc_is_our_xml_file(const char *filename,
gboolean *with_encoding);
QofBookFileType gnc_is_our_first_xml_chunk(char *chunk, gboolean *with_encoding);
-
+/** Call after loading each record */
+void sixtp_run_callback(sixtp_gdv2 *data, const char *type);
#endif /* _SIXTP_H_ */
diff --git a/src/backend/xml/test/Makefile.am b/src/backend/xml/test/Makefile.am
index 4ebda5e..abbd231 100644
--- a/src/backend/xml/test/Makefile.am
+++ b/src/backend/xml/test/Makefile.am
@@ -4,33 +4,40 @@ SUBDIRS = test-files
test_date_converting_SOURCES = \
${top_srcdir}/src/backend/xml/sixtp-dom-parsers.cpp \
${top_srcdir}/src/backend/xml/sixtp-dom-generators.cpp \
- ${top_srcdir}/src/backend/xml/sixtp-utils.c \
- ${top_srcdir}/src/backend/xml/sixtp.c \
- ${top_srcdir}/src/backend/xml/sixtp-stack.c \
- ${top_srcdir}/src/backend/xml/sixtp-to-dom-parser.c \
- ${top_srcdir}/src/backend/xml/gnc-xml-helper.c \
- test-date-converting.c
+ ${top_srcdir}/src/backend/xml/sixtp-utils.cpp \
+ ${top_srcdir}/src/backend/xml/sixtp.cpp \
+ ${top_srcdir}/src/backend/xml/sixtp-stack.cpp \
+ ${top_srcdir}/src/backend/xml/sixtp-to-dom-parser.cpp \
+ ${top_srcdir}/src/backend/xml/gnc-xml-helper.cpp \
+ test-date-converting.cpp
test_dom_converters1_SOURCES = \
${top_srcdir}/src/backend/xml/sixtp-dom-parsers.cpp \
${top_srcdir}/src/backend/xml/sixtp-dom-generators.cpp \
- ${top_srcdir}/src/backend/xml/sixtp-utils.c \
- ${top_srcdir}/src/backend/xml/sixtp.c \
- ${top_srcdir}/src/backend/xml/sixtp-stack.c \
- ${top_srcdir}/src/backend/xml/sixtp-to-dom-parser.c \
- ${top_srcdir}/src/backend/xml/gnc-xml-helper.c \
- test-dom-converters1.c
+ ${top_srcdir}/src/backend/xml/sixtp-utils.cpp \
+ ${top_srcdir}/src/backend/xml/sixtp.cpp \
+ ${top_srcdir}/src/backend/xml/sixtp-stack.cpp \
+ ${top_srcdir}/src/backend/xml/sixtp-to-dom-parser.cpp \
+ ${top_srcdir}/src/backend/xml/gnc-xml-helper.cpp \
+ test-dom-converters1.cpp
test_kvp_frames_SOURCES = \
${top_srcdir}/src/backend/xml/sixtp-dom-parsers.cpp \
${top_srcdir}/src/backend/xml/sixtp-dom-generators.cpp \
- ${top_srcdir}/src/backend/xml/sixtp-utils.c \
- ${top_srcdir}/src/backend/xml/sixtp.c \
- ${top_srcdir}/src/backend/xml/sixtp-stack.c \
- ${top_srcdir}/src/backend/xml/sixtp-to-dom-parser.c \
- ${top_srcdir}/src/backend/xml/gnc-xml-helper.c \
+ ${top_srcdir}/src/backend/xml/sixtp-utils.cpp \
+ ${top_srcdir}/src/backend/xml/sixtp.cpp \
+ ${top_srcdir}/src/backend/xml/sixtp-stack.cpp \
+ ${top_srcdir}/src/backend/xml/sixtp-to-dom-parser.cpp \
+ ${top_srcdir}/src/backend/xml/gnc-xml-helper.cpp \
test-kvp-frames.cpp
+test_load_backend_SOURCES = \
+test-load-backend.cpp
+test_load_xml2_SOURCES = \
+test-load-xml2.cpp
+test_save_in_lang_SOURCES = \
+test-save-in-lang.cpp
+
# the xml backend is now a GModule - this test does
# not load it as a module and cannot link to it
# and remain portable.
@@ -38,151 +45,151 @@ test_kvp_frames_SOURCES = \
test_load_example_account_SOURCES = \
${top_srcdir}/src/backend/xml/sixtp-dom-parsers.cpp \
${top_srcdir}/src/backend/xml/sixtp-dom-generators.cpp \
- ${top_srcdir}/src/backend/xml/sixtp-utils.c \
- ${top_srcdir}/src/backend/xml/sixtp.c \
- ${top_srcdir}/src/backend/xml/sixtp-stack.c \
- ${top_srcdir}/src/backend/xml/sixtp-to-dom-parser.c \
- ${top_srcdir}/src/backend/xml/io-example-account.c \
- ${top_srcdir}/src/backend/xml/io-gncxml-gen.c \
- ${top_srcdir}/src/backend/xml/io-gncxml-v2.c \
- ${top_srcdir}/src/backend/xml/io-utils.c \
- ${top_srcdir}/src/backend/xml/gnc-account-xml-v2.c \
- ${top_srcdir}/src/backend/xml/gnc-budget-xml-v2.c \
- ${top_srcdir}/src/backend/xml/gnc-lot-xml-v2.c \
- ${top_srcdir}/src/backend/xml/gnc-recurrence-xml-v2.c \
- ${top_srcdir}/src/backend/xml/gnc-schedxaction-xml-v2.c \
- ${top_srcdir}/src/backend/xml/gnc-freqspec-xml-v2.c \
- ${top_srcdir}/src/backend/xml/gnc-transaction-xml-v2.c \
- ${top_srcdir}/src/backend/xml/gnc-commodity-xml-v2.c \
- ${top_srcdir}/src/backend/xml/gnc-book-xml-v2.c \
- ${top_srcdir}/src/backend/xml/gnc-pricedb-xml-v2.c \
- ${top_srcdir}/src/backend/xml/gnc-xml-helper.c \
- test-load-example-account.c
+ ${top_srcdir}/src/backend/xml/sixtp-utils.cpp \
+ ${top_srcdir}/src/backend/xml/sixtp.cpp \
+ ${top_srcdir}/src/backend/xml/sixtp-stack.cpp \
+ ${top_srcdir}/src/backend/xml/sixtp-to-dom-parser.cpp \
+ ${top_srcdir}/src/backend/xml/io-example-account.cpp \
+ ${top_srcdir}/src/backend/xml/io-gncxml-gen.cpp \
+ ${top_srcdir}/src/backend/xml/io-gncxml-v2.cpp \
+ ${top_srcdir}/src/backend/xml/io-utils.cpp \
+ ${top_srcdir}/src/backend/xml/gnc-account-xml-v2.cpp \
+ ${top_srcdir}/src/backend/xml/gnc-budget-xml-v2.cpp \
+ ${top_srcdir}/src/backend/xml/gnc-lot-xml-v2.cpp \
+ ${top_srcdir}/src/backend/xml/gnc-recurrence-xml-v2.cpp \
+ ${top_srcdir}/src/backend/xml/gnc-schedxaction-xml-v2.cpp \
+ ${top_srcdir}/src/backend/xml/gnc-freqspec-xml-v2.cpp \
+ ${top_srcdir}/src/backend/xml/gnc-transaction-xml-v2.cpp \
+ ${top_srcdir}/src/backend/xml/gnc-commodity-xml-v2.cpp \
+ ${top_srcdir}/src/backend/xml/gnc-book-xml-v2.cpp \
+ ${top_srcdir}/src/backend/xml/gnc-pricedb-xml-v2.cpp \
+ ${top_srcdir}/src/backend/xml/gnc-xml-helper.cpp \
+ test-load-example-account.cpp
test_string_converters_SOURCES = \
${top_srcdir}/src/backend/xml/sixtp-dom-parsers.cpp \
${top_srcdir}/src/backend/xml/sixtp-dom-generators.cpp \
- ${top_srcdir}/src/backend/xml/sixtp-utils.c \
- ${top_srcdir}/src/backend/xml/sixtp.c \
- ${top_srcdir}/src/backend/xml/sixtp-stack.c \
- ${top_srcdir}/src/backend/xml/sixtp-to-dom-parser.c \
- ${top_srcdir}/src/backend/xml/gnc-xml-helper.c \
- test-string-converters.c
+ ${top_srcdir}/src/backend/xml/sixtp-utils.cpp \
+ ${top_srcdir}/src/backend/xml/sixtp.cpp \
+ ${top_srcdir}/src/backend/xml/sixtp-stack.cpp \
+ ${top_srcdir}/src/backend/xml/sixtp-to-dom-parser.cpp \
+ ${top_srcdir}/src/backend/xml/gnc-xml-helper.cpp \
+ test-string-converters.cpp
test_xml_account_SOURCES = \
${top_srcdir}/src/backend/xml/sixtp-dom-parsers.cpp \
${top_srcdir}/src/backend/xml/sixtp-dom-generators.cpp \
- ${top_srcdir}/src/backend/xml/sixtp-utils.c \
- ${top_srcdir}/src/backend/xml/sixtp.c \
- ${top_srcdir}/src/backend/xml/sixtp-stack.c \
- ${top_srcdir}/src/backend/xml/sixtp-to-dom-parser.c \
- ${top_srcdir}/src/backend/xml/io-gncxml-gen.c \
- ${top_srcdir}/src/backend/xml/gnc-account-xml-v2.c \
- ${top_srcdir}/src/backend/xml/gnc-lot-xml-v2.c \
- ${top_srcdir}/src/backend/xml/gnc-schedxaction-xml-v2.c \
- ${top_srcdir}/src/backend/xml/gnc-recurrence-xml-v2.c \
- ${top_srcdir}/src/backend/xml/gnc-freqspec-xml-v2.c \
- ${top_srcdir}/src/backend/xml/gnc-transaction-xml-v2.c \
- ${top_srcdir}/src/backend/xml/gnc-commodity-xml-v2.c \
- ${top_srcdir}/src/backend/xml/gnc-book-xml-v2.c \
- ${top_srcdir}/src/backend/xml/gnc-pricedb-xml-v2.c \
- ${top_srcdir}/src/backend/xml/gnc-budget-xml-v2.c \
- ${top_srcdir}/src/backend/xml/io-gncxml-v2.c \
- ${top_srcdir}/src/backend/xml/io-utils.c \
- ${top_srcdir}/src/backend/xml/gnc-xml-helper.c \
- test-xml-account.c
+ ${top_srcdir}/src/backend/xml/sixtp-utils.cpp \
+ ${top_srcdir}/src/backend/xml/sixtp.cpp \
+ ${top_srcdir}/src/backend/xml/sixtp-stack.cpp \
+ ${top_srcdir}/src/backend/xml/sixtp-to-dom-parser.cpp \
+ ${top_srcdir}/src/backend/xml/io-gncxml-gen.cpp \
+ ${top_srcdir}/src/backend/xml/gnc-account-xml-v2.cpp \
+ ${top_srcdir}/src/backend/xml/gnc-lot-xml-v2.cpp \
+ ${top_srcdir}/src/backend/xml/gnc-schedxaction-xml-v2.cpp \
+ ${top_srcdir}/src/backend/xml/gnc-recurrence-xml-v2.cpp \
+ ${top_srcdir}/src/backend/xml/gnc-freqspec-xml-v2.cpp \
+ ${top_srcdir}/src/backend/xml/gnc-transaction-xml-v2.cpp \
+ ${top_srcdir}/src/backend/xml/gnc-commodity-xml-v2.cpp \
+ ${top_srcdir}/src/backend/xml/gnc-book-xml-v2.cpp \
+ ${top_srcdir}/src/backend/xml/gnc-pricedb-xml-v2.cpp \
+ ${top_srcdir}/src/backend/xml/gnc-budget-xml-v2.cpp \
+ ${top_srcdir}/src/backend/xml/io-gncxml-v2.cpp \
+ ${top_srcdir}/src/backend/xml/io-utils.cpp \
+ ${top_srcdir}/src/backend/xml/gnc-xml-helper.cpp \
+ test-xml-account.cpp
test_xml_commodity_SOURCES = \
${top_srcdir}/src/backend/xml/sixtp-dom-parsers.cpp \
${top_srcdir}/src/backend/xml/sixtp-dom-generators.cpp \
- ${top_srcdir}/src/backend/xml/sixtp-utils.c \
- ${top_srcdir}/src/backend/xml/sixtp.c \
- ${top_srcdir}/src/backend/xml/sixtp-stack.c \
- ${top_srcdir}/src/backend/xml/sixtp-to-dom-parser.c \
- ${top_srcdir}/src/backend/xml/io-gncxml-gen.c \
- ${top_srcdir}/src/backend/xml/gnc-account-xml-v2.c \
- ${top_srcdir}/src/backend/xml/gnc-lot-xml-v2.c \
- ${top_srcdir}/src/backend/xml/gnc-schedxaction-xml-v2.c \
- ${top_srcdir}/src/backend/xml/gnc-recurrence-xml-v2.c \
- ${top_srcdir}/src/backend/xml/gnc-freqspec-xml-v2.c \
- ${top_srcdir}/src/backend/xml/gnc-transaction-xml-v2.c \
- ${top_srcdir}/src/backend/xml/gnc-commodity-xml-v2.c \
- ${top_srcdir}/src/backend/xml/gnc-book-xml-v2.c \
- ${top_srcdir}/src/backend/xml/gnc-pricedb-xml-v2.c \
- ${top_srcdir}/src/backend/xml/gnc-budget-xml-v2.c \
- ${top_srcdir}/src/backend/xml/io-gncxml-v2.c \
- ${top_srcdir}/src/backend/xml/io-utils.c \
- ${top_srcdir}/src/backend/xml/gnc-xml-helper.c \
- test-xml-commodity.c
+ ${top_srcdir}/src/backend/xml/sixtp-utils.cpp \
+ ${top_srcdir}/src/backend/xml/sixtp.cpp \
+ ${top_srcdir}/src/backend/xml/sixtp-stack.cpp \
+ ${top_srcdir}/src/backend/xml/sixtp-to-dom-parser.cpp \
+ ${top_srcdir}/src/backend/xml/io-gncxml-gen.cpp \
+ ${top_srcdir}/src/backend/xml/gnc-account-xml-v2.cpp \
+ ${top_srcdir}/src/backend/xml/gnc-lot-xml-v2.cpp \
+ ${top_srcdir}/src/backend/xml/gnc-schedxaction-xml-v2.cpp \
+ ${top_srcdir}/src/backend/xml/gnc-recurrence-xml-v2.cpp \
+ ${top_srcdir}/src/backend/xml/gnc-freqspec-xml-v2.cpp \
+ ${top_srcdir}/src/backend/xml/gnc-transaction-xml-v2.cpp \
+ ${top_srcdir}/src/backend/xml/gnc-commodity-xml-v2.cpp \
+ ${top_srcdir}/src/backend/xml/gnc-book-xml-v2.cpp \
+ ${top_srcdir}/src/backend/xml/gnc-pricedb-xml-v2.cpp \
+ ${top_srcdir}/src/backend/xml/gnc-budget-xml-v2.cpp \
+ ${top_srcdir}/src/backend/xml/io-gncxml-v2.cpp \
+ ${top_srcdir}/src/backend/xml/io-utils.cpp \
+ ${top_srcdir}/src/backend/xml/gnc-xml-helper.cpp \
+ test-xml-commodity.cpp
test_xml_pricedb_SOURCES = \
${top_srcdir}/src/backend/xml/sixtp-dom-parsers.cpp \
${top_srcdir}/src/backend/xml/sixtp-dom-generators.cpp \
- ${top_srcdir}/src/backend/xml/sixtp-utils.c \
- ${top_srcdir}/src/backend/xml/sixtp.c \
- ${top_srcdir}/src/backend/xml/sixtp-stack.c \
- ${top_srcdir}/src/backend/xml/sixtp-to-dom-parser.c \
- ${top_srcdir}/src/backend/xml/io-gncxml-gen.c \
- ${top_srcdir}/src/backend/xml/gnc-account-xml-v2.c \
- ${top_srcdir}/src/backend/xml/gnc-lot-xml-v2.c \
- ${top_srcdir}/src/backend/xml/gnc-schedxaction-xml-v2.c \
- ${top_srcdir}/src/backend/xml/gnc-recurrence-xml-v2.c \
- ${top_srcdir}/src/backend/xml/gnc-freqspec-xml-v2.c \
- ${top_srcdir}/src/backend/xml/gnc-transaction-xml-v2.c \
- ${top_srcdir}/src/backend/xml/gnc-commodity-xml-v2.c \
- ${top_srcdir}/src/backend/xml/gnc-book-xml-v2.c \
- ${top_srcdir}/src/backend/xml/gnc-pricedb-xml-v2.c \
- ${top_srcdir}/src/backend/xml/gnc-budget-xml-v2.c \
- ${top_srcdir}/src/backend/xml/io-gncxml-v2.c \
- ${top_srcdir}/src/backend/xml/io-utils.c \
- ${top_srcdir}/src/backend/xml/gnc-xml-helper.c \
- test-xml-pricedb.c
+ ${top_srcdir}/src/backend/xml/sixtp-utils.cpp \
+ ${top_srcdir}/src/backend/xml/sixtp.cpp \
+ ${top_srcdir}/src/backend/xml/sixtp-stack.cpp \
+ ${top_srcdir}/src/backend/xml/sixtp-to-dom-parser.cpp \
+ ${top_srcdir}/src/backend/xml/io-gncxml-gen.cpp \
+ ${top_srcdir}/src/backend/xml/gnc-account-xml-v2.cpp \
+ ${top_srcdir}/src/backend/xml/gnc-lot-xml-v2.cpp \
+ ${top_srcdir}/src/backend/xml/gnc-schedxaction-xml-v2.cpp \
+ ${top_srcdir}/src/backend/xml/gnc-recurrence-xml-v2.cpp \
+ ${top_srcdir}/src/backend/xml/gnc-freqspec-xml-v2.cpp \
+ ${top_srcdir}/src/backend/xml/gnc-transaction-xml-v2.cpp \
+ ${top_srcdir}/src/backend/xml/gnc-commodity-xml-v2.cpp \
+ ${top_srcdir}/src/backend/xml/gnc-book-xml-v2.cpp \
+ ${top_srcdir}/src/backend/xml/gnc-pricedb-xml-v2.cpp \
+ ${top_srcdir}/src/backend/xml/gnc-budget-xml-v2.cpp \
+ ${top_srcdir}/src/backend/xml/io-gncxml-v2.cpp \
+ ${top_srcdir}/src/backend/xml/io-utils.cpp \
+ ${top_srcdir}/src/backend/xml/gnc-xml-helper.cpp \
+ test-xml-pricedb.cpp
test_xml_transaction_SOURCES = \
${top_srcdir}/src/backend/xml/sixtp-dom-parsers.cpp \
${top_srcdir}/src/backend/xml/sixtp-dom-generators.cpp \
- ${top_srcdir}/src/backend/xml/sixtp-utils.c \
- ${top_srcdir}/src/backend/xml/sixtp.c \
- ${top_srcdir}/src/backend/xml/sixtp-stack.c \
- ${top_srcdir}/src/backend/xml/sixtp-to-dom-parser.c \
- ${top_srcdir}/src/backend/xml/io-gncxml-gen.c \
- ${top_srcdir}/src/backend/xml/gnc-account-xml-v2.c \
- ${top_srcdir}/src/backend/xml/gnc-budget-xml-v2.c \
- ${top_srcdir}/src/backend/xml/gnc-lot-xml-v2.c \
- ${top_srcdir}/src/backend/xml/gnc-schedxaction-xml-v2.c \
- ${top_srcdir}/src/backend/xml/gnc-freqspec-xml-v2.c \
- ${top_srcdir}/src/backend/xml/gnc-recurrence-xml-v2.c \
- ${top_srcdir}/src/backend/xml/gnc-transaction-xml-v2.c \
- ${top_srcdir}/src/backend/xml/gnc-commodity-xml-v2.c \
- ${top_srcdir}/src/backend/xml/gnc-book-xml-v2.c \
- ${top_srcdir}/src/backend/xml/gnc-pricedb-xml-v2.c \
- ${top_srcdir}/src/backend/xml/io-gncxml-v2.c \
- ${top_srcdir}/src/backend/xml/io-utils.c \
- ${top_srcdir}/src/backend/xml/gnc-xml-helper.c \
- test-xml-transaction.c
+ ${top_srcdir}/src/backend/xml/sixtp-utils.cpp \
+ ${top_srcdir}/src/backend/xml/sixtp.cpp \
+ ${top_srcdir}/src/backend/xml/sixtp-stack.cpp \
+ ${top_srcdir}/src/backend/xml/sixtp-to-dom-parser.cpp \
+ ${top_srcdir}/src/backend/xml/io-gncxml-gen.cpp \
+ ${top_srcdir}/src/backend/xml/gnc-account-xml-v2.cpp \
+ ${top_srcdir}/src/backend/xml/gnc-budget-xml-v2.cpp \
+ ${top_srcdir}/src/backend/xml/gnc-lot-xml-v2.cpp \
+ ${top_srcdir}/src/backend/xml/gnc-schedxaction-xml-v2.cpp \
+ ${top_srcdir}/src/backend/xml/gnc-freqspec-xml-v2.cpp \
+ ${top_srcdir}/src/backend/xml/gnc-recurrence-xml-v2.cpp \
+ ${top_srcdir}/src/backend/xml/gnc-transaction-xml-v2.cpp \
+ ${top_srcdir}/src/backend/xml/gnc-commodity-xml-v2.cpp \
+ ${top_srcdir}/src/backend/xml/gnc-book-xml-v2.cpp \
+ ${top_srcdir}/src/backend/xml/gnc-pricedb-xml-v2.cpp \
+ ${top_srcdir}/src/backend/xml/io-gncxml-v2.cpp \
+ ${top_srcdir}/src/backend/xml/io-utils.cpp \
+ ${top_srcdir}/src/backend/xml/gnc-xml-helper.cpp \
+ test-xml-transaction.cpp
test_xml2_is_file_SOURCES = \
${top_srcdir}/src/backend/xml/sixtp-dom-parsers.cpp \
${top_srcdir}/src/backend/xml/sixtp-dom-generators.cpp \
- ${top_srcdir}/src/backend/xml/sixtp-utils.c \
- ${top_srcdir}/src/backend/xml/sixtp.c \
- ${top_srcdir}/src/backend/xml/sixtp-stack.c \
- ${top_srcdir}/src/backend/xml/sixtp-to-dom-parser.c \
- ${top_srcdir}/src/backend/xml/gnc-account-xml-v2.c \
- ${top_srcdir}/src/backend/xml/gnc-budget-xml-v2.c \
- ${top_srcdir}/src/backend/xml/gnc-lot-xml-v2.c \
- ${top_srcdir}/src/backend/xml/gnc-recurrence-xml-v2.c \
- ${top_srcdir}/src/backend/xml/gnc-schedxaction-xml-v2.c \
- ${top_srcdir}/src/backend/xml/gnc-freqspec-xml-v2.c \
- ${top_srcdir}/src/backend/xml/gnc-transaction-xml-v2.c \
- ${top_srcdir}/src/backend/xml/gnc-commodity-xml-v2.c \
- ${top_srcdir}/src/backend/xml/gnc-book-xml-v2.c \
- ${top_srcdir}/src/backend/xml/gnc-pricedb-xml-v2.c \
- ${top_srcdir}/src/backend/xml/io-gncxml-gen.c \
- ${top_srcdir}/src/backend/xml/io-gncxml-v2.c \
- ${top_srcdir}/src/backend/xml/io-utils.c \
- ${top_srcdir}/src/backend/xml/gnc-xml-helper.c \
- test-xml2-is-file.c
+ ${top_srcdir}/src/backend/xml/sixtp-utils.cpp \
+ ${top_srcdir}/src/backend/xml/sixtp.cpp \
+ ${top_srcdir}/src/backend/xml/sixtp-stack.cpp \
+ ${top_srcdir}/src/backend/xml/sixtp-to-dom-parser.cpp \
+ ${top_srcdir}/src/backend/xml/gnc-account-xml-v2.cpp \
+ ${top_srcdir}/src/backend/xml/gnc-budget-xml-v2.cpp \
+ ${top_srcdir}/src/backend/xml/gnc-lot-xml-v2.cpp \
+ ${top_srcdir}/src/backend/xml/gnc-recurrence-xml-v2.cpp \
+ ${top_srcdir}/src/backend/xml/gnc-schedxaction-xml-v2.cpp \
+ ${top_srcdir}/src/backend/xml/gnc-freqspec-xml-v2.cpp \
+ ${top_srcdir}/src/backend/xml/gnc-transaction-xml-v2.cpp \
+ ${top_srcdir}/src/backend/xml/gnc-commodity-xml-v2.cpp \
+ ${top_srcdir}/src/backend/xml/gnc-book-xml-v2.cpp \
+ ${top_srcdir}/src/backend/xml/gnc-pricedb-xml-v2.cpp \
+ ${top_srcdir}/src/backend/xml/io-gncxml-gen.cpp \
+ ${top_srcdir}/src/backend/xml/io-gncxml-v2.cpp \
+ ${top_srcdir}/src/backend/xml/io-utils.cpp \
+ ${top_srcdir}/src/backend/xml/gnc-xml-helper.cpp \
+ test-xml2-is-file.cpp
TESTS = \
test-date-converting \
@@ -271,8 +278,8 @@ AM_CPPFLAGS = \
EXTRA_DIST = \
grab-types.pl \
- test-dom-parser1.c \
+ test-dom-parser1.cpp \
test-real-data.sh \
- test-xml2-is-file.c
+ test-xml2-is-file.cpp
AM_CPPFLAGS += -DG_LOG_DOMAIN=\"gnc.backend.xml\"
diff --git a/src/backend/xml/test/test-date-converting.c b/src/backend/xml/test/test-date-converting.cpp
similarity index 99%
rename from src/backend/xml/test/test-date-converting.c
rename to src/backend/xml/test/test-date-converting.cpp
index 9821410..5ae3834 100644
--- a/src/backend/xml/test/test-date-converting.c
+++ b/src/backend/xml/test/test-date-converting.cpp
@@ -18,15 +18,17 @@
* *
\********************************************************************/
-
+extern "C"
+{
#include "config.h"
#include "test-stuff.h"
#include "test-engine-stuff.h"
-#include "test-file-stuff.h"
#include <stdlib.h>
+}
+#include "test-file-stuff.h"
#include "sixtp-utils.h"
#include "sixtp-dom-generators.h"
diff --git a/src/backend/xml/test/test-dom-converters1.c b/src/backend/xml/test/test-dom-converters1.cpp
similarity index 96%
rename from src/backend/xml/test/test-dom-converters1.c
rename to src/backend/xml/test/test-dom-converters1.cpp
index ff47955..e7335df 100644
--- a/src/backend/xml/test/test-dom-converters1.c
+++ b/src/backend/xml/test/test-dom-converters1.cpp
@@ -21,7 +21,8 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
*/
-
+extern "C"
+{
#include "config.h"
#include <stdlib.h>
@@ -33,16 +34,17 @@
#include "test-engine-stuff.h"
#include "test-file-stuff.h"
#include "cashobjects.h"
-#include "gnc-xml-helper.h"
#include "gnc-engine.h"
+#include "gnc-commodity.h"
+}
+
+#include "gnc-xml-helper.h"
#include "sixtp.h"
#include "sixtp-parsers.h"
#include "sixtp-utils.h"
#include "sixtp-dom-parsers.h"
#include "sixtp-dom-generators.h"
-#include "gnc-commodity.h"
-
#define GNC_V2_STRING "gnc-v2"
const gchar *gnc_v2_xml_version_string = GNC_V2_STRING;
@@ -172,10 +174,10 @@ test_dom_tree_to_timespec(void)
}
}
-static gchar *
+static const char *
test_gnc_nums_internal(gnc_numeric to_test)
{
- gchar *ret = NULL;
+ const char *ret = NULL;
gnc_numeric *to_compare = NULL;
xmlNodePtr to_gen = NULL;
@@ -219,18 +221,16 @@ test_dom_tree_to_gnc_numeric(void)
for (i = 0; i < 20; i++)
{
- gchar *message = NULL;
- message = test_gnc_nums_internal(get_random_gnc_numeric(GNC_DENOM_AUTO));
+ const char *message =
+ test_gnc_nums_internal(get_random_gnc_numeric(GNC_DENOM_AUTO));
do_test_args(message == NULL, "dom_tree_to_gnc_numeric",
__FILE__, __LINE__, message);
}
{
- gchar *message = NULL;
-
- message = test_gnc_nums_internal
+ const char *message = test_gnc_nums_internal
(gnc_numeric_create(18768786810LL, 100000));
do_test_args(message == NULL, "gnc_num 18768786810/100000",
diff --git a/src/backend/xml/test/test-dom-parser1.c b/src/backend/xml/test/test-dom-parser1.cpp
similarity index 99%
rename from src/backend/xml/test/test-dom-parser1.c
rename to src/backend/xml/test/test-dom-parser1.cpp
index 8f9dae1..d236d39 100644
--- a/src/backend/xml/test/test-dom-parser1.c
+++ b/src/backend/xml/test/test-dom-parser1.cpp
@@ -17,7 +17,8 @@
* Boston, MA 02110-1301, USA gnu at gnu.org *
* *
\********************************************************************/
-
+extern "C"
+{
#include "config.h"
#include <stdlib.h>
@@ -26,6 +27,7 @@
#include <glib.h>
#include "test-stuff.h"
+}
#include "gnc-xml-helper.h"
#include "sixtp.h"
diff --git a/src/backend/xml/test/test-file-stuff.cpp b/src/backend/xml/test/test-file-stuff.cpp
index 86017e0..dc71d1e 100644
--- a/src/backend/xml/test/test-file-stuff.cpp
+++ b/src/backend/xml/test/test-file-stuff.cpp
@@ -20,8 +20,6 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
*/
-#include <kvp_frame.hpp>
-
extern "C"
{
#include "config.h"
@@ -37,10 +35,13 @@ extern "C"
#include <glib/gstdio.h>
#include "gnc-engine.h"
+#include "test-stuff.h"
+}
+
+#include "test-file-stuff.h"
+#include <kvp_frame.hpp>
#include "sixtp-dom-parsers.h"
#include "sixtp-parsers.h"
-#include "test-file-stuff.h"
-#include "test-stuff.h"
#include "io-gncxml-gen.h"
#include "sixtp-utils.h"
/*
@@ -49,7 +50,6 @@ extern "C"
/***********************************************************************/
extern KvpFrame* dom_tree_to_kvp_frame(xmlNodePtr node);
-}
static int
files_return(int ret, const char* msg)
@@ -118,7 +118,7 @@ print_dom_tree(gpointer data_for_children, GSList* data_from_children,
}
gboolean
-check_dom_tree_version(xmlNodePtr node, gchar *verstr)
+check_dom_tree_version(xmlNodePtr node, const char *verstr)
{
char *verteststr;
diff --git a/src/backend/xml/test/test-file-stuff.h b/src/backend/xml/test/test-file-stuff.h
index b7bc8ee..53f77d0 100644
--- a/src/backend/xml/test/test-file-stuff.h
+++ b/src/backend/xml/test/test-file-stuff.h
@@ -24,14 +24,13 @@
#ifndef TEST_FILE_STUFF_H
#define TEST_FILE_STUFF_H
-#ifdef __cplusplus
extern "C"
{
-#endif
#include <glib.h>
#include <gnc-commodity.h>
#include <gnc-engine.h>
+}
#include <gnc-xml-helper.h>
#include <io-gncxml-gen.h>
#include <sixtp.h>
@@ -51,7 +50,7 @@ gboolean print_dom_tree(gpointer data_for_children, GSList* data_from_children,
const gchar *tag);
/**/
-gboolean check_dom_tree_version(xmlNodePtr node, gchar *verstr);
+gboolean check_dom_tree_version(xmlNodePtr node, const char *verstr);
gboolean equals_node_val_vs_string(xmlNodePtr node, const gchar* str);
gboolean equals_node_val_vs_guid(xmlNodePtr node, const GncGUID *id);
gboolean equals_node_val_vs_commodity(xmlNodePtr node,
@@ -65,7 +64,4 @@ void
test_files_in_dir(int argc, char **argv, gxpf_callback cb,
sixtp *parser, const char *parser_tag,
QofBook *book);
-#ifdef __cplusplus
-}
-#endif
#endif
diff --git a/src/backend/xml/test/test-kvp-frames.cpp b/src/backend/xml/test/test-kvp-frames.cpp
index dca51d1..7d6a596 100644
--- a/src/backend/xml/test/test-kvp-frames.cpp
+++ b/src/backend/xml/test/test-kvp-frames.cpp
@@ -8,17 +8,17 @@ extern "C"
#include "test-stuff.h"
#include "test-engine-stuff.h"
-#include "test-file-stuff.h"
#include "qof.h"
+}
+#include "test-file-stuff.h"
#include "sixtp-dom-generators.h"
#include "sixtp-dom-parsers.h"
#define GNC_V2_STRING "gnc-v2"
const gchar *gnc_v2_xml_version_string = GNC_V2_STRING;
extern KvpFrame* dom_tree_to_kvp_frame(xmlNodePtr node);
-}
static void
test_kvp_get_slot(int run,
diff --git a/src/backend/xml/test/test-load-backend.c b/src/backend/xml/test/test-load-backend.cpp
similarity index 99%
rename from src/backend/xml/test/test-load-backend.c
rename to src/backend/xml/test/test-load-backend.cpp
index e6f985d..d531c5b 100644
--- a/src/backend/xml/test/test-load-backend.c
+++ b/src/backend/xml/test/test-load-backend.cpp
@@ -24,11 +24,13 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
*/
-
+extern "C"
+{
#include "config.h"
#include "qof.h"
#include "cashobjects.h"
#include "test-stuff.h"
+}
#define GNC_LIB_NAME "gncmod-backend-xml"
diff --git a/src/backend/xml/test/test-load-example-account.c b/src/backend/xml/test/test-load-example-account.cpp
similarity index 99%
rename from src/backend/xml/test/test-load-example-account.c
rename to src/backend/xml/test/test-load-example-account.cpp
index 984cf01..1c0411c 100644
--- a/src/backend/xml/test/test-load-example-account.c
+++ b/src/backend/xml/test/test-load-example-account.cpp
@@ -20,10 +20,10 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
*/
-
+extern "C"
+{
#include "config.h"
#include <glib.h>
-#include <libguile.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
@@ -34,13 +34,15 @@
#include "gnc-module.h"
#include "gnc-engine.h"
-#include "io-gncxml-v2.h"
-
-#include "io-example-account.h"
-
#include "test-stuff.h"
#include "test-engine-stuff.h"
+}
+
+#include <libguile.h>
#include "test-file-stuff.h"
+#include "io-gncxml-v2.h"
+
+#include "io-example-account.h"
static const gchar *da_ending = ".gnucash-xea";
diff --git a/src/backend/xml/test/test-load-xml2.c b/src/backend/xml/test/test-load-xml2.cpp
similarity index 94%
rename from src/backend/xml/test/test-load-xml2.c
rename to src/backend/xml/test/test-load-xml2.cpp
index 34592ca..838fc09 100644
--- a/src/backend/xml/test/test-load-xml2.c
+++ b/src/backend/xml/test/test-load-xml2.cpp
@@ -25,7 +25,8 @@
/* @file test-load-xml2.c
* @brief test the loading of a version-2 gnucash XML file
*/
-
+extern "C"
+{
#include "config.h"
#include <stdlib.h>
#include <sys/types.h>
@@ -40,14 +41,16 @@
#include <cashobjects.h>
#include <TransLog.h>
#include <gnc-engine.h>
-#include "../gnc-backend-xml.h"
-#include "../io-gncxml-v2.h"
#include <gnc-prefs.h>
#include <test-stuff.h>
#include <unittest-support.h>
#include <test-engine-stuff.h>
-#include <test-file-stuff.h>
+}
+
+#include "../gnc-backend-xml.h"
+#include "../io-gncxml-v2.h"
+#include "test-file-stuff.h"
#define GNC_LIB_NAME "gncmod-backend-xml"
@@ -81,9 +84,9 @@ test_load_file(const char *filename)
QofBook *book;
Account *root;
gboolean ignore_lock;
- gchar *logdomain = "backend.xml";
- guint loglevel = G_LOG_LEVEL_WARNING;
- TestErrorStruct check = { loglevel, logdomain, NULL };
+ const char *logdomain = "backend.xml";
+ GLogLevelFlags loglevel = static_cast<decltype(loglevel)>(G_LOG_LEVEL_WARNING);
+ TestErrorStruct check = { loglevel, const_cast<char*>(logdomain), NULL };
g_log_set_handler (logdomain, loglevel,
(GLogFunc)test_checked_handler, &check);
diff --git a/src/backend/xml/test/test-save-in-lang.c b/src/backend/xml/test/test-save-in-lang.cpp
similarity index 99%
rename from src/backend/xml/test/test-save-in-lang.c
rename to src/backend/xml/test/test-save-in-lang.cpp
index 31d3a77..89f6873 100644
--- a/src/backend/xml/test/test-save-in-lang.c
+++ b/src/backend/xml/test/test-save-in-lang.cpp
@@ -17,7 +17,8 @@
* Boston, MA 02110-1301, USA gnu at gnu.org *
* *
\********************************************************************/
-
+extern "C"
+{
#include "config.h"
#include <glib.h>
#include <glib/gstdio.h>
@@ -35,7 +36,7 @@
#include "gnc-engine.h"
#include "TransLog.h"
-
+}
#include "io-gncxml-v2.h"
const char *possible_envs[] =
diff --git a/src/backend/xml/test/test-string-converters.c b/src/backend/xml/test/test-string-converters.cpp
similarity index 85%
rename from src/backend/xml/test/test-string-converters.c
rename to src/backend/xml/test/test-string-converters.cpp
index c2814b7..0653810 100644
--- a/src/backend/xml/test/test-string-converters.c
+++ b/src/backend/xml/test/test-string-converters.cpp
@@ -17,24 +17,26 @@
* Boston, MA 02110-1301, USA gnu at gnu.org *
* *
\********************************************************************/
-
+extern "C"
+{
#include "config.h"
#include <stdlib.h>
-
-#include "sixtp-dom-parsers.h"
-#include "sixtp-dom-generators.h"
-
#include "gnc-engine.h"
#include "test-stuff.h"
#include "test-engine-stuff.h"
#include "test-file-stuff.h"
+}
+
+#include "sixtp-dom-parsers.h"
+#include "sixtp-dom-generators.h"
+
#define GNC_V2_STRING "gnc-v2"
const gchar *gnc_v2_xml_version_string = GNC_V2_STRING;
-static char *test_strings[] =
+static const char *test_strings[] =
{
"FooBar",
"<Ugly crap>",
@@ -47,16 +49,13 @@ static char *test_strings[] =
static void
test_string_converters(void)
{
- char *mark;
int i;
- for (i = 0, mark = test_strings[i]; mark; i++, mark = test_strings[i])
+ for (i = 0; test_strings[i]; ++i)
{
- xmlNodePtr test_node;
- gchar *backout;
- test_node = text_to_dom_tree("test-string", mark);
-
- backout = dom_tree_to_text(test_node);
+ const char *mark = test_strings[i];
+ xmlNodePtr test_node = text_to_dom_tree("test-string", mark);
+ char *backout = dom_tree_to_text(test_node);
do_test_args(
g_strcmp0(backout, mark) == 0,
@@ -67,12 +66,11 @@ test_string_converters(void)
static void
test_bad_string (void)
{
- gchar *badstr = "foo\abar";
- gchar *sanitized = "foo?bar";
- gchar *backout;
+ const char *badstr = "foo\abar";
+ const char *sanitized = "foo?bar";
xmlNodePtr test_node = text_to_dom_tree ("test-string", badstr);
- backout = dom_tree_to_text (test_node);
+ char *backout = dom_tree_to_text (test_node);
do_test_args (g_strcmp0 (backout, sanitized) == 0,
"string sanitizing", __FILE__, __LINE__,
"with string %s", badstr);
diff --git a/src/backend/xml/test/test-xml-account.c b/src/backend/xml/test/test-xml-account.cpp
similarity index 95%
rename from src/backend/xml/test/test-xml-account.c
rename to src/backend/xml/test/test-xml-account.cpp
index 8055489..75ac7c2 100644
--- a/src/backend/xml/test/test-xml-account.c
+++ b/src/backend/xml/test/test-xml-account.cpp
@@ -21,28 +21,30 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
*/
-
+extern "C"
+{
#include "config.h"
#include <glib.h>
#include <glib/gstdio.h>
#include <stdlib.h>
#include <unistd.h>
-
-#include "../gnc-xml-helper.h"
-#include "../gnc-xml.h"
#include <gnc-engine.h>
#include <cashobjects.h>
-#include "../sixtp-parsers.h"
-#include "../sixtp-dom-parsers.h"
#include <test-stuff.h>
#include <test-engine-stuff.h>
-#include <test-file-stuff.h>
#include <unittest-support.h>
#include "Account.h"
#include "Scrub.h"
+}
+
+#include "../gnc-xml-helper.h"
+#include "../gnc-xml.h"
+#include "../sixtp-parsers.h"
+#include "../sixtp-dom-parsers.h"
+#include "test-file-stuff.h"
static QofBook *sixbook;
@@ -88,7 +90,7 @@ node_and_account_equal(xmlNodePtr node, Account *act)
else if (g_strcmp0((char*)mark->name, "act:type") == 0)
{
gchar *txt;
- int type;
+ GNCAccountType type;
txt = dom_tree_to_text(mark);
@@ -208,7 +210,7 @@ typedef struct act_data_struct act_data;
static gboolean
test_add_account(const char *tag, gpointer globaldata, gpointer data)
{
- Account *account = data;
+ Account *account = static_cast<decltype(account)>(data);
act_data *gdata = (act_data*)globaldata;
gnc_commodity * com;
gnc_commodity * new_com;
@@ -320,10 +322,11 @@ test_generation()
{
/* empty some things. */
Account *act;
- gchar *msg = "xaccAccountSetCommodity: assertion `GNC_IS_COMMODITY(com)' failed";
- gchar *logdomain = "gnc.engine";
- guint loglevel = G_LOG_LEVEL_CRITICAL;
- TestErrorStruct check = { loglevel, logdomain, msg };
+ const char *msg = "xaccAccountSetCommodity: assertion `GNC_IS_COMMODITY(com)' failed";
+ const char *logdomain = "gnc.engine";
+ GLogLevelFlags loglevel = static_cast<decltype(loglevel)>(G_LOG_LEVEL_CRITICAL);
+ TestErrorStruct check = { loglevel, const_cast<char*>(logdomain),
+ const_cast<char*>(msg) };
g_log_set_handler (logdomain, loglevel,
(GLogFunc)test_checked_handler, &check);
diff --git a/src/backend/xml/test/test-xml-commodity.c b/src/backend/xml/test/test-xml-commodity.cpp
similarity index 98%
rename from src/backend/xml/test/test-xml-commodity.c
rename to src/backend/xml/test/test-xml-commodity.cpp
index cc6677b..049f972 100644
--- a/src/backend/xml/test/test-xml-commodity.c
+++ b/src/backend/xml/test/test-xml-commodity.cpp
@@ -17,7 +17,8 @@
* Boston, MA 02110-1301, USA gnu at gnu.org *
* *
\********************************************************************/
-
+extern "C"
+{
#include "config.h"
#include <glib.h>
@@ -26,26 +27,24 @@
#include <unistd.h>
#include "gnc-module.h"
-#include "gnc-xml-helper.h"
-#include "gnc-xml.h"
#include "qof.h"
+#include "test-stuff.h"
+#include "test-engine-stuff.h"
+#include "Account.h"
+}
+
+#include "gnc-xml-helper.h"
+#include "gnc-xml.h"
#include "sixtp-parsers.h"
#include "sixtp-utils.h"
-
#include "sixtp-dom-parsers.h"
-
#include "io-gncxml-gen.h"
-
-#include "test-stuff.h"
-#include "test-engine-stuff.h"
#include "test-file-stuff.h"
-#include "Account.h"
-
static QofBook *book;
-static gchar*
+static const char*
node_and_commodity_equal(xmlNodePtr node, const gnc_commodity *com)
{
xmlNodePtr mark;
@@ -180,7 +179,6 @@ test_generation(void)
xmlNodePtr test_node;
gchar *filename1;
int fd;
- gchar *compare_msg;
ran_com = get_random_commodity(book);
@@ -192,9 +190,8 @@ test_generation(void)
gnc_commodity_destroy(ran_com);
continue;
}
-
- if ((compare_msg = node_and_commodity_equal(test_node, ran_com)) !=
- NULL)
+ auto compare_msg = node_and_commodity_equal(test_node, ran_com);
+ if (compare_msg != nullptr)
{
failure_args("commodity_xml", __FILE__, __LINE__,
"node and commodity were not equal: %s", compare_msg);
diff --git a/src/backend/xml/test/test-xml-pricedb.c b/src/backend/xml/test/test-xml-pricedb.cpp
similarity index 94%
rename from src/backend/xml/test/test-xml-pricedb.c
rename to src/backend/xml/test/test-xml-pricedb.cpp
index 4bc97b1..708edee 100644
--- a/src/backend/xml/test/test-xml-pricedb.c
+++ b/src/backend/xml/test/test-xml-pricedb.cpp
@@ -21,7 +21,8 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
*/
-
+extern "C"
+{
#include "config.h"
#include <glib.h>
@@ -29,19 +30,21 @@
#include <stdlib.h>
#include <unistd.h>
-#include "gnc-xml-helper.h"
-#include "gnc-xml.h"
#include "cashobjects.h"
#include "gnc-engine.h"
#include "gnc-pricedb.h"
-#include "sixtp-parsers.h"
-#include "sixtp-dom-parsers.h"
-
#include "test-stuff.h"
#include "test-engine-stuff.h"
-#include "test-file-stuff.h"
+}
+
+#include "gnc-xml-helper.h"
+#include "gnc-xml.h"
+#include "sixtp.h"
+#include "sixtp-parsers.h"
+#include "sixtp-dom-parsers.h"
#include "io-gncxml-v2.h"
+#include "test-file-stuff.h"
static QofSession *session;
static int iter;
@@ -49,10 +52,11 @@ static int iter;
static gboolean
test_add_pricedb (const char *tag, gpointer globaldata, gpointer data)
{
- sixtp_gdv2 *gdata = globaldata;
- GNCPriceDB *db = gnc_pricedb_get_db (gdata->book);
+ sixtp_gdv2 *gdata = static_cast<decltype(gdata)>(globaldata);
+ GNCPriceDB *db1 = static_cast<decltype(db1)>(data);
+ GNCPriceDB *db2 = gnc_pricedb_get_db (gdata->book);
- do_test_args (gnc_pricedb_equal(data, db),
+ do_test_args (gnc_pricedb_equal(db1, db2),
"gnc_pricedb_sixtp_parser_create",
__FILE__, __LINE__, "%d", iter);
diff --git a/src/backend/xml/test/test-xml-transaction.c b/src/backend/xml/test/test-xml-transaction.cpp
similarity index 92%
rename from src/backend/xml/test/test-xml-transaction.c
rename to src/backend/xml/test/test-xml-transaction.cpp
index 3d58da2..02f7a5f 100644
--- a/src/backend/xml/test/test-xml-transaction.c
+++ b/src/backend/xml/test/test-xml-transaction.cpp
@@ -21,7 +21,8 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
*/
-
+extern "C"
+{
#include "config.h"
#include <glib.h>
@@ -33,24 +34,25 @@
#include <dirent.h>
#include <sys/stat.h>
-#include "../gnc-xml-helper.h"
-#include "../gnc-xml.h"
#include <gnc-engine.h>
#include <cashobjects.h>
-#include "../sixtp-parsers.h"
-
-#include "../sixtp-dom-parsers.h"
#include <TransLog.h>
-#include "../io-gncxml-gen.h"
#include <test-stuff.h>
#include <test-engine-stuff.h>
-#include <test-file-stuff.h>
#include <unittest-support.h>
#include <AccountP.h>
#include <Transaction.h>
#include <TransactionP.h>
+}
+
+#include "../gnc-xml-helper.h"
+#include "../gnc-xml.h"
+#include "../sixtp-parsers.h"
+#include "../sixtp-dom-parsers.h"
+#include "../io-gncxml-gen.h"
+#include <test-file-stuff.h>
static QofBook *book;
@@ -102,7 +104,7 @@ find_appropriate_node(xmlNodePtr node, Split *spl)
return NULL;
}
-static char *
+static const char *
equals_node_val_vs_split_internal(xmlNodePtr node, Split* spl)
{
xmlNodePtr mark;
@@ -199,12 +201,11 @@ equals_node_val_vs_split_internal(xmlNodePtr node, Split* spl)
return NULL;
}
-static char *
+static const char *
equals_node_val_vs_splits(xmlNodePtr node, const Transaction *trn)
{
xmlNodePtr spl_node;
Split *spl_mark;
- char *msg;
int i;
g_return_val_if_fail(node, FALSE);
@@ -224,7 +225,7 @@ equals_node_val_vs_splits(xmlNodePtr node, const Transaction *trn)
return "no matching split found";
}
- msg = equals_node_val_vs_split_internal(spl_node, spl_mark);
+ const char *msg = equals_node_val_vs_split_internal(spl_node, spl_mark);
if (msg != NULL)
{
return msg;
@@ -234,7 +235,7 @@ equals_node_val_vs_splits(xmlNodePtr node, const Transaction *trn)
return NULL;
}
-static gchar*
+static const char*
node_and_transaction_equal(xmlNodePtr node, Transaction *trn)
{
xmlNodePtr mark;
@@ -315,7 +316,7 @@ node_and_transaction_equal(xmlNodePtr node, Transaction *trn)
}
else if (g_strcmp0((char*)mark->name, "trn:splits") == 0)
{
- char *msg = equals_node_val_vs_splits (mark, trn);
+ const char *msg = equals_node_val_vs_splits (mark, trn);
if (msg != NULL)
{
return msg;
@@ -350,8 +351,8 @@ typedef struct tran_data_struct tran_data;
static gboolean
test_add_transaction(const char *tag, gpointer globaldata, gpointer data)
{
- Transaction *trans = data;
- tran_data *gdata = (tran_data*)globaldata;
+ Transaction *trans = static_cast<decltype(trans)>(data);
+ tran_data *gdata = static_cast<decltype(gdata)>(globaldata);
gboolean retval = TRUE;
xaccTransBeginEdit (trans);
@@ -379,7 +380,6 @@ test_transaction(void)
Transaction *ran_trn;
xmlNodePtr test_node;
gnc_commodity *com, *new_com;
- gchar *compare_msg;
gchar *filename1;
int fd;
@@ -401,7 +401,7 @@ test_transaction(void)
GList * node = list;
for ( ; node; node = node->next)
{
- Split * s = node->data;
+ Split * s = static_cast<decltype(s)>(node->data);
Account * a = xaccMallocAccount(book);
xaccAccountBeginEdit (a);
@@ -423,9 +423,8 @@ test_transaction(void)
really_get_rid_of_transaction(ran_trn);
continue;
}
-
- if ((compare_msg = node_and_transaction_equal(test_node, ran_trn)) !=
- NULL)
+ auto compare_msg = node_and_transaction_equal(test_node, ran_trn);
+ if (compare_msg != nullptr)
{
failure_args("transaction_xml", __FILE__, __LINE__,
"node and transaction were not equal: %s",
@@ -454,7 +453,7 @@ test_transaction(void)
GList * node = xaccTransGetSplitList (ran_trn);
for ( ; node; node = node->next)
{
- Split * s = node->data;
+ Split * s = static_cast<decltype(s)>(node->data);
Account * a1 = xaccSplitGetAccount(s);
Account * a2 = xaccMallocAccount(book);
@@ -469,10 +468,11 @@ test_transaction(void)
sixtp *parser;
tran_data data;
- gchar *msg = "[xaccAccountScrubCommodity()] Account \"\" does not have a commodity!";
- gchar *logdomain = "gnc.engine.scrub";
- guint loglevel = G_LOG_LEVEL_CRITICAL;
- TestErrorStruct check = { loglevel, logdomain, msg };
+ const char *msg = "[xaccAccountScrubCommodity()] Account \"\" does not have a commodity!";
+ const char *logdomain = "gnc.engine.scrub";
+ GLogLevelFlags loglevel = static_cast<decltype(loglevel)>(G_LOG_LEVEL_CRITICAL);
+ TestErrorStruct check = { loglevel, const_cast<char*>(logdomain),
+ const_cast<char*>(msg) };
g_log_set_handler (logdomain, loglevel,
(GLogFunc)test_checked_handler, &check);
data.trn = ran_trn;
@@ -487,11 +487,11 @@ test_transaction(void)
__FILE__, __LINE__, "%d", i);
}
else
- really_get_rid_of_transaction (data.new_trn);
-
- /* no handling of circular data structures. We'll do that later */
- /* sixtp_destroy(parser); */
+ really_get_rid_of_transaction(data.new_trn);
}
+ /* no handling of circular data structures. We'll do that later */
+ /* sixtp_destroy(parser); */
+
g_unlink(filename1);
g_free(filename1);
diff --git a/src/backend/xml/test/test-xml2-is-file.c b/src/backend/xml/test/test-xml2-is-file.cpp
similarity index 93%
rename from src/backend/xml/test/test-xml2-is-file.c
rename to src/backend/xml/test/test-xml2-is-file.cpp
index a21ece9..3cab137 100644
--- a/src/backend/xml/test/test-xml2-is-file.c
+++ b/src/backend/xml/test/test-xml2-is-file.cpp
@@ -17,15 +17,17 @@
* Boston, MA 02110-1301, USA gnu at gnu.org *
* *
\********************************************************************/
-
+extern "C"
+{
#include "config.h"
#include <stdlib.h>
#include <string.h>
-#include "io-gncxml-v2.h"
-
#include "test-stuff.h"
#include "test-engine-stuff.h"
+}
+
+#include "io-gncxml-v2.h"
#include "test-file-stuff.h"
#define FILENAME "Money95bank_fr.gml2"
@@ -34,14 +36,13 @@ int
main(int argc, char **argv)
{
const char *directory = g_getenv("GNC_TEST_FILES");
- char *filename;
if (!directory)
{
directory = "test-files/xml2";
}
- filename = malloc(strlen(directory) + 1 + strlen(FILENAME) + 1);
+ char *filename = static_cast<decltype(filename)>(malloc(strlen(directory) + 1 + strlen(FILENAME) + 1));
sprintf(filename, "%s/%s", directory, FILENAME);
do_test(gnc_is_xml_data_file_v2(filename, NULL), "gnc_is_xml_data_file_v2");
diff --git a/src/gnome-utils/assistant-xml-encoding.c b/src/gnome-utils/assistant-xml-encoding.c
index 6179dfb..5f20b10 100644
--- a/src/gnome-utils/assistant-xml-encoding.c
+++ b/src/gnome-utils/assistant-xml-encoding.c
@@ -1403,4 +1403,3 @@ gxi_selected_enc_activated_cb (GtkTreeView *view, GtkTreePath *path,
return;
gxi_remove_encoding (data, model, &iter);
}
-
commit 0178492663ab84560951c5e1214503c96d2fa5e7
Author: John Ralls <jralls at ceridwen.us>
Date: Sat Nov 28 13:40:55 2015 -0800
Convert SQL & DBI backends to compile as C++.
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 2bd15cc..3c6067b 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -38,30 +38,30 @@ src/app-utils/option-util.c
src/app-utils/prefs.scm
src/app-utils/QuickFill.c
src/app-utils/simple-obj.scm
-src/backend/dbi/gnc-backend-dbi.c
-src/backend/sql/escape.c
-src/backend/sql/gnc-account-sql.c
-src/backend/sql/gnc-address-sql.c
-src/backend/sql/gnc-backend-sql.c
-src/backend/sql/gnc-bill-term-sql.c
-src/backend/sql/gnc-book-sql.c
-src/backend/sql/gnc-budget-sql.c
-src/backend/sql/gnc-commodity-sql.c
-src/backend/sql/gnc-customer-sql.c
-src/backend/sql/gnc-employee-sql.c
-src/backend/sql/gnc-entry-sql.c
-src/backend/sql/gnc-invoice-sql.c
-src/backend/sql/gnc-job-sql.c
-src/backend/sql/gnc-lots-sql.c
-src/backend/sql/gnc-order-sql.c
-src/backend/sql/gnc-owner-sql.c
-src/backend/sql/gnc-price-sql.c
-src/backend/sql/gnc-recurrence-sql.c
-src/backend/sql/gnc-schedxaction-sql.c
+src/backend/dbi/gnc-backend-dbi.cpp
+src/backend/sql/escape.cpp
+src/backend/sql/gnc-account-sql.cpp
+src/backend/sql/gnc-address-sql.cpp
+src/backend/sql/gnc-backend-sql.cpp
+src/backend/sql/gnc-bill-term-sql.cpp
+src/backend/sql/gnc-book-sql.cpp
+src/backend/sql/gnc-budget-sql.cpp
+src/backend/sql/gnc-commodity-sql.cpp
+src/backend/sql/gnc-customer-sql.cpp
+src/backend/sql/gnc-employee-sql.cpp
+src/backend/sql/gnc-entry-sql.cpp
+src/backend/sql/gnc-invoice-sql.cpp
+src/backend/sql/gnc-job-sql.cpp
+src/backend/sql/gnc-lots-sql.cpp
+src/backend/sql/gnc-order-sql.cpp
+src/backend/sql/gnc-owner-sql.cpp
+src/backend/sql/gnc-price-sql.cpp
+src/backend/sql/gnc-recurrence-sql.cpp
+src/backend/sql/gnc-schedxaction-sql.cpp
src/backend/sql/gnc-slots-sql.cpp
-src/backend/sql/gnc-tax-table-sql.c
-src/backend/sql/gnc-transaction-sql.c
-src/backend/sql/gnc-vendor-sql.c
+src/backend/sql/gnc-tax-table-sql.cpp
+src/backend/sql/gnc-transaction-sql.cpp
+src/backend/sql/gnc-vendor-sql.cpp
src/backend/xml/gnc-account-xml-v2.c
src/backend/xml/gnc-address-xml-v2.c
src/backend/xml/gnc-backend-xml.c
diff --git a/src/backend/dbi/Makefile.am b/src/backend/dbi/Makefile.am
index 193df03..708cd36 100644
--- a/src/backend/dbi/Makefile.am
+++ b/src/backend/dbi/Makefile.am
@@ -20,7 +20,7 @@ AM_CPPFLAGS = \
${WARN_CFLAGS}
libgncmod_backend_dbi_la_SOURCES = \
- gnc-backend-dbi.c
+ gnc-backend-dbi.cpp
noinst_HEADERS = \
gnc-backend-dbi.h \
diff --git a/src/backend/dbi/gnc-backend-dbi-priv.h b/src/backend/dbi/gnc-backend-dbi-priv.h
index 8037e22..cbd3feb 100644
--- a/src/backend/dbi/gnc-backend-dbi-priv.h
+++ b/src/backend/dbi/gnc-backend-dbi-priv.h
@@ -22,8 +22,14 @@
/* Private structures and variables for gnc-backend-dbi.c and its unit tests */
#ifndef GNC_BACKEND_DBI_PRIV_H
#define GNC_BACKEND_DBI_PRIV_H
-
+#ifdef __cplusplus
+extern "C"
+{
+#endif
#include <dbi/dbi.h>
+#ifdef __cplusplus
+}
+#endif
#include "gnc-backend-sql.h"
/**
diff --git a/src/backend/dbi/gnc-backend-dbi.c b/src/backend/dbi/gnc-backend-dbi.cpp
similarity index 99%
rename from src/backend/dbi/gnc-backend-dbi.c
rename to src/backend/dbi/gnc-backend-dbi.cpp
index 68f0de8..ebb4a41 100644
--- a/src/backend/dbi/gnc-backend-dbi.c
+++ b/src/backend/dbi/gnc-backend-dbi.cpp
@@ -25,7 +25,8 @@
* This file implements the top-level QofBackend API for saving/
* restoring data to/from an SQL db using libdbi
*/
-
+extern "C"
+{
#include "config.h"
#include <platform.h>
@@ -37,8 +38,6 @@
#include <glib.h>
#include <glib/gstdio.h>
-#include "gnc-backend-dbi-priv.h"
-
#include "qof.h"
#include "qofquery-p.h"
#include "qofquerycore-p.h"
@@ -53,8 +52,6 @@
#include <gnc-path.h>
#include "gnc-locale-utils.h"
-#include "gnc-backend-dbi.h"
-
#include "gnc-prefs.h"
#ifdef S_SPLINT_S
@@ -79,6 +76,11 @@ static dbi_inst dbi_instance = NULL;
/* For direct access to dbi data structs, sadly needed for datetime */
#include <dbi/dbi-dev.h>
+}
+
+#include "gnc-backend-dbi.h"
+#include "gnc-backend-dbi-priv.h"
+
#define GNC_HOST_NAME_MAX 255
#define TRANSACTION_NAME "trans"
@@ -226,8 +228,8 @@ gnc_dbi_verify_conn( GncDbiSqlConnection* dbi_conn )
static void
create_tables_cb( const gchar* type, gpointer data_p, gpointer be_p )
{
- GncSqlObjectBackend* pData = data_p;
- GncDbiBackend* be = be_p;
+ GncSqlObjectBackend* pData = static_cast<decltype(pData)>(data_p);
+ GncDbiBackend* be = static_cast<decltype(be)>(be_p);
g_return_if_fail( type != NULL && data_p != NULL && be_p != NULL );
g_return_if_fail( pData->version == GNC_SQL_BACKEND_VERSION );
@@ -239,13 +241,13 @@ create_tables_cb( const gchar* type, gpointer data_p, gpointer be_p )
}
static void
-sqlite3_error_fn( dbi_conn conn, /*@ unused @*/ void* user_data )
+sqlite3_error_fn(dbi_conn conn, void* user_data)
{
const gchar* msg;
-
- (void)dbi_conn_error( conn, &msg );
+ GncDbiSqlConnection *db_conn = static_cast<decltype(db_conn)>(conn);
+ (void)dbi_conn_error(db_conn, &msg);
PERR( "DBI error: %s\n", msg );
- gnc_dbi_set_error( conn, ERR_BACKEND_MISC, 0, FALSE );
+ gnc_dbi_set_error(db_conn, ERR_BACKEND_MISC, 0, FALSE);
}
static void
@@ -258,7 +260,7 @@ gnc_dbi_sqlite3_session_begin( QofBackend *qbe, QofSession *session,
gchar* dirname = NULL;
gchar* basename = NULL;
gchar *filepath = NULL;
- gchar *msg = " ";
+ const char *msg = nullptr;
gboolean file_exists;
GncDbiTestResult dbi_test_result = GNC_DBI_PASS;
@@ -270,8 +272,9 @@ gnc_dbi_sqlite3_session_begin( QofBackend *qbe, QofSession *session,
/* Remove uri type if present */
filepath = gnc_uri_get_path ( book_id );
- file_exists = g_file_test( filepath,
- G_FILE_TEST_IS_REGULAR | G_FILE_TEST_EXISTS );
+ GFileTest ftest = static_cast<decltype(ftest)>(
+ G_FILE_TEST_IS_REGULAR | G_FILE_TEST_EXISTS) ;
+ file_exists = g_file_test( filepath, ftest);
if ( !create && !file_exists )
{
qof_backend_set_error( qbe, ERR_FILEIO_FILE_NOT_FOUND );
@@ -1669,7 +1672,7 @@ gnc_dbi_safe_sync_all( QofBackend *qbe, QofBook *book )
for ( iter = index_list; iter != NULL; iter = g_slist_next( iter) )
{
const char *errmsg;
- conn->provider->drop_index (conn->conn, iter->data);
+ conn->provider->drop_index (conn->conn, static_cast<char*>(iter->data));
if ( DBI_ERROR_NONE != dbi_conn_error( conn->conn, &errmsg ) )
{
qof_backend_set_error( qbe, ERR_BACKEND_SERVER_ERR );
@@ -2590,7 +2593,7 @@ add_columns_ddl( GncSqlConnection* conn,
static void
append_sqlite3_col_def( GString* ddl, GncSqlColumnInfo* info )
{
- gchar* type_name;
+ const char* type_name = nullptr;
if ( info->type == BCT_INT )
{
@@ -2669,7 +2672,7 @@ conn_create_table_ddl_sqlite3( GncSqlConnection* conn,
static void
append_mysql_col_def( GString* ddl, GncSqlColumnInfo* info )
{
- gchar* type_name;
+ const char* type_name = nullptr;
if ( info->type == BCT_INT )
{
@@ -2760,7 +2763,7 @@ conn_create_table_ddl_mysql( GncSqlConnection* conn, const gchar* table_name,
static void
append_pgsql_col_def( GString* ddl, GncSqlColumnInfo* info )
{
- gchar* type_name;
+ const char* type_name = nullptr;
if ( info->type == BCT_INT )
{
diff --git a/src/backend/dbi/gnc-backend-dbi.h b/src/backend/dbi/gnc-backend-dbi.h
index f228134..ecb0d22 100644
--- a/src/backend/dbi/gnc-backend-dbi.h
+++ b/src/backend/dbi/gnc-backend-dbi.h
@@ -28,7 +28,10 @@
#ifndef GNC_BACKEND_DBI_H_
#define GNC_BACKEND_DBI_H_
-
+#ifdef __cplusplus
+extern "C"
+{
+#endif
#include <gmodule.h>
/** Initialization function which can be used when this module is
@@ -45,5 +48,7 @@ void gnc_module_finalize_backend_dbi(void);
G_MODULE_EXPORT void qof_backend_module_init(void);
G_MODULE_EXPORT void qof_backend_module_finalize(void);
#endif
-
+#ifdef __cplusplus
+}
+#endif
#endif /* GNC_BACKEND_DBI_H_ */
diff --git a/src/backend/dbi/test/Makefile.am b/src/backend/dbi/test/Makefile.am
index 3e2c2ee..a963b98 100644
--- a/src/backend/dbi/test/Makefile.am
+++ b/src/backend/dbi/test/Makefile.am
@@ -58,10 +58,10 @@ gnc_dbd_dir_override = GNC_DBD_DIR="@GNC_DBD_DIR@"
endif
test_backend_dbi_SOURCES = \
- test-backend-dbi.c \
+ test-backend-dbi.cpp \
test-backend-dbi-basic.cpp \
test-dbi-stuff.cpp \
- test-dbi-business-stuff.c
+ test-dbi-business-stuff.cpp
test_backend_dbi_LDFLAGS="-ldbi"
test_backend_dbi_CPPFLAGS = \
diff --git a/src/backend/dbi/test/test-backend-dbi-basic.cpp b/src/backend/dbi/test/test-backend-dbi-basic.cpp
index 5225b44..47bbce4 100644
--- a/src/backend/dbi/test/test-backend-dbi-basic.cpp
+++ b/src/backend/dbi/test/test-backend-dbi-basic.cpp
@@ -37,8 +37,6 @@ extern "C"
#include <qof.h>
#include <unittest-support.h>
#include <test-stuff.h>
-#include <test-dbi-stuff.h>
-#include <test-dbi-business-stuff.h>
/* For cleaning up the database */
#include <dbi/dbi.h>
#include <gnc-uri-utils.h>
@@ -51,12 +49,14 @@ extern "C"
#include "gncAddress.h"
#include "gncCustomer.h"
#include "gncInvoice.h"
-/* For test_conn_index_functions */
-#include "../gnc-backend-dbi-priv.h"
/* For version_control */
#include <gnc-prefs.h>
#include <qofsession-p.h>
}
+/* For test_conn_index_functions */
+#include "test-dbi-stuff.h"
+#include "test-dbi-business-stuff.h"
+#include "../gnc-backend-dbi-priv.h"
#if LIBDBI_VERSION >= 900
#define HAVE_LIBDBI_R 1
@@ -66,7 +66,7 @@ static dbi_inst dbi_instance = NULL;
#endif
static const gchar* suitename = "/backend/dbi";
-extern "C" void test_suite_gnc_backend_dbi (void);
+void test_suite_gnc_backend_dbi (void);
typedef struct
{
@@ -616,7 +616,7 @@ create_dbi_test_suite (const char *dbm_name, const char *url)
}
-extern "C" void
+void
test_suite_gnc_backend_dbi (void)
{
dbi_driver driver = NULL;
diff --git a/src/backend/dbi/test/test-backend-dbi.c b/src/backend/dbi/test/test-backend-dbi.cpp
similarity index 99%
rename from src/backend/dbi/test/test-backend-dbi.c
rename to src/backend/dbi/test/test-backend-dbi.cpp
index 6b493f4..282dace 100644
--- a/src/backend/dbi/test/test-backend-dbi.c
+++ b/src/backend/dbi/test/test-backend-dbi.cpp
@@ -20,12 +20,13 @@
* Boston, MA 02110-1301, USA gnu at gnu.org *
\********************************************************************/
-
+extern "C"
+{
#include "config.h"
#include <glib.h>
#include "qof.h"
#include "cashobjects.h"
-
+}
extern void test_suite_gnc_backend_dbi ();
#define GNC_LIB_NAME "gncmod-backend-dbi"
diff --git a/src/backend/dbi/test/test-dbi-business-stuff.c b/src/backend/dbi/test/test-dbi-business-stuff.cpp
similarity index 99%
rename from src/backend/dbi/test/test-dbi-business-stuff.c
rename to src/backend/dbi/test/test-dbi-business-stuff.cpp
index de1932d..6657189 100644
--- a/src/backend/dbi/test/test-dbi-business-stuff.c
+++ b/src/backend/dbi/test/test-dbi-business-stuff.cpp
@@ -22,14 +22,13 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
*/
-
+extern "C"
+{
#include "config.h"
#include "qof.h"
#include "cashobjects.h"
#include "test-engine-stuff.h"
#include "test-stuff.h"
-#include "test-dbi-stuff.h"
-#include "test-dbi-business-stuff.h"
#include <unittest-support.h>
#include "Account.h"
@@ -40,6 +39,10 @@
#include "gncInvoice.h"
#include "gncEmployee.h"
#include "gncVendor.h"
+}
+
+#include "test-dbi-stuff.h"
+#include "test-dbi-business-stuff.h"
G_GNUC_UNUSED static QofLogModule log_module = "test-dbi";
@@ -188,4 +191,3 @@ compare_business_books( QofBook* book_1, QofBook* book_2 )
compare_jobs( book_1, book_2 );
compare_vendors( book_1, book_2 );
}
-
diff --git a/src/backend/dbi/test/test-dbi-stuff.cpp b/src/backend/dbi/test/test-dbi-stuff.cpp
index f9e4899..f053c26 100644
--- a/src/backend/dbi/test/test-dbi-stuff.cpp
+++ b/src/backend/dbi/test/test-dbi-stuff.cpp
@@ -37,10 +37,10 @@ extern "C"
#include <gnc-commodity.h>
#include <SX-book.h>
#include <gnc-lot.h>
-#include "../gnc-backend-dbi-priv.h"
}
#include <kvp_frame.hpp>
+#include "../gnc-backend-dbi-priv.h"
G_GNUC_UNUSED static QofLogModule log_module = "test-dbi";
diff --git a/src/backend/sql/Makefile.am b/src/backend/sql/Makefile.am
index 845fffa..20463e2 100644
--- a/src/backend/sql/Makefile.am
+++ b/src/backend/sql/Makefile.am
@@ -21,29 +21,29 @@ AM_CPPFLAGS = \
${BOOST_CPPFLAGS}
libgnc_backend_sql_la_SOURCES = \
- gnc-backend-sql.c \
- gnc-account-sql.c \
- gnc-address-sql.c \
- gnc-bill-term-sql.c \
- gnc-book-sql.c \
- gnc-budget-sql.c \
- gnc-commodity-sql.c \
- gnc-customer-sql.c \
- gnc-employee-sql.c \
- gnc-entry-sql.c \
- gnc-invoice-sql.c \
- gnc-job-sql.c \
- gnc-lots-sql.c \
- gnc-order-sql.c \
- gnc-owner-sql.c \
- gnc-price-sql.c \
- gnc-recurrence-sql.c \
- gnc-schedxaction-sql.c \
+ gnc-backend-sql.cpp \
+ gnc-account-sql.cpp \
+ gnc-address-sql.cpp \
+ gnc-bill-term-sql.cpp \
+ gnc-book-sql.cpp \
+ gnc-budget-sql.cpp \
+ gnc-commodity-sql.cpp \
+ gnc-customer-sql.cpp \
+ gnc-employee-sql.cpp \
+ gnc-entry-sql.cpp \
+ gnc-invoice-sql.cpp \
+ gnc-job-sql.cpp \
+ gnc-lots-sql.cpp \
+ gnc-order-sql.cpp \
+ gnc-owner-sql.cpp \
+ gnc-price-sql.cpp \
+ gnc-recurrence-sql.cpp \
+ gnc-schedxaction-sql.cpp \
gnc-slots-sql.cpp \
- gnc-tax-table-sql.c \
- gnc-transaction-sql.c \
- gnc-vendor-sql.c \
- escape.c
+ gnc-tax-table-sql.cpp \
+ gnc-transaction-sql.cpp \
+ gnc-vendor-sql.cpp \
+ escape.cpp
noinst_HEADERS = \
gnc-account-sql.h \
diff --git a/src/backend/sql/escape.c b/src/backend/sql/escape.cpp
similarity index 94%
rename from src/backend/sql/escape.c
rename to src/backend/sql/escape.cpp
index 198b714..a51e283 100644
--- a/src/backend/sql/escape.c
+++ b/src/backend/sql/escape.cpp
@@ -93,7 +93,8 @@ sqlEscapeString (sqlEscape *b, const char *str)
/* get more space, if needed */
if (len >= b->esc_buflen)
{
- b->escape = g_realloc(b->escape, len + 100);
+ b->escape = static_cast<decltype(b->escape)>(g_realloc(b->escape,
+ len + 100));
b->esc_buflen = len + 100;
}
@@ -137,7 +138,7 @@ sqlEscape_new (void)
{
sqlEscape *b = g_new (sqlEscape, 1);
- b->escape = g_malloc (INITIAL_BUFSZ);
+ b->escape = static_cast<decltype(b->escape)>(g_malloc (INITIAL_BUFSZ));
b->esc_buflen = INITIAL_BUFSZ;
return (b);
}
diff --git a/src/backend/sql/gnc-account-sql.c b/src/backend/sql/gnc-account-sql.cpp
similarity index 98%
rename from src/backend/sql/gnc-account-sql.c
rename to src/backend/sql/gnc-account-sql.cpp
index cf887dd..019d9d1 100644
--- a/src/backend/sql/gnc-account-sql.c
+++ b/src/backend/sql/gnc-account-sql.cpp
@@ -25,7 +25,8 @@
* This file implements the top-level QofBackend API for saving/
* restoring data to/from an SQL db
*/
-
+extern "C"
+{
#include "config.h"
#include <glib.h>
@@ -35,6 +36,10 @@
#include "AccountP.h"
#include "gnc-commodity.h"
+#if defined( S_SPLINT_S )
+#include "splint-defs.h"
+#endif
+}
#include "gnc-backend-sql.h"
#include "gnc-account-sql.h"
@@ -42,10 +47,6 @@
#include "gnc-slots-sql.h"
#include "gnc-transaction-sql.h"
-#if defined( S_SPLINT_S )
-#include "splint-defs.h"
-#endif
-
static QofLogModule log_module = G_LOG_DOMAIN;
#define TABLE_NAME "accounts"
@@ -184,7 +185,8 @@ load_single_account( GncSqlBackend* be, GncSqlRow* row,
if ( gnc_account_get_parent( pAccount ) == NULL
&& pAccount != gnc_book_get_root_account( be->book ) )
{
- account_parent_guid_struct* s = g_malloc( (gsize)sizeof(account_parent_guid_struct) );
+ account_parent_guid_struct* s = static_cast<decltype(s)>(
+ g_malloc(sizeof(account_parent_guid_struct)));
g_assert( s != NULL );
s->pAccount = pAccount;
@@ -336,7 +338,7 @@ gnc_sql_save_account( GncSqlBackend* be, QofInstance* inst )
gboolean is_infant;
gboolean is_ok = FALSE;
gnc_commodity* commodity;
- gint op;
+ E_DB_OPERATION op;
g_return_val_if_fail( be != NULL, FALSE );
g_return_val_if_fail( inst != NULL, FALSE );
diff --git a/src/backend/sql/gnc-account-sql.h b/src/backend/sql/gnc-account-sql.h
index aa3a36a..06e6daa 100644
--- a/src/backend/sql/gnc-account-sql.h
+++ b/src/backend/sql/gnc-account-sql.h
@@ -30,8 +30,10 @@
#define GNC_ACCOUNT_SQL_H
#include "gnc-backend-sql.h"
+extern "C"
+{
#include "qof.h"
-
+}
void gnc_sql_init_account_handler( void );
gboolean gnc_sql_save_account( GncSqlBackend* be, QofInstance* inst );
diff --git a/src/backend/sql/gnc-address-sql.c b/src/backend/sql/gnc-address-sql.cpp
similarity index 98%
rename from src/backend/sql/gnc-address-sql.c
rename to src/backend/sql/gnc-address-sql.cpp
index a3f3994..7fc1b1f 100644
--- a/src/backend/sql/gnc-address-sql.c
+++ b/src/backend/sql/gnc-address-sql.cpp
@@ -27,7 +27,8 @@
* This file implements the top-level QofBackend API for saving/
* restoring data to/from an SQL database
*/
-
+extern "C"
+{
#include "config.h"
#include <glib.h>
@@ -37,7 +38,7 @@
#include "gnc-engine.h"
#include "gncAddress.h"
-
+}
#include "gnc-backend-sql.h"
#include "gnc-address-sql.h"
@@ -205,7 +206,7 @@ add_gvalue_address_to_slist( const GncSqlBackend* be, QofIdTypeConst obj_name,
if ( G_VALUE_TYPE(&value) != 0 )
{
- addr = g_value_get_object( &value );
+ addr = static_cast<decltype(addr)>(g_value_get_object(&value));
for ( subtable_row = col_table; subtable_row->col_name != NULL; subtable_row++ )
{
subfield_value = g_new0( GValue, 1 );
diff --git a/src/backend/sql/gnc-backend-sql.c b/src/backend/sql/gnc-backend-sql.cpp
similarity index 97%
rename from src/backend/sql/gnc-backend-sql.c
rename to src/backend/sql/gnc-backend-sql.cpp
index 6733f86..956cf1d 100644
--- a/src/backend/sql/gnc-backend-sql.c
+++ b/src/backend/sql/gnc-backend-sql.cpp
@@ -25,7 +25,8 @@
* This file implements the top-level QofBackend API for saving/
* restoring data to/from an SQL db
*/
-
+extern "C"
+{
#include <stdlib.h>
#include "config.h"
@@ -45,7 +46,14 @@
#include <gncBillTerm.h>
#include <gncTaxTable.h>
#include <gncInvoice.h>
+#include "gnc-prefs.h"
+#include "gnc-pricedb.h"
+
+#if defined( S_SPLINT_S )
+#include "splint-defs.h"
+#endif
+}
#include "gnc-backend-sql.h"
#include "gnc-account-sql.h"
@@ -54,7 +62,6 @@
#include "gnc-commodity-sql.h"
#include "gnc-lots-sql.h"
#include "gnc-price-sql.h"
-#include "gnc-pricedb.h"
#include "gnc-recurrence-sql.h"
#include "gnc-schedxaction-sql.h"
#include "gnc-slots-sql.h"
@@ -72,12 +79,6 @@
#include "gnc-tax-table-sql.h"
#include "gnc-vendor-sql.h"
-#include "gnc-prefs.h"
-
-#if defined( S_SPLINT_S )
-#include "splint-defs.h"
-#endif
-
static void gnc_sql_init_object_handlers( void );
static void update_progress( GncSqlBackend* be );
static void finish_progress( GncSqlBackend* be );
@@ -151,8 +152,8 @@ gnc_sql_init( /*@ unused @*/ GncSqlBackend* be )
static void
create_tables_cb( const gchar* type, gpointer data_p, gpointer be_p )
{
- GncSqlObjectBackend* pData = data_p;
- GncSqlBackend* be = be_p;
+ GncSqlObjectBackend* pData = static_cast<decltype(pData)>(data_p);
+ GncSqlBackend* be = static_cast<decltype(be)>(be_p);
g_return_if_fail( type != NULL && data_p != NULL && be_p != NULL );
g_return_if_fail( pData->version == GNC_SQL_BACKEND_VERSION );
@@ -182,8 +183,8 @@ gnc_sql_set_load_order( const gchar** load_order )
static void
initial_load_cb( const gchar* type, gpointer data_p, gpointer be_p )
{
- GncSqlObjectBackend* pData = data_p;
- GncSqlBackend* be = be_p;
+ GncSqlObjectBackend* pData = static_cast<decltype(pData)>(data_p);
+ GncSqlBackend* be = static_cast<decltype(be)>(be_p);
gint i;
g_return_if_fail( type != NULL && data_p != NULL && be_p != NULL );
@@ -212,7 +213,7 @@ initial_load_cb( const gchar* type, gpointer data_p, gpointer be_p )
void
gnc_sql_push_commodity_for_postload_processing (GncSqlBackend *be,
- gpointer *comm)
+ gpointer comm)
{
post_load_commodities = g_list_prepend(post_load_commodities, comm);
}
@@ -246,7 +247,9 @@ gnc_sql_load( GncSqlBackend* be, /*@ dependent @*/ QofBook *book, QofBackendLoad
/* Load any initial stuff. Some of this needs to happen in a certain order */
for ( i = 0; fixed_load_order[i] != NULL; i++ )
{
- pData = qof_object_lookup_backend( fixed_load_order[i], GNC_SQL_BACKEND );
+ pData = static_cast<decltype(pData)>(qof_object_lookup_backend(
+ fixed_load_order[i],
+ GNC_SQL_BACKEND));
if ( pData->initial_load != NULL )
{
update_progress( be );
@@ -257,7 +260,10 @@ gnc_sql_load( GncSqlBackend* be, /*@ dependent @*/ QofBook *book, QofBackendLoad
{
for ( i = 0; other_load_order[i] != NULL; i++ )
{
- pData = qof_object_lookup_backend( other_load_order[i], GNC_SQL_BACKEND );
+ pData =
+ static_cast<decltype(pData)>(qof_object_lookup_backend(
+ other_load_order[i],
+ GNC_SQL_BACKEND));
if ( pData->initial_load != NULL )
{
update_progress( be );
@@ -408,7 +414,7 @@ write_schedXactions( GncSqlBackend* be )
for ( ; schedXactions != NULL && is_ok; schedXactions = schedXactions->next )
{
- tmpSX = schedXactions->data;
+ tmpSX = static_cast<decltype(tmpSX)>(schedXactions->data);
is_ok = gnc_sql_save_schedxaction( be, QOF_INSTANCE( tmpSX ) );
}
update_progress( be );
@@ -419,8 +425,8 @@ write_schedXactions( GncSqlBackend* be )
static void
write_cb( const gchar* type, gpointer data_p, gpointer be_p )
{
- GncSqlObjectBackend* pData = data_p;
- GncSqlBackend* be = (GncSqlBackend*)be_p;
+ GncSqlObjectBackend* pData = static_cast<decltype(pData)>(data_p);
+ GncSqlBackend* be = static_cast<decltype(be)>(be_p);
g_return_if_fail( type != NULL && data_p != NULL && be_p != NULL );
g_return_if_fail( pData->version == GNC_SQL_BACKEND_VERSION );
@@ -546,8 +552,8 @@ gnc_sql_rollback_edit( GncSqlBackend *be, QofInstance *inst )
static void
commit_cb( const gchar* type, gpointer data_p, gpointer be_data_p )
{
- GncSqlObjectBackend* pData = data_p;
- sql_backend* be_data = be_data_p;
+ GncSqlObjectBackend* pData = static_cast<decltype(pData)>(data_p);
+ sql_backend* be_data = static_cast<decltype(be_data)>(be_data_p);
g_return_if_fail( type != NULL && pData != NULL && be_data != NULL );
g_return_if_fail( pData->version == GNC_SQL_BACKEND_VERSION );
@@ -684,7 +690,7 @@ handle_and_term( QofQueryTerm* pTerm, GString* sql )
for ( name = pParamPath; name != NULL; name = name->next )
{
if ( name != pParamPath ) g_string_append( sql, "." );
- g_string_append( sql, name->data );
+ g_string_append(sql, static_cast<char*>(name->data));
}
if ( guid_data->options == QOF_GUID_MATCH_ANY )
@@ -695,7 +701,8 @@ handle_and_term( QofQueryTerm* pTerm, GString* sql )
for ( guid_entry = guid_data->guids; guid_entry != NULL; guid_entry = guid_entry->next )
{
if ( guid_entry != guid_data->guids ) g_string_append( sql, "." );
- (void)guid_to_string_buff( guid_entry->data, val );
+ (void)guid_to_string_buff(static_cast<GncGUID*>(guid_entry->data),
+ val);
g_string_append( sql, "'" );
g_string_append( sql, val );
g_string_append( sql, "'" );
@@ -715,7 +722,7 @@ handle_and_term( QofQueryTerm* pTerm, GString* sql )
for ( name = pParamPath; name != NULL; name = name->next )
{
if ( name != pParamPath ) g_string_append( sql, "." );
- g_string_append( sql, name->data );
+ g_string_append(sql, static_cast<char*>(name->data) );
}
if ( pPredData->how == QOF_COMPARE_LT )
@@ -811,8 +818,8 @@ handle_and_term( QofQueryTerm* pTerm, GString* sql )
static void
compile_query_cb( const gchar* type, gpointer data_p, gpointer be_data_p )
{
- GncSqlObjectBackend* pData = data_p;
- sql_backend* be_data = be_data_p;
+ GncSqlObjectBackend* pData = static_cast<decltype(pData)>(data_p);
+ sql_backend* be_data = static_cast<decltype(be_data)>(be_data_p);
g_return_if_fail( type != NULL && pData != NULL && be_data != NULL );
g_return_if_fail( pData->version == GNC_SQL_BACKEND_VERSION );
@@ -849,7 +856,8 @@ gnc_sql_compile_query( QofBackend* pBEnd, QofQuery* pQuery )
//gnc_sql_compile_query_to_sql( be, pQuery );
searchObj = qof_query_get_search_for( pQuery );
- pQueryInfo = g_malloc( (gsize)sizeof( gnc_sql_query_info ) );
+ pQueryInfo = static_cast<decltype(pQueryInfo)>(
+ g_malloc(sizeof(gnc_sql_query_info)));
g_assert( pQueryInfo != NULL );
pQueryInfo->pCompiledQuery = NULL;
pQueryInfo->searchObj = searchObj;
@@ -927,8 +935,8 @@ gnc_sql_compile_query_to_sql( GncSqlBackend* be, QofQuery* query )
static void
free_query_cb( const gchar* type, gpointer data_p, gpointer be_data_p )
{
- GncSqlObjectBackend* pData = data_p;
- sql_backend* be_data = be_data_p;
+ GncSqlObjectBackend* pData = static_cast<decltype(pData)>(data_p);
+ sql_backend* be_data = static_cast<decltype(be_data)>(be_data_p);
g_return_if_fail( type != NULL && pData != NULL && be_data != NULL );
g_return_if_fail( pData->version == GNC_SQL_BACKEND_VERSION );
@@ -980,8 +988,8 @@ gnc_sql_free_query( QofBackend* pBEnd, gpointer pQuery )
static void
run_query_cb( const gchar* type, gpointer data_p, gpointer be_data_p )
{
- GncSqlObjectBackend* pData = data_p;
- sql_backend* be_data = be_data_p;
+ GncSqlObjectBackend* pData = static_cast<decltype(pData)>(data_p);
+ sql_backend* be_data = static_cast<decltype(be_data)>(be_data_p);
g_return_if_fail( type != NULL && pData != NULL && be_data != NULL );
g_return_if_fail( pData->version == GNC_SQL_BACKEND_VERSION );
@@ -1125,14 +1133,14 @@ gnc_sql_get_integer_value( const GValue* value )
/* ----------------------------------------------------------------- */
/*@ null @*/ static gpointer
-get_autoinc_id()
+get_autoinc_id(void *object, const QofParam* param)
{
// Just need a 0 to force a new autoinc value
return (gpointer)0;
}
static void
-set_autoinc_id()
+set_autoinc_id(void* object, void *item)
{
// Nowhere to put the ID
}
@@ -1380,7 +1388,8 @@ add_gvalue_int_to_slist( const GncSqlBackend* be, QofIdTypeConst obj_name,
if ( table_row->gobj_param_name != NULL )
{
- g_object_get_property( pObject, table_row->gobj_param_name, value );
+ g_object_get_property(G_OBJECT(pObject), table_row->gobj_param_name,
+ value );
}
else
{
@@ -1688,7 +1697,7 @@ add_gvalue_double_to_slist( const GncSqlBackend* be, QofIdTypeConst obj_name,
getter = gnc_sql_get_getter( obj_name, table_row );
if ( getter != NULL )
{
- pDouble = (*getter)( pObject, NULL );
+ pDouble = static_cast<decltype(pDouble)>((*getter)(pObject, NULL ));
}
if ( pDouble != NULL )
{
@@ -1798,7 +1807,7 @@ add_gvalue_guid_to_slist( const GncSqlBackend* be, QofIdTypeConst obj_name,
getter = gnc_sql_get_getter( obj_name, table_row );
if ( getter != NULL )
{
- guid = (*getter)( pObject, NULL );
+ guid = static_cast<decltype(guid)>((*getter)( pObject, NULL ));
}
}
(void)g_value_init( value, G_TYPE_STRING );
@@ -1848,7 +1857,7 @@ gnc_sql_add_gvalue_objectref_guid_to_slist( const GncSqlBackend* be, QofIdTypeCo
getter = gnc_sql_get_getter( obj_name, table_row );
if ( getter != NULL )
{
- inst = (*getter)( pObject, NULL );
+ inst = static_cast<decltype(inst)>((*getter)( pObject, NULL ));
}
}
if ( inst != NULL )
@@ -2084,7 +2093,7 @@ load_date( const GncSqlBackend* be, GncSqlRow* row,
{
gchar buf[5];
GDateDay day;
- guint month;
+ GDateMonth month;
GDateYear year;
strncpy( buf, &s[0], 4 );
@@ -2092,7 +2101,7 @@ load_date( const GncSqlBackend* be, GncSqlRow* row,
year = (GDateYear)atoi( buf );
strncpy( buf, &s[4], 2 );
buf[2] = '\0';
- month = (guint)atoi( buf );
+ month = static_cast<decltype(month)>(atoi( buf ));
strncpy( buf, &s[6], 2 );
day = (GDateDay)atoi( buf );
@@ -2373,7 +2382,8 @@ get_handler( const GncSqlColumnTableEntry* table_row )
if ( g_columnTypeHash != NULL )
{
- pHandler = g_hash_table_lookup( g_columnTypeHash, table_row->col_type );
+ pHandler = static_cast<decltype(pHandler)>(
+ g_hash_table_lookup(g_columnTypeHash, table_row->col_type));
g_assert( pHandler != NULL );
}
else
@@ -3049,7 +3059,7 @@ gnc_sql_commit_standard_item( GncSqlBackend* be, QofInstance* inst, const gchar*
{
const GncGUID* guid;
gboolean is_infant;
- gint op;
+ E_DB_OPERATION op;
gboolean is_ok;
is_infant = qof_instance_get_infant( inst );
diff --git a/src/backend/sql/gnc-backend-sql.h b/src/backend/sql/gnc-backend-sql.h
index e9795f1..53fa0fe 100644
--- a/src/backend/sql/gnc-backend-sql.h
+++ b/src/backend/sql/gnc-backend-sql.h
@@ -38,11 +38,12 @@
#ifndef GNC_BACKEND_SQL_H
#define GNC_BACKEND_SQL_H
-
+extern "C"
+{
#include "qof.h"
#include "qofbackend-p.h"
#include <gmodule.h>
-
+}
typedef struct GncSqlConnection GncSqlConnection;
/**
@@ -89,7 +90,7 @@ void gnc_sql_load( GncSqlBackend* be, /*@ dependent @*/ QofBook *book, QofBacken
* @param comm The commodity item to be committed.
*/
void gnc_sql_push_commodity_for_postload_processing (GncSqlBackend *be,
- gpointer *comm);
+ gpointer comm);
/**
* Save the contents of a book to an SQL database.
diff --git a/src/backend/sql/gnc-bill-term-sql.c b/src/backend/sql/gnc-bill-term-sql.cpp
similarity index 98%
rename from src/backend/sql/gnc-bill-term-sql.c
rename to src/backend/sql/gnc-bill-term-sql.cpp
index eaf7243..31c4f9d 100644
--- a/src/backend/sql/gnc-bill-term-sql.c
+++ b/src/backend/sql/gnc-bill-term-sql.cpp
@@ -27,20 +27,22 @@
* This file implements the top-level QofBackend API for saving/
* restoring data to/from an SQL database
*/
-
+extern "C"
+{
#include "config.h"
#include <glib.h>
#include <stdlib.h>
#include <string.h>
-#include "gnc-backend-sql.h"
-#include "gnc-slots-sql.h"
-
#include "gncBillTermP.h"
#include "gncInvoice.h"
-#include "gnc-bill-term-sql.h"
#include "qof.h"
+}
+
+#include "gnc-backend-sql.h"
+#include "gnc-slots-sql.h"
+#include "gnc-bill-term-sql.h"
#define _GNC_MOD_NAME GNC_ID_BILLTERM
@@ -193,7 +195,8 @@ load_single_billterm( GncSqlBackend* be, GncSqlRow* row,
GncGUID so that after they are all loaded, the parents can be fixed up. */
if ( gncBillTermGetParent( pBillTerm ) == NULL )
{
- billterm_parent_guid_struct* s = g_malloc( (gsize)sizeof(billterm_parent_guid_struct) );
+ billterm_parent_guid_struct* s = static_cast<decltype(s)>(
+ g_malloc(sizeof(billterm_parent_guid_struct)));
g_assert( s != NULL );
s->billterm = pBillTerm;
diff --git a/src/backend/sql/gnc-bill-term-sql.h b/src/backend/sql/gnc-bill-term-sql.h
index 1f68ce5..172b1e1 100644
--- a/src/backend/sql/gnc-bill-term-sql.h
+++ b/src/backend/sql/gnc-bill-term-sql.h
@@ -31,8 +31,10 @@
#define GNC_BILLTERM_SQL_H
#include "gnc-backend-sql.h"
+extern "C"
+{
#include "qof.h"
-
+}
#define CT_BILLTERMREF "billterm"
void gnc_billterm_sql_initialize( void );
diff --git a/src/backend/sql/gnc-book-sql.c b/src/backend/sql/gnc-book-sql.cpp
similarity index 99%
rename from src/backend/sql/gnc-book-sql.c
rename to src/backend/sql/gnc-book-sql.cpp
index a9e312d..2c504be 100644
--- a/src/backend/sql/gnc-book-sql.c
+++ b/src/backend/sql/gnc-book-sql.cpp
@@ -25,18 +25,14 @@
* This file implements the top-level QofBackend API for saving/
* restoring data to/from an SQL db
*/
-
+extern "C"
+{
#include "config.h"
#include <glib.h>
#include "qof.h"
-#include "gnc-backend-sql.h"
-
-#include "gnc-book-sql.h"
-#include "gnc-slots-sql.h"
-
#include "gnc-engine.h"
#include "SX-book.h"
#include "SX-book-p.h"
@@ -44,6 +40,11 @@
#if defined( S_SPLINT_S )
#include "splint-defs.h"
#endif
+}
+#include "gnc-backend-sql.h"
+#include "gnc-book-sql.h"
+#include "gnc-slots-sql.h"
+
#define BOOK_TABLE "books"
#define TABLE_VERSION 1
diff --git a/src/backend/sql/gnc-book-sql.h b/src/backend/sql/gnc-book-sql.h
index 0690258..ad9c4ae 100644
--- a/src/backend/sql/gnc-book-sql.h
+++ b/src/backend/sql/gnc-book-sql.h
@@ -30,8 +30,10 @@
#define GNC_BOOK_SQL_H
#include "gnc-backend-sql.h"
+extern "C"
+{
#include "qof.h"
-
+}
void gnc_sql_init_book_handler( void );
gboolean gnc_sql_save_book( GncSqlBackend* be, QofInstance* inst );
diff --git a/src/backend/sql/gnc-budget-sql.c b/src/backend/sql/gnc-budget-sql.cpp
similarity index 99%
rename from src/backend/sql/gnc-budget-sql.c
rename to src/backend/sql/gnc-budget-sql.cpp
index cd4db4a..da94857 100644
--- a/src/backend/sql/gnc-budget-sql.c
+++ b/src/backend/sql/gnc-budget-sql.cpp
@@ -25,26 +25,24 @@
* This file implements the top-level QofBackend API for saving/
* restoring data to/from an SQL db
*/
-
+extern "C"
+{
#include "config.h"
#include <glib.h>
#include "qof.h"
-
-#include "gnc-backend-sql.h"
-
#include "Recurrence.h"
-
-#include "gnc-budget-sql.h"
-#include "gnc-slots-sql.h"
-#include "gnc-recurrence-sql.h"
-
#include "gnc-budget.h"
#if defined( S_SPLINT_S )
#include "splint-defs.h"
#endif
+}
+#include "gnc-backend-sql.h"
+#include "gnc-budget-sql.h"
+#include "gnc-slots-sql.h"
+#include "gnc-recurrence-sql.h"
#define BUDGET_TABLE "budgets"
#define TABLE_VERSION 1
@@ -394,7 +392,7 @@ save_budget( GncSqlBackend* be, QofInstance* inst )
{
GncBudget* pBudget = GNC_BUDGET(inst);
const GncGUID* guid;
- gint op;
+ E_DB_OPERATION op;
gboolean is_infant;
gboolean is_ok;
diff --git a/src/backend/sql/gnc-commodity-sql.c b/src/backend/sql/gnc-commodity-sql.cpp
similarity index 99%
rename from src/backend/sql/gnc-commodity-sql.c
rename to src/backend/sql/gnc-commodity-sql.cpp
index 9e3bccb..63f7020 100644
--- a/src/backend/sql/gnc-commodity-sql.c
+++ b/src/backend/sql/gnc-commodity-sql.cpp
@@ -25,16 +25,17 @@
* This file implements the top-level QofBackend API for saving/
* restoring data to/from an SQL db
*/
-
+extern "C"
+{
#include "config.h"
#include <glib.h>
#include "qof.h"
-
-#include "gnc-backend-sql.h"
#include "gnc-commodity.h"
+}
+#include "gnc-backend-sql.h"
#include "gnc-commodity-sql.h"
#include "gnc-slots-sql.h"
@@ -189,7 +190,7 @@ do_commit_commodity( GncSqlBackend* be, QofInstance* inst, gboolean force_insert
{
const GncGUID* guid;
gboolean is_infant;
- gint op;
+ E_DB_OPERATION op;
gboolean is_ok;
is_infant = qof_instance_get_infant( inst );
diff --git a/src/backend/sql/gnc-commodity-sql.h b/src/backend/sql/gnc-commodity-sql.h
index a8b0af7..2f698cb 100644
--- a/src/backend/sql/gnc-commodity-sql.h
+++ b/src/backend/sql/gnc-commodity-sql.h
@@ -30,8 +30,10 @@
#define GNC_COMMODITY_SQL_H
#include "gnc-backend-sql.h"
+extern "C"
+{
#include "gnc-commodity.h"
-
+}
void gnc_sql_init_commodity_handler( void );
gboolean gnc_sql_save_commodity( GncSqlBackend* be, gnc_commodity* pCommodity );
void gnc_sql_commit_commodity (gnc_commodity* pCommodity);
diff --git a/src/backend/sql/gnc-customer-sql.c b/src/backend/sql/gnc-customer-sql.cpp
similarity index 99%
rename from src/backend/sql/gnc-customer-sql.c
rename to src/backend/sql/gnc-customer-sql.cpp
index 6bacd94..ed62cad 100644
--- a/src/backend/sql/gnc-customer-sql.c
+++ b/src/backend/sql/gnc-customer-sql.cpp
@@ -27,19 +27,21 @@
* This file implements the top-level QofBackend API for saving/
* restoring data to/from an SQL database
*/
-
+extern "C"
+{
#include "config.h"
#include <glib.h>
#include <stdlib.h>
#include <string.h>
-#include "gnc-backend-sql.h"
-#include "gnc-slots-sql.h"
-
#include "gncBillTermP.h"
#include "gncCustomerP.h"
#include "gncTaxTableP.h"
+}
+
+#include "gnc-backend-sql.h"
+#include "gnc-slots-sql.h"
#include "gnc-customer-sql.h"
#include "gnc-address-sql.h"
#include "gnc-bill-term-sql.h"
diff --git a/src/backend/sql/gnc-employee-sql.c b/src/backend/sql/gnc-employee-sql.cpp
similarity index 99%
rename from src/backend/sql/gnc-employee-sql.c
rename to src/backend/sql/gnc-employee-sql.cpp
index 3e09f1c..a4a4e65 100644
--- a/src/backend/sql/gnc-employee-sql.c
+++ b/src/backend/sql/gnc-employee-sql.cpp
@@ -27,7 +27,8 @@
* This file implements the top-level QofBackend API for saving/
* restoring data to/from an SQL database
*/
-
+extern "C"
+{
#include "config.h"
#include <glib.h>
@@ -35,15 +36,16 @@
#include <string.h>
#include "gnc-commodity.h"
+#include "gncEmployeeP.h"
+}
#include "gnc-backend-sql.h"
#include "gnc-slots-sql.h"
#include "gnc-commodity-sql.h"
-
-#include "gncEmployeeP.h"
#include "gnc-employee-sql.h"
#include "gnc-address-sql.h"
+
#define _GNC_MOD_NAME GNC_ID_EMPLOYEE
static QofLogModule log_module = G_LOG_DOMAIN;
@@ -158,7 +160,7 @@ save_employee( GncSqlBackend* be, QofInstance* inst )
{
GncEmployee* emp;
const GncGUID* guid;
- gint op;
+ E_DB_OPERATION op;
gboolean is_infant;
gboolean is_ok = TRUE;
diff --git a/src/backend/sql/gnc-entry-sql.c b/src/backend/sql/gnc-entry-sql.cpp
similarity index 99%
rename from src/backend/sql/gnc-entry-sql.c
rename to src/backend/sql/gnc-entry-sql.cpp
index a76b63b..4b8d9e4 100644
--- a/src/backend/sql/gnc-entry-sql.c
+++ b/src/backend/sql/gnc-entry-sql.cpp
@@ -27,20 +27,21 @@
* This file implements the top-level QofBackend API for saving/
* restoring data to/from an SQL database
*/
-
+extern "C"
+{
#include "config.h"
#include <glib.h>
#include <stdlib.h>
#include <string.h>
-#include "gnc-backend-sql.h"
-#include "gnc-slots-sql.h"
-
#include "gncEntryP.h"
#include "gncOrderP.h"
#include "gncInvoiceP.h"
#include "gncTaxTableP.h"
+}
+#include "gnc-backend-sql.h"
+#include "gnc-slots-sql.h"
#include "gnc-bill-term-sql.h"
#include "gnc-entry-sql.h"
#include "gnc-invoice-sql.h"
diff --git a/src/backend/sql/gnc-invoice-sql.c b/src/backend/sql/gnc-invoice-sql.cpp
similarity index 99%
rename from src/backend/sql/gnc-invoice-sql.c
rename to src/backend/sql/gnc-invoice-sql.cpp
index fc99e68..aa606b0 100644
--- a/src/backend/sql/gnc-invoice-sql.c
+++ b/src/backend/sql/gnc-invoice-sql.cpp
@@ -27,7 +27,8 @@
* This file implements the top-level QofBackend API for saving/
* restoring data to/from an SQL database
*/
-
+extern "C"
+{
#include "config.h"
#include <glib.h>
@@ -36,12 +37,12 @@
#include "gnc-commodity.h"
+#include "gncBillTermP.h"
+#include "gncInvoiceP.h"
+}
#include "gnc-backend-sql.h"
#include "gnc-commodity-sql.h"
#include "gnc-slots-sql.h"
-
-#include "gncBillTermP.h"
-#include "gncInvoiceP.h"
#include "gnc-invoice-sql.h"
#include "gnc-owner-sql.h"
#include "gnc-bill-term-sql.h"
@@ -181,7 +182,7 @@ save_invoice( GncSqlBackend* be, QofInstance* inst )
{
const GncGUID* guid;
GncInvoice* invoice;
- gint op;
+ E_DB_OPERATION op;
gboolean is_infant;
gboolean is_ok = TRUE;
diff --git a/src/backend/sql/gnc-job-sql.c b/src/backend/sql/gnc-job-sql.cpp
similarity index 99%
rename from src/backend/sql/gnc-job-sql.c
rename to src/backend/sql/gnc-job-sql.cpp
index f290290..8470416 100644
--- a/src/backend/sql/gnc-job-sql.c
+++ b/src/backend/sql/gnc-job-sql.cpp
@@ -27,17 +27,19 @@
* This file implements the top-level QofBackend API for saving/
* restoring data to/from an SQL database
*/
-
+extern "C"
+{
#include "config.h"
#include <glib.h>
#include <stdlib.h>
#include <string.h>
+#include "gncJobP.h"
+}
+
#include "gnc-backend-sql.h"
#include "gnc-slots-sql.h"
-
-#include "gncJobP.h"
#include "gnc-job-sql.h"
#include "gnc-owner-sql.h"
diff --git a/src/backend/sql/gnc-lots-sql.c b/src/backend/sql/gnc-lots-sql.cpp
similarity index 99%
rename from src/backend/sql/gnc-lots-sql.c
rename to src/backend/sql/gnc-lots-sql.cpp
index 22c4a70..087f008 100644
--- a/src/backend/sql/gnc-lots-sql.c
+++ b/src/backend/sql/gnc-lots-sql.cpp
@@ -26,6 +26,8 @@
* restoring data to/from an SQL db
*/
+extern "C"
+{
#include "config.h"
#include <glib.h>
@@ -34,15 +36,15 @@
#include "Account.h"
#include "gnc-lot.h"
+#if defined( S_SPLINT_S )
+#include "splint-defs.h"
+#endif
+}
#include "gnc-backend-sql.h"
#include "gnc-slots-sql.h"
#include "gnc-lots-sql.h"
-#if defined( S_SPLINT_S )
-#include "splint-defs.h"
-#endif
-
/*@ unused @*/ static QofLogModule log_module = G_LOG_DOMAIN;
#define TABLE_NAME "lots"
diff --git a/src/backend/sql/gnc-order-sql.c b/src/backend/sql/gnc-order-sql.cpp
similarity index 99%
rename from src/backend/sql/gnc-order-sql.c
rename to src/backend/sql/gnc-order-sql.cpp
index a7bc177..5b5d555 100644
--- a/src/backend/sql/gnc-order-sql.c
+++ b/src/backend/sql/gnc-order-sql.cpp
@@ -28,17 +28,17 @@
* restoring data to/from an SQL database
*/
+extern "C"
+{
#include "config.h"
#include <glib.h>
#include <stdlib.h>
#include <string.h>
-
+#include "gncOrderP.h"
+}
#include "gnc-backend-sql.h"
#include "gnc-slots-sql.h"
-
-#include "gncOrderP.h"
-
#include "gnc-order-sql.h"
#include "gnc-owner-sql.h"
diff --git a/src/backend/sql/gnc-owner-sql.c b/src/backend/sql/gnc-owner-sql.cpp
similarity index 99%
rename from src/backend/sql/gnc-owner-sql.c
rename to src/backend/sql/gnc-owner-sql.cpp
index 2e779f0..3c1c3ad 100644
--- a/src/backend/sql/gnc-owner-sql.c
+++ b/src/backend/sql/gnc-owner-sql.cpp
@@ -27,20 +27,20 @@
* This file implements the top-level QofBackend API for saving/
* restoring data to/from an SQL database
*/
-
+extern "C"
+{
#include "config.h"
#include <glib.h>
#include <stdlib.h>
#include <string.h>
-
-#include "gnc-backend-sql.h"
-
-#include "gnc-owner-sql.h"
#include "gncCustomerP.h"
#include "gncJobP.h"
#include "gncEmployeeP.h"
#include "gncVendorP.h"
+}
+#include "gnc-backend-sql.h"
+#include "gnc-owner-sql.h"
static QofLogModule log_module = G_LOG_DOMAIN;
diff --git a/src/backend/sql/gnc-price-sql.c b/src/backend/sql/gnc-price-sql.cpp
similarity index 99%
rename from src/backend/sql/gnc-price-sql.c
rename to src/backend/sql/gnc-price-sql.cpp
index ae72c4f..a1fa71b 100644
--- a/src/backend/sql/gnc-price-sql.c
+++ b/src/backend/sql/gnc-price-sql.cpp
@@ -25,7 +25,8 @@
* This file implements the top-level QofBackend API for saving/
* restoring data to/from an SQL db
*/
-
+extern "C"
+{
#include "config.h"
#include <glib.h>
@@ -33,15 +34,16 @@
#include "qof.h"
#include "gnc-pricedb.h"
+#if defined( S_SPLINT_S )
+#include "splint-defs.h"
+#endif
+}
#include "gnc-backend-sql.h"
#include "gnc-commodity-sql.h"
#include "gnc-price-sql.h"
#include "gnc-slots-sql.h"
-#if defined( S_SPLINT_S )
-#include "splint-defs.h"
-#endif
/*@ unused @*/ static QofLogModule log_module = G_LOG_DOMAIN;
@@ -158,7 +160,7 @@ static gboolean
save_price( GncSqlBackend* be, QofInstance* inst )
{
GNCPrice* pPrice = GNC_PRICE(inst);
- gint op;
+ E_DB_OPERATION op;
gboolean is_infant;
gboolean is_ok = TRUE;
diff --git a/src/backend/sql/gnc-recurrence-sql.c b/src/backend/sql/gnc-recurrence-sql.cpp
similarity index 99%
rename from src/backend/sql/gnc-recurrence-sql.c
rename to src/backend/sql/gnc-recurrence-sql.cpp
index 7b12d34..af2df18 100644
--- a/src/backend/sql/gnc-recurrence-sql.c
+++ b/src/backend/sql/gnc-recurrence-sql.cpp
@@ -25,7 +25,8 @@
* This file implements the top-level QofBackend API for saving/
* restoring data to/from an SQL db
*/
-
+extern "C"
+{
#include "config.h"
#include <glib.h>
@@ -34,13 +35,13 @@
#include "gnc-engine.h"
#include "Recurrence.h"
-#include "gnc-backend-sql.h"
-
-#include "gnc-recurrence-sql.h"
-
#if defined( S_SPLINT_S )
#include "splint-defs.h"
#endif
+}
+
+#include "gnc-backend-sql.h"
+#include "gnc-recurrence-sql.h"
G_GNUC_UNUSED static QofLogModule log_module = G_LOG_DOMAIN;
diff --git a/src/backend/sql/gnc-recurrence-sql.h b/src/backend/sql/gnc-recurrence-sql.h
index 586a868..24caa2a 100644
--- a/src/backend/sql/gnc-recurrence-sql.h
+++ b/src/backend/sql/gnc-recurrence-sql.h
@@ -28,10 +28,12 @@
#ifndef GNC_RECURRENCE_SQL_H
#define GNC_RECURRENCE_SQL_H
-
+extern "C"
+{
#include <glib.h>
#include "Recurrence.h"
#include "guid.h"
+}
#include "gnc-backend-sql.h"
gboolean gnc_sql_recurrence_save( GncSqlBackend* be, const GncGUID* guid, const Recurrence* pRecurrence );
diff --git a/src/backend/sql/gnc-schedxaction-sql.c b/src/backend/sql/gnc-schedxaction-sql.cpp
similarity index 99%
rename from src/backend/sql/gnc-schedxaction-sql.c
rename to src/backend/sql/gnc-schedxaction-sql.cpp
index 058cd3b..15efc4a 100644
--- a/src/backend/sql/gnc-schedxaction-sql.c
+++ b/src/backend/sql/gnc-schedxaction-sql.cpp
@@ -25,28 +25,28 @@
* This file implements the top-level QofBackend API for saving/
* restoring data to/from an SQL db
*/
-
+extern "C"
+{
#include "config.h"
#include <glib.h>
#include "qof.h"
-
-#include "gnc-backend-sql.h"
-
-#include "gnc-schedxaction-sql.h"
-#include "gnc-slots-sql.h"
-
#include "SchedXaction.h"
#include "SX-book.h"
#include "Recurrence.h"
-#include "gnc-recurrence-sql.h"
-#include "gnc-transaction-sql.h"
-
#ifdef S_SPLINT_S
#include "splint-defs.h"
#endif
+}
+
+#include "gnc-backend-sql.h"
+#include "gnc-schedxaction-sql.h"
+#include "gnc-slots-sql.h"
+#include "gnc-recurrence-sql.h"
+#include "gnc-transaction-sql.h"
+
#define SCHEDXACTION_TABLE "schedxactions"
#define TABLE_VERSION 1
@@ -167,7 +167,7 @@ gnc_sql_save_schedxaction( GncSqlBackend* be, QofInstance* inst )
{
SchedXaction* pSx;
const GncGUID* guid;
- gint op;
+ E_DB_OPERATION op;
gboolean is_infant;
gboolean is_ok;
diff --git a/src/backend/sql/gnc-schedxaction-sql.h b/src/backend/sql/gnc-schedxaction-sql.h
index 64ced7b..bed1a1e 100644
--- a/src/backend/sql/gnc-schedxaction-sql.h
+++ b/src/backend/sql/gnc-schedxaction-sql.h
@@ -28,8 +28,10 @@
#ifndef GNC_SCHEDXACTION_SQL_H
#define GNC_SCHEDXACTION_SQL_H
-
+extern "C"
+{
#include "qof.h"
+}
#include "gnc-backend-sql.h"
void gnc_sql_init_schedxaction_handler( void );
diff --git a/src/backend/sql/gnc-slots-sql.cpp b/src/backend/sql/gnc-slots-sql.cpp
index cefb48b..dfbe95d 100644
--- a/src/backend/sql/gnc-slots-sql.cpp
+++ b/src/backend/sql/gnc-slots-sql.cpp
@@ -33,14 +33,13 @@ extern "C"
#include <qof.h>
#include <gnc-engine.h>
-#include "gnc-backend-sql.h"
-
-#include "gnc-slots-sql.h"
#ifdef S_SPLINT_S
#include "splint-defs.h"
#endif
}
+#include "gnc-backend-sql.h"
+#include "gnc-slots-sql.h"
#include <kvp_frame.hpp>
diff --git a/src/backend/sql/gnc-slots-sql.h b/src/backend/sql/gnc-slots-sql.h
index 28b6cb4..6a413cd 100644
--- a/src/backend/sql/gnc-slots-sql.h
+++ b/src/backend/sql/gnc-slots-sql.h
@@ -28,14 +28,12 @@
#ifndef GNC_SLOTS_SQL_H
#define GNC_SLOTS_SQL_H
-#ifdef __cplusplus
extern "C"
{
-#endif
-
#include <glib.h>
#include "guid.h"
#include "qof.h"
+}
#include "gnc-backend-sql.h"
/**
@@ -91,7 +89,4 @@ void gnc_sql_slots_load_for_sql_subquery( GncSqlBackend* be, const gchar* subque
void gnc_sql_init_slots_handler( void );
-#ifdef __cplusplus
-}
-#endif
#endif /* GNC_SLOTS_SQL_H */
diff --git a/src/backend/sql/gnc-tax-table-sql.c b/src/backend/sql/gnc-tax-table-sql.cpp
similarity index 99%
rename from src/backend/sql/gnc-tax-table-sql.c
rename to src/backend/sql/gnc-tax-table-sql.cpp
index bb5f068..d0512b1 100644
--- a/src/backend/sql/gnc-tax-table-sql.c
+++ b/src/backend/sql/gnc-tax-table-sql.cpp
@@ -27,19 +27,20 @@
* This file implements the top-level QofBackend API for saving/
* restoring data to/from an SQL database
*/
-
+extern "C"
+{
#include "config.h"
#include <glib.h>
#include <stdlib.h>
#include <string.h>
-#include "gnc-backend-sql.h"
-#include "gnc-slots-sql.h"
-
#include "gncEntry.h"
#include "gncTaxTableP.h"
+}
+#include "gnc-backend-sql.h"
+#include "gnc-slots-sql.h"
#include "gnc-tax-table-sql.h"
#define _GNC_MOD_NAME GNC_ID_TAXTABLE
@@ -274,7 +275,8 @@ load_single_taxtable( GncSqlBackend* be, GncSqlRow* row,
GncGUID so that after they are all loaded, the parents can be fixed up. */
if ( gncTaxTableGetParent( tt ) == NULL )
{
- taxtable_parent_guid_struct* s = g_malloc( (gsize)sizeof(taxtable_parent_guid_struct) );
+ taxtable_parent_guid_struct* s = static_cast<decltype(s)>(
+ g_malloc(sizeof(taxtable_parent_guid_struct)));
g_assert( s != NULL );
s->tt = tt;
@@ -423,7 +425,7 @@ save_taxtable( GncSqlBackend* be, QofInstance* inst )
{
GncTaxTable* tt;
const GncGUID* guid;
- gint op;
+ E_DB_OPERATION op;
gboolean is_infant;
gboolean is_ok;
@@ -565,4 +567,3 @@ gnc_taxtable_sql_initialize( void )
gnc_sql_register_col_type_handler( CT_TAXTABLEREF, &taxtable_guid_handler );
}
/* ========================== END OF FILE ===================== */
-
diff --git a/src/backend/sql/gnc-transaction-sql.c b/src/backend/sql/gnc-transaction-sql.cpp
similarity index 97%
rename from src/backend/sql/gnc-transaction-sql.c
rename to src/backend/sql/gnc-transaction-sql.cpp
index 0b4eb40..f20bfa4 100644
--- a/src/backend/sql/gnc-transaction-sql.c
+++ b/src/backend/sql/gnc-transaction-sql.cpp
@@ -25,7 +25,8 @@
* This file implements the top-level QofBackend API for saving/
* restoring data to/from an SQL db
*/
-
+extern "C"
+{
#include "config.h"
#include <glib/gi18n.h>
@@ -38,13 +39,7 @@
#include "Transaction.h"
#include "gnc-lot.h"
#include "engine-helpers.h"
-
-#include "gnc-backend-sql.h"
-#include "gnc-transaction-sql.h"
#include "gnc-commodity.h"
-#include "gnc-commodity-sql.h"
-#include "gnc-slots-sql.h"
-
#include "gnc-engine.h"
#include "escape.h"
@@ -52,6 +47,12 @@
#ifdef S_SPLINT_S
#include "splint-defs.h"
#endif
+}
+
+#include "gnc-backend-sql.h"
+#include "gnc-transaction-sql.h"
+#include "gnc-commodity-sql.h"
+#include "gnc-slots-sql.h"
#define SIMPLE_QUERY_COMPILATION 1
#define LOAD_TRANSACTIONS_AS_NEEDED 0
@@ -594,7 +595,7 @@ delete_splits( GncSqlBackend* be, Transaction* pTx )
static gboolean
commit_split( GncSqlBackend* be, QofInstance* inst )
{
- gint op;
+ E_DB_OPERATION op;
gboolean is_infant;
gboolean is_ok;
GncGUID *guid = (GncGUID*)qof_instance_get_guid(inst);
@@ -670,11 +671,11 @@ static gboolean
save_transaction( GncSqlBackend* be, Transaction* pTx, gboolean do_save_splits )
{
const GncGUID* guid;
- gint op;
+ E_DB_OPERATION op;
gboolean is_infant;
QofInstance* inst;
gboolean is_ok = TRUE;
- gchar* err = NULL;
+ const char* err = NULL;
g_return_val_if_fail( be != NULL, FALSE );
g_return_val_if_fail( pTx != NULL, FALSE );
@@ -754,11 +755,11 @@ save_transaction( GncSqlBackend* be, Transaction* pTx, gboolean do_save_splits )
}
if (! is_ok )
{
- G_GNUC_UNUSED gchar *message1 = "Transaction %s dated %s in account %s not saved due to %s.%s";
- G_GNUC_UNUSED gchar *message2 = "\nDatabase may be corrupted, check your data carefully.";
Split* split = xaccTransGetSplit( pTx, 0);
Account *acc = xaccSplitGetAccount( split );
/* FIXME: This needs to be implemented
+ const char *message1 = "Transaction %s dated %s in account %s not saved due to %s.%s";
+ const char *message2 = "\nDatabase may be corrupted, check your data carefully.";
qof_error_format_secondary_text( GTK_MESSAGE_DIALOG( msg ),
message1,
xaccTransGetDescription( pTx ),
@@ -931,7 +932,8 @@ convert_query_term_to_sql( const GncSqlBackend* be, const gchar* fieldName, QofQ
gchar guid_buf[GUID_ENCODING_LENGTH+1];
if ( guid_entry != guid_data->guids ) g_string_append( sql, "," );
- (void)guid_to_string_buff( guid_entry->data, guid_buf );
+ (void)guid_to_string_buff(static_cast<GncGUID*>(guid_entry->data),
+ guid_buf );
g_string_append_printf( sql, "'%s'", guid_buf );
}
g_string_append( sql, "))" );
@@ -1085,7 +1087,8 @@ compile_split_query( GncSqlBackend* be, QofQuery* query )
g_return_val_if_fail( be != NULL, NULL );
g_return_val_if_fail( query != NULL, NULL );
- query_info = g_malloc( (gsize)sizeof(split_query_info_t) );
+ query_info = static_cast<decltype(query_info)>(
+ g_malloc(sizeof(split_query_info_t)));
g_assert( query_info != NULL );
query_info->has_been_run = FALSE;
@@ -1117,18 +1120,20 @@ compile_split_query( GncSqlBackend* be, QofQuery* query )
term = (QofQueryTerm*)andTerm->data;
paramPath = qof_query_term_get_param_path( term );
-
- if ( strcmp( paramPath->data, QOF_PARAM_BOOK ) == 0 ) continue;
+ const char *path = static_cast<decltype(path)>(paramPath->data);
+ const char *next_path =
+ static_cast<decltype(next_path)>(paramPath->next->data);
+ if (strcmp(path, QOF_PARAM_BOOK) == 0) continue;
#if SIMPLE_QUERY_COMPILATION
- if ( strcmp( paramPath->data, SPLIT_ACCOUNT ) != 0
- || strcmp( paramPath->next->data, QOF_PARAM_GUID ) != 0 ) continue;
+ if ( strcmp(path, SPLIT_ACCOUNT) != 0 ||
+ strcmp(next_path, QOF_PARAM_GUID) != 0 ) continue;
#endif
if ( need_AND ) g_string_append( sql, " AND " );
- if ( strcmp( paramPath->data, SPLIT_ACCOUNT ) == 0
- && strcmp( paramPath->next->data, QOF_PARAM_GUID ) == 0 )
+ if ( strcmp(path, SPLIT_ACCOUNT) == 0 &&
+ strcmp(next_path, QOF_PARAM_GUID) == 0 )
{
convert_query_term_to_sql( be, "s.account_guid", term, sql );
#if SIMPLE_QUERY_COMPILATION
@@ -1136,12 +1141,12 @@ compile_split_query( GncSqlBackend* be, QofQuery* query )
#endif
}
- else if ( strcmp( paramPath->data, SPLIT_RECONCILE ) == 0 )
+ else if ( strcmp(path, SPLIT_RECONCILE) == 0 )
{
convert_query_term_to_sql( be, "s.reconcile_state", term, sql );
}
- else if ( strcmp( paramPath->data, SPLIT_TRANS ) == 0 )
+ else if ( strcmp(path, SPLIT_TRANS) == 0 )
{
#if TX_GUID_CHECK
if ( !has_tx_guid_check )
@@ -1150,11 +1155,11 @@ compile_split_query( GncSqlBackend* be, QofQuery* query )
has_tx_guid_check = TRUE;
}
#endif
- if ( strcmp( paramPath->next->data, TRANS_DATE_POSTED ) == 0 )
+ if (strcmp(next_path, TRANS_DATE_POSTED) == 0 )
{
convert_query_term_to_sql( be, "t.post_date", term, sql );
}
- else if ( strcmp( paramPath->next->data, TRANS_DESCRIPTION ) == 0 )
+ else if (strcmp(next_path, TRANS_DESCRIPTION) == 0 )
{
convert_query_term_to_sql( be, "t.description", term, sql );
}
@@ -1164,7 +1169,7 @@ compile_split_query( GncSqlBackend* be, QofQuery* query )
}
}
- else if ( strcmp( paramPath->data, SPLIT_VALUE ) == 0 )
+ else if ( strcmp(path, SPLIT_VALUE) == 0 )
{
convert_query_term_to_sql( be, "s.value_num/s.value_denom", term, sql );
@@ -1180,7 +1185,7 @@ compile_split_query( GncSqlBackend* be, QofQuery* query )
while ( paramPath->next != NULL )
{
g_string_append( name, "." );
- g_string_append( name, paramPath->next->data );
+ g_string_append( name, next_path );
paramPath = paramPath->next;
}
PERR( "Unknown SPLIT query field: %s\n", name->str );
@@ -1323,7 +1328,7 @@ load_single_acct_balances( const GncSqlBackend* be, GncSqlRow* row )
g_return_val_if_fail( be != NULL, NULL );
g_return_val_if_fail( row != NULL, NULL );
- bal = g_malloc( (gsize)sizeof(single_acct_balance_t) );
+ bal = static_cast<decltype(bal)>(g_malloc(sizeof(single_acct_balance_t)));
g_assert( bal != NULL );
bal->be = be;
diff --git a/src/backend/sql/gnc-transaction-sql.h b/src/backend/sql/gnc-transaction-sql.h
index 668d63c..2901059 100644
--- a/src/backend/sql/gnc-transaction-sql.h
+++ b/src/backend/sql/gnc-transaction-sql.h
@@ -30,10 +30,12 @@
#define GNC_TRANSACTION_SQL_H
#include "gnc-backend-sql.h"
+extern "C"
+{
#include "Transaction.h"
#include "qof.h"
#include "Account.h"
-
+}
void gnc_sql_init_transaction_handler( void );
/**
diff --git a/src/backend/sql/gnc-vendor-sql.c b/src/backend/sql/gnc-vendor-sql.cpp
similarity index 99%
rename from src/backend/sql/gnc-vendor-sql.c
rename to src/backend/sql/gnc-vendor-sql.cpp
index 23ede09..9711a2f 100644
--- a/src/backend/sql/gnc-vendor-sql.c
+++ b/src/backend/sql/gnc-vendor-sql.cpp
@@ -27,7 +27,8 @@
* This file implements the top-level QofBackend API for saving/
* restoring data to/from an SQL database
*/
-
+extern "C"
+{
#include "config.h"
#include <glib.h>
@@ -35,19 +36,18 @@
#include <string.h>
#include "gnc-commodity.h"
-
-#include "gnc-backend-sql.h"
-#include "gnc-commodity-sql.h"
-#include "gnc-slots-sql.h"
-
-#include "gnc-commodity.h"
#include "gncBillTermP.h"
#include "gncVendorP.h"
#include "gncTaxTableP.h"
+}
+
#include "gnc-vendor-sql.h"
#include "gnc-address-sql.h"
#include "gnc-bill-term-sql.h"
#include "gnc-tax-table-sql.h"
+#include "gnc-backend-sql.h"
+#include "gnc-commodity-sql.h"
+#include "gnc-slots-sql.h"
#define _GNC_MOD_NAME GNC_ID_VENDOR
@@ -155,7 +155,7 @@ save_vendor( GncSqlBackend* be, QofInstance* inst )
{
GncVendor* v;
const GncGUID* guid;
- gint op;
+ E_DB_OPERATION op;
gboolean is_infant;
gboolean is_ok = TRUE;
diff --git a/src/backend/sql/test/Makefile.am b/src/backend/sql/test/Makefile.am
index a4726c1..cfa3516 100644
--- a/src/backend/sql/test/Makefile.am
+++ b/src/backend/sql/test/Makefile.am
@@ -4,7 +4,7 @@ include $(top_srcdir)/test-templates/Makefile.decl
MODULEPATH = src/backend/sql
test_column_types_SOURCES = \
- test-column-types.c
+ test-column-types.cpp
check_PROGRAMS = \
test-column-types \
@@ -53,8 +53,8 @@ AM_CPPFLAGS += -DG_LOG_DOMAIN=\"gnc.backend.sql\"
#test_sqlbedir = ${top_srcdir}/${MODULEPATH}/test
test_sqlbe_SOURCES = \
- test-sqlbe.c \
- utest-gnc-backend-sql.c
+ test-sqlbe.cpp \
+ utest-gnc-backend-sql.cpp
#test_sqlbe_HEADERS = \
# $(top_srcdir)/$(MODULEPATH)/gnc-backend-sql.h
diff --git a/src/backend/sql/test/test-column-types.c b/src/backend/sql/test/test-column-types.cpp
similarity index 96%
rename from src/backend/sql/test/test-column-types.c
rename to src/backend/sql/test/test-column-types.cpp
index d092b9e..ca5d576 100644
--- a/src/backend/sql/test/test-column-types.c
+++ b/src/backend/sql/test/test-column-types.cpp
@@ -1,5 +1,5 @@
/***************************************************************************
- * test-column-types.c
+ * test-column-types.cpp
*
* Tests the basic SQL column types
*
@@ -23,12 +23,13 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
*/
-
+extern "C"
+{
#include "config.h"
#include "qof.h"
#include "cashobjects.h"
#include "test-stuff.h"
-
+}
#include "gnc-backend-sql.h"
int main( int argc, char ** argv )
diff --git a/src/backend/sql/test/test-sqlbe.c b/src/backend/sql/test/test-sqlbe.cpp
similarity index 99%
rename from src/backend/sql/test/test-sqlbe.c
rename to src/backend/sql/test/test-sqlbe.cpp
index 328e102..9690455 100644
--- a/src/backend/sql/test/test-sqlbe.c
+++ b/src/backend/sql/test/test-sqlbe.cpp
@@ -20,11 +20,12 @@
* Boston, MA 02110-1301, USA gnu at gnu.org *
\********************************************************************/
-
+extern "C"
+{
#include "config.h"
#include <glib.h>
#include "qof.h"
-
+}
extern void test_suite_gnc_backend_sql ();
int
diff --git a/src/backend/sql/test/utest-gnc-backend-sql.c b/src/backend/sql/test/utest-gnc-backend-sql.cpp
similarity index 74%
rename from src/backend/sql/test/utest-gnc-backend-sql.c
rename to src/backend/sql/test/utest-gnc-backend-sql.cpp
index b15f3ea..0757883 100644
--- a/src/backend/sql/test/utest-gnc-backend-sql.c
+++ b/src/backend/sql/test/utest-gnc-backend-sql.cpp
@@ -20,10 +20,13 @@
* 51 Franklin Street, Fifth Floor Fax: +1-617-542-2652 *
* Boston, MA 02110-1301, USA gnu at gnu.org *
********************************************************************/
+extern "C"
+{
#include "config.h"
#include <string.h>
#include <glib.h>
#include <unittest-support.h>
+}
/* Add specific headers for this class */
#include "../gnc-backend-sql.h"
@@ -195,12 +198,14 @@ test_gnc_sql_commit_edit (void)
QofInstance *inst;
guint dirty_called = 0;
GncSqlConnection conn;
- gchar *msg1 = "[gnc_sql_commit_edit()] gnc_sql_commit_edit(): Unknown object type 'null'\n";
- gchar *msg2 = "[gnc_sql_commit_edit()] gnc_sql_commit_edit(): Unknown object type 'Book'\n";
- guint loglevel = G_LOG_LEVEL_CRITICAL | G_LOG_FLAG_FATAL;
- gchar *logdomain = "gnc.backend.sql";
- TestErrorStruct check1 = { loglevel, logdomain, msg1, 0 };
- TestErrorStruct check2 = { loglevel, logdomain, msg2, 0 };
+ const char *msg1 = "[gnc_sql_commit_edit()] gnc_sql_commit_edit(): Unknown object type 'null'\n";
+ const char *msg2 = "[gnc_sql_commit_edit()] gnc_sql_commit_edit(): Unknown object type 'Book'\n";
+ GLogLevelFlags loglevel = static_cast<decltype(loglevel)>(G_LOG_LEVEL_CRITICAL | G_LOG_FLAG_FATAL);
+ const char *logdomain = "gnc.backend.sql";
+ TestErrorStruct check1 = { loglevel, const_cast<char*>(logdomain),
+ const_cast<char*>(msg1), 0 };
+ TestErrorStruct check2 = { loglevel, const_cast<char*>(logdomain),
+ const_cast<char*>(msg2), 0 };
guint hdlr1;
test_add_error (&check1);
@@ -215,7 +220,7 @@ test_gnc_sql_commit_edit (void)
conn.beginTransaction = fake_connection_function;
conn.rollbackTransaction = fake_connection_function;
conn.commitTransaction = fake_connection_function;
- inst = g_object_new (QOF_TYPE_INSTANCE, NULL);
+ inst = static_cast<decltype(inst)>(g_object_new (QOF_TYPE_INSTANCE, NULL));
qof_instance_init_data (inst, QOF_ID_NULL, be.book);
be.loading = FALSE;
qof_book_set_dirty_cb (be.book, test_dirty_cb, &dirty_called);
@@ -581,20 +586,20 @@ static void
test_gnc_sql_convert_timespec_to_string ()
{
GncSqlBackend be = {{
- NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
- NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
- 0, NULL, 0, "", NULL
+ nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
+ nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
+ nullptr, nullptr, ERR_BACKEND_NO_ERR, nullptr, 0, nullptr, nullptr
},
- NULL, NULL, FALSE, FALSE, FALSE, 0, 0, NULL,
+ nullptr, nullptr, FALSE, FALSE, FALSE, 0, 0, nullptr,
"%4d-%02d-%02d %02d:%02d:%02d"
};
- gchar *date[numtests] = {"1995-03-11 19:17:26",
- "2001-04-20 11:44:07",
- "1964-02-29 09:15:23",
- "1959-04-02 00:00:00",
- "2043-11-22 05:32:45",
- "2153-12-18 01:15:30"
- };
+ const char *date[numtests] = {"1995-03-11 19:17:26",
+ "2001-04-20 11:44:07",
+ "1964-02-29 09:15:23",
+ "1959-04-02 00:00:00",
+ "2043-11-22 05:32:45",
+ "2153-12-18 01:15:30"
+ };
int i;
for (i = 0; i < numtests; i++)
{
@@ -941,107 +946,107 @@ void
test_suite_gnc_backend_sql (void)
{
-// GNC_TEST_ADD (suitename, "gnc sql init", Fixture, NULL, test_gnc_sql_init, teardown);
-// GNC_TEST_ADD (suitename, "create tables cb", Fixture, NULL, test_create_tables_cb, teardown);
-// GNC_TEST_ADD (suitename, "gnc sql set load order", Fixture, NULL, test_gnc_sql_set_load_order, teardown);
-// GNC_TEST_ADD (suitename, "initial load cb", Fixture, NULL, test_initial_load_cb, teardown);
-// GNC_TEST_ADD (suitename, "gnc sql load", Fixture, NULL, test_gnc_sql_load, teardown);
-// GNC_TEST_ADD (suitename, "write account tree", Fixture, NULL, test_write_account_tree, teardown);
-// GNC_TEST_ADD (suitename, "write accounts", Fixture, NULL, test_write_accounts, teardown);
-// GNC_TEST_ADD (suitename, "write tx", Fixture, NULL, test_write_tx, teardown);
-// GNC_TEST_ADD (suitename, "write transactions", Fixture, NULL, test_write_transactions, teardown);
-// GNC_TEST_ADD (suitename, "write template transactions", Fixture, NULL, test_write_template_transactions, teardown);
-// GNC_TEST_ADD (suitename, "write schedXactions", Fixture, NULL, test_write_schedXactions, teardown);
-// GNC_TEST_ADD (suitename, "write cb", Fixture, NULL, test_write_cb, teardown);
-// GNC_TEST_ADD (suitename, "update progress", Fixture, NULL, test_update_progress, teardown);
-// GNC_TEST_ADD (suitename, "finish progress", Fixture, NULL, test_finish_progress, teardown);
-// GNC_TEST_ADD (suitename, "gnc sql sync all", Fixture, NULL, test_gnc_sql_sync_all, teardown);
-// GNC_TEST_ADD (suitename, "gnc sql begin edit", Fixture, NULL, test_gnc_sql_begin_edit, teardown);
-// GNC_TEST_ADD (suitename, "gnc sql rollback edit", Fixture, NULL, test_gnc_sql_rollback_edit, teardown);
-// GNC_TEST_ADD (suitename, "commit cb", Fixture, NULL, test_commit_cb, teardown);
+// GNC_TEST_ADD (suitename, "gnc sql init", Fixture, nullptr, test_gnc_sql_init, teardown);
+// GNC_TEST_ADD (suitename, "create tables cb", Fixture, nullptr, test_create_tables_cb, teardown);
+// GNC_TEST_ADD (suitename, "gnc sql set load order", Fixture, nullptr, test_gnc_sql_set_load_order, teardown);
+// GNC_TEST_ADD (suitename, "initial load cb", Fixture, nullptr, test_initial_load_cb, teardown);
+// GNC_TEST_ADD (suitename, "gnc sql load", Fixture, nullptr, test_gnc_sql_load, teardown);
+// GNC_TEST_ADD (suitename, "write account tree", Fixture, nullptr, test_write_account_tree, teardown);
+// GNC_TEST_ADD (suitename, "write accounts", Fixture, nullptr, test_write_accounts, teardown);
+// GNC_TEST_ADD (suitename, "write tx", Fixture, nullptr, test_write_tx, teardown);
+// GNC_TEST_ADD (suitename, "write transactions", Fixture, nullptr, test_write_transactions, teardown);
+// GNC_TEST_ADD (suitename, "write template transactions", Fixture, nullptr, test_write_template_transactions, teardown);
+// GNC_TEST_ADD (suitename, "write schedXactions", Fixture, nullptr, test_write_schedXactions, teardown);
+// GNC_TEST_ADD (suitename, "write cb", Fixture, nullptr, test_write_cb, teardown);
+// GNC_TEST_ADD (suitename, "update progress", Fixture, nullptr, test_update_progress, teardown);
+// GNC_TEST_ADD (suitename, "finish progress", Fixture, nullptr, test_finish_progress, teardown);
+// GNC_TEST_ADD (suitename, "gnc sql sync all", Fixture, nullptr, test_gnc_sql_sync_all, teardown);
+// GNC_TEST_ADD (suitename, "gnc sql begin edit", Fixture, nullptr, test_gnc_sql_begin_edit, teardown);
+// GNC_TEST_ADD (suitename, "gnc sql rollback edit", Fixture, nullptr, test_gnc_sql_rollback_edit, teardown);
+// GNC_TEST_ADD (suitename, "commit cb", Fixture, nullptr, test_commit_cb, teardown);
GNC_TEST_ADD_FUNC (suitename, "gnc sql commit edit", test_gnc_sql_commit_edit);
-// GNC_TEST_ADD (suitename, "handle and term", Fixture, NULL, test_handle_and_term, teardown);
-// GNC_TEST_ADD (suitename, "compile query cb", Fixture, NULL, test_compile_query_cb, teardown);
-// GNC_TEST_ADD (suitename, "gnc sql compile query", Fixture, NULL, test_gnc_sql_compile_query, teardown);
-// GNC_TEST_ADD (suitename, "convert search obj", Fixture, NULL, test_convert_search_obj, teardown);
-// GNC_TEST_ADD (suitename, "gnc sql compile query to sql", Fixture, NULL, test_gnc_sql_compile_query_to_sql, teardown);
-// GNC_TEST_ADD (suitename, "free query cb", Fixture, NULL, test_free_query_cb, teardown);
-// GNC_TEST_ADD (suitename, "gnc sql free query", Fixture, NULL, test_gnc_sql_free_query, teardown);
-// GNC_TEST_ADD (suitename, "run query cb", Fixture, NULL, test_run_query_cb, teardown);
-// GNC_TEST_ADD (suitename, "gnc sql run query", Fixture, NULL, test_gnc_sql_run_query, teardown);
-// GNC_TEST_ADD (suitename, "business core sql init", Fixture, NULL, test_business_core_sql_init, teardown);
-// GNC_TEST_ADD (suitename, "gnc sql init object handlers", Fixture, NULL, test_gnc_sql_init_object_handlers, teardown);
-// GNC_TEST_ADD (suitename, "gnc sql get integer value", Fixture, NULL, test_gnc_sql_get_integer_value, teardown);
-// GNC_TEST_ADD (suitename, "get autoinc id", Fixture, NULL, test_get_autoinc_id, teardown);
-// GNC_TEST_ADD (suitename, "set autoinc id", Fixture, NULL, test_set_autoinc_id, teardown);
-// GNC_TEST_ADD (suitename, "gnc sql get getter", Fixture, NULL, test_gnc_sql_get_getter, teardown);
-// GNC_TEST_ADD (suitename, "gnc sql add colname to list", Fixture, NULL, test_gnc_sql_add_colname_to_list, teardown);
-// GNC_TEST_ADD (suitename, "gnc sql add subtable colnames to list", Fixture, NULL, test_gnc_sql_add_subtable_colnames_to_list, teardown);
-// GNC_TEST_ADD (suitename, "create column info", Fixture, NULL, test_create_column_info, teardown);
-// GNC_TEST_ADD (suitename, "load string", Fixture, NULL, test_load_string, teardown);
-// GNC_TEST_ADD (suitename, "add string col info to list", Fixture, NULL, test_add_string_col_info_to_list, teardown);
-// GNC_TEST_ADD (suitename, "add gvalue string to slist", Fixture, NULL, test_add_gvalue_string_to_slist, teardown);
-// GNC_TEST_ADD (suitename, "load int", Fixture, NULL, test_load_int, teardown);
-// GNC_TEST_ADD (suitename, "add int col info to list", Fixture, NULL, test_add_int_col_info_to_list, teardown);
-// GNC_TEST_ADD (suitename, "add gvalue int to slist", Fixture, NULL, test_add_gvalue_int_to_slist, teardown);
-// GNC_TEST_ADD (suitename, "load boolean", Fixture, NULL, test_load_boolean, teardown);
-// GNC_TEST_ADD (suitename, "add boolean col info to list", Fixture, NULL, test_add_boolean_col_info_to_list, teardown);
-// GNC_TEST_ADD (suitename, "add gvalue boolean to slist", Fixture, NULL, test_add_gvalue_boolean_to_slist, teardown);
-// GNC_TEST_ADD (suitename, "load int64", Fixture, NULL, test_load_int64, teardown);
-// GNC_TEST_ADD (suitename, "add int64 col info to list", Fixture, NULL, test_add_int64_col_info_to_list, teardown);
-// GNC_TEST_ADD (suitename, "add gvalue int64 to slist", Fixture, NULL, test_add_gvalue_int64_to_slist, teardown);
-// GNC_TEST_ADD (suitename, "load double", Fixture, NULL, test_load_double, teardown);
-// GNC_TEST_ADD (suitename, "add double col info to list", Fixture, NULL, test_add_double_col_info_to_list, teardown);
-// GNC_TEST_ADD (suitename, "add gvalue double to slist", Fixture, NULL, test_add_gvalue_double_to_slist, teardown);
-// GNC_TEST_ADD (suitename, "load guid", Fixture, NULL, test_load_guid, teardown);
-// GNC_TEST_ADD (suitename, "add guid col info to list", Fixture, NULL, test_add_guid_col_info_to_list, teardown);
-// GNC_TEST_ADD (suitename, "add gvalue guid to slist", Fixture, NULL, test_add_gvalue_guid_to_slist, teardown);
-// GNC_TEST_ADD (suitename, "gnc sql add gvalue objectref guid to slist", Fixture, NULL, test_gnc_sql_add_gvalue_objectref_guid_to_slist, teardown);
-// GNC_TEST_ADD (suitename, "gnc sql add objectref guid col info to list", Fixture, NULL, test_gnc_sql_add_objectref_guid_col_info_to_list, teardown);
+// GNC_TEST_ADD (suitename, "handle and term", Fixture, nullptr, test_handle_and_term, teardown);
+// GNC_TEST_ADD (suitename, "compile query cb", Fixture, nullptr, test_compile_query_cb, teardown);
+// GNC_TEST_ADD (suitename, "gnc sql compile query", Fixture, nullptr, test_gnc_sql_compile_query, teardown);
+// GNC_TEST_ADD (suitename, "convert search obj", Fixture, nullptr, test_convert_search_obj, teardown);
+// GNC_TEST_ADD (suitename, "gnc sql compile query to sql", Fixture, nullptr, test_gnc_sql_compile_query_to_sql, teardown);
+// GNC_TEST_ADD (suitename, "free query cb", Fixture, nullptr, test_free_query_cb, teardown);
+// GNC_TEST_ADD (suitename, "gnc sql free query", Fixture, nullptr, test_gnc_sql_free_query, teardown);
+// GNC_TEST_ADD (suitename, "run query cb", Fixture, nullptr, test_run_query_cb, teardown);
+// GNC_TEST_ADD (suitename, "gnc sql run query", Fixture, nullptr, test_gnc_sql_run_query, teardown);
+// GNC_TEST_ADD (suitename, "business core sql init", Fixture, nullptr, test_business_core_sql_init, teardown);
+// GNC_TEST_ADD (suitename, "gnc sql init object handlers", Fixture, nullptr, test_gnc_sql_init_object_handlers, teardown);
+// GNC_TEST_ADD (suitename, "gnc sql get integer value", Fixture, nullptr, test_gnc_sql_get_integer_value, teardown);
+// GNC_TEST_ADD (suitename, "get autoinc id", Fixture, nullptr, test_get_autoinc_id, teardown);
+// GNC_TEST_ADD (suitename, "set autoinc id", Fixture, nullptr, test_set_autoinc_id, teardown);
+// GNC_TEST_ADD (suitename, "gnc sql get getter", Fixture, nullptr, test_gnc_sql_get_getter, teardown);
+// GNC_TEST_ADD (suitename, "gnc sql add colname to list", Fixture, nullptr, test_gnc_sql_add_colname_to_list, teardown);
+// GNC_TEST_ADD (suitename, "gnc sql add subtable colnames to list", Fixture, nullptr, test_gnc_sql_add_subtable_colnames_to_list, teardown);
+// GNC_TEST_ADD (suitename, "create column info", Fixture, nullptr, test_create_column_info, teardown);
+// GNC_TEST_ADD (suitename, "load string", Fixture, nullptr, test_load_string, teardown);
+// GNC_TEST_ADD (suitename, "add string col info to list", Fixture, nullptr, test_add_string_col_info_to_list, teardown);
+// GNC_TEST_ADD (suitename, "add gvalue string to slist", Fixture, nullptr, test_add_gvalue_string_to_slist, teardown);
+// GNC_TEST_ADD (suitename, "load int", Fixture, nullptr, test_load_int, teardown);
+// GNC_TEST_ADD (suitename, "add int col info to list", Fixture, nullptr, test_add_int_col_info_to_list, teardown);
+// GNC_TEST_ADD (suitename, "add gvalue int to slist", Fixture, nullptr, test_add_gvalue_int_to_slist, teardown);
+// GNC_TEST_ADD (suitename, "load boolean", Fixture, nullptr, test_load_boolean, teardown);
+// GNC_TEST_ADD (suitename, "add boolean col info to list", Fixture, nullptr, test_add_boolean_col_info_to_list, teardown);
+// GNC_TEST_ADD (suitename, "add gvalue boolean to slist", Fixture, nullptr, test_add_gvalue_boolean_to_slist, teardown);
+// GNC_TEST_ADD (suitename, "load int64", Fixture, nullptr, test_load_int64, teardown);
+// GNC_TEST_ADD (suitename, "add int64 col info to list", Fixture, nullptr, test_add_int64_col_info_to_list, teardown);
+// GNC_TEST_ADD (suitename, "add gvalue int64 to slist", Fixture, nullptr, test_add_gvalue_int64_to_slist, teardown);
+// GNC_TEST_ADD (suitename, "load double", Fixture, nullptr, test_load_double, teardown);
+// GNC_TEST_ADD (suitename, "add double col info to list", Fixture, nullptr, test_add_double_col_info_to_list, teardown);
+// GNC_TEST_ADD (suitename, "add gvalue double to slist", Fixture, nullptr, test_add_gvalue_double_to_slist, teardown);
+// GNC_TEST_ADD (suitename, "load guid", Fixture, nullptr, test_load_guid, teardown);
+// GNC_TEST_ADD (suitename, "add guid col info to list", Fixture, nullptr, test_add_guid_col_info_to_list, teardown);
+// GNC_TEST_ADD (suitename, "add gvalue guid to slist", Fixture, nullptr, test_add_gvalue_guid_to_slist, teardown);
+// GNC_TEST_ADD (suitename, "gnc sql add gvalue objectref guid to slist", Fixture, nullptr, test_gnc_sql_add_gvalue_objectref_guid_to_slist, teardown);
+// GNC_TEST_ADD (suitename, "gnc sql add objectref guid col info to list", Fixture, nullptr, test_gnc_sql_add_objectref_guid_col_info_to_list, teardown);
GNC_TEST_ADD_FUNC (suitename, "gnc sql convert timespec to string", test_gnc_sql_convert_timespec_to_string);
-// GNC_TEST_ADD (suitename, "load timespec", Fixture, NULL, test_load_timespec, teardown);
-// GNC_TEST_ADD (suitename, "add timespec col info to list", Fixture, NULL, test_add_timespec_col_info_to_list, teardown);
-// GNC_TEST_ADD (suitename, "add gvalue timespec to slist", Fixture, NULL, test_add_gvalue_timespec_to_slist, teardown);
-// GNC_TEST_ADD (suitename, "load date", Fixture, NULL, test_load_date, teardown);
-// GNC_TEST_ADD (suitename, "add date col info to list", Fixture, NULL, test_add_date_col_info_to_list, teardown);
-// GNC_TEST_ADD (suitename, "add gvalue date to slist", Fixture, NULL, test_add_gvalue_date_to_slist, teardown);
-// GNC_TEST_ADD (suitename, "load numeric", Fixture, NULL, test_load_numeric, teardown);
-// GNC_TEST_ADD (suitename, "add numeric col info to list", Fixture, NULL, test_add_numeric_col_info_to_list, teardown);
-// GNC_TEST_ADD (suitename, "add numeric colname to list", Fixture, NULL, test_add_numeric_colname_to_list, teardown);
-// GNC_TEST_ADD (suitename, "add gvalue numeric to slist", Fixture, NULL, test_add_gvalue_numeric_to_slist, teardown);
-// GNC_TEST_ADD (suitename, "get handler", Fixture, NULL, test_get_handler, teardown);
-// GNC_TEST_ADD (suitename, "register standard col type handlers", Fixture, NULL, test_register_standard_col_type_handlers, teardown);
-// GNC_TEST_ADD (suitename, " retrieve guid ", Fixture, NULL, test__retrieve_guid_, teardown);
-// GNC_TEST_ADD (suitename, "gnc sql load guid", Fixture, NULL, test_gnc_sql_load_guid, teardown);
-// GNC_TEST_ADD (suitename, "gnc sql load tx guid", Fixture, NULL, test_gnc_sql_load_tx_guid, teardown);
-// GNC_TEST_ADD (suitename, "gnc sql load object", Fixture, NULL, test_gnc_sql_load_object, teardown);
-// GNC_TEST_ADD (suitename, "gnc sql create select statement", Fixture, NULL, test_gnc_sql_create_select_statement, teardown);
-// GNC_TEST_ADD (suitename, "create single col select statement", Fixture, NULL, test_create_single_col_select_statement, teardown);
-// GNC_TEST_ADD (suitename, "gnc sql execute select statement", Fixture, NULL, test_gnc_sql_execute_select_statement, teardown);
-// GNC_TEST_ADD (suitename, "gnc sql create statement from sql", Fixture, NULL, test_gnc_sql_create_statement_from_sql, teardown);
-// GNC_TEST_ADD (suitename, "gnc sql execute select sql", Fixture, NULL, test_gnc_sql_execute_select_sql, teardown);
-// GNC_TEST_ADD (suitename, "gnc sql execute nonselect sql", Fixture, NULL, test_gnc_sql_execute_nonselect_sql, teardown);
-// GNC_TEST_ADD (suitename, "execute statement get count", Fixture, NULL, test_execute_statement_get_count, teardown);
-// GNC_TEST_ADD (suitename, "gnc sql append guid list to sql", Fixture, NULL, test_gnc_sql_append_guid_list_to_sql, teardown);
-// GNC_TEST_ADD (suitename, "gnc sql object is it in db", Fixture, NULL, test_gnc_sql_object_is_it_in_db, teardown);
-// GNC_TEST_ADD (suitename, "gnc sql do db operation", Fixture, NULL, test_gnc_sql_do_db_operation, teardown);
-// GNC_TEST_ADD (suitename, "create gslist from values", Fixture, NULL, test_create_gslist_from_values, teardown);
-// GNC_TEST_ADD (suitename, "gnc sql get sql value", Fixture, NULL, test_gnc_sql_get_sql_value, teardown);
-// GNC_TEST_ADD (suitename, "free gvalue list", Fixture, NULL, test_free_gvalue_list, teardown);
-// GNC_TEST_ADD (suitename, "build insert statement", Fixture, NULL, test_build_insert_statement, teardown);
-// GNC_TEST_ADD (suitename, "build update statement", Fixture, NULL, test_build_update_statement, teardown);
-// GNC_TEST_ADD (suitename, "build delete statement", Fixture, NULL, test_build_delete_statement, teardown);
-// GNC_TEST_ADD (suitename, "gnc sql commit standard item", Fixture, NULL, test_gnc_sql_commit_standard_item, teardown);
-// GNC_TEST_ADD (suitename, "do create table", Fixture, NULL, test_do_create_table, teardown);
-// GNC_TEST_ADD (suitename, "gnc sql create table", Fixture, NULL, test_gnc_sql_create_table, teardown);
-// GNC_TEST_ADD (suitename, "gnc sql create temp table", Fixture, NULL, test_gnc_sql_create_temp_table, teardown);
-// GNC_TEST_ADD (suitename, "gnc sql create index", Fixture, NULL, test_gnc_sql_create_index, teardown);
-// GNC_TEST_ADD (suitename, "gnc sql get table version", Fixture, NULL, test_gnc_sql_get_table_version, teardown);
-// GNC_TEST_ADD (suitename, "gnc sql upgrade table", Fixture, NULL, test_gnc_sql_upgrade_table, teardown);
-// GNC_TEST_ADD (suitename, "gnc sql add columns to table", Fixture, NULL, test_gnc_sql_add_columns_to_table, teardown);
-// GNC_TEST_ADD (suitename, "gnc sql init version info", Fixture, NULL, test_gnc_sql_init_version_info, teardown);
-// GNC_TEST_ADD (suitename, "reset version info", Fixture, NULL, test_reset_version_info, teardown);
-// GNC_TEST_ADD (suitename, "gnc sql finalize version info", Fixture, NULL, test_gnc_sql_finalize_version_info, teardown);
-// GNC_TEST_ADD (suitename, "gnc sql set table version", Fixture, NULL, test_gnc_sql_set_table_version, teardown);
+// GNC_TEST_ADD (suitename, "load timespec", Fixture, nullptr, test_load_timespec, teardown);
+// GNC_TEST_ADD (suitename, "add timespec col info to list", Fixture, nullptr, test_add_timespec_col_info_to_list, teardown);
+// GNC_TEST_ADD (suitename, "add gvalue timespec to slist", Fixture, nullptr, test_add_gvalue_timespec_to_slist, teardown);
+// GNC_TEST_ADD (suitename, "load date", Fixture, nullptr, test_load_date, teardown);
+// GNC_TEST_ADD (suitename, "add date col info to list", Fixture, nullptr, test_add_date_col_info_to_list, teardown);
+// GNC_TEST_ADD (suitename, "add gvalue date to slist", Fixture, nullptr, test_add_gvalue_date_to_slist, teardown);
+// GNC_TEST_ADD (suitename, "load numeric", Fixture, nullptr, test_load_numeric, teardown);
+// GNC_TEST_ADD (suitename, "add numeric col info to list", Fixture, nullptr, test_add_numeric_col_info_to_list, teardown);
+// GNC_TEST_ADD (suitename, "add numeric colname to list", Fixture, nullptr, test_add_numeric_colname_to_list, teardown);
+// GNC_TEST_ADD (suitename, "add gvalue numeric to slist", Fixture, nullptr, test_add_gvalue_numeric_to_slist, teardown);
+// GNC_TEST_ADD (suitename, "get handler", Fixture, nullptr, test_get_handler, teardown);
+// GNC_TEST_ADD (suitename, "register standard col type handlers", Fixture, nullptr, test_register_standard_col_type_handlers, teardown);
+// GNC_TEST_ADD (suitename, " retrieve guid ", Fixture, nullptr, test__retrieve_guid_, teardown);
+// GNC_TEST_ADD (suitename, "gnc sql load guid", Fixture, nullptr, test_gnc_sql_load_guid, teardown);
+// GNC_TEST_ADD (suitename, "gnc sql load tx guid", Fixture, nullptr, test_gnc_sql_load_tx_guid, teardown);
+// GNC_TEST_ADD (suitename, "gnc sql load object", Fixture, nullptr, test_gnc_sql_load_object, teardown);
+// GNC_TEST_ADD (suitename, "gnc sql create select statement", Fixture, nullptr, test_gnc_sql_create_select_statement, teardown);
+// GNC_TEST_ADD (suitename, "create single col select statement", Fixture, nullptr, test_create_single_col_select_statement, teardown);
+// GNC_TEST_ADD (suitename, "gnc sql execute select statement", Fixture, nullptr, test_gnc_sql_execute_select_statement, teardown);
+// GNC_TEST_ADD (suitename, "gnc sql create statement from sql", Fixture, nullptr, test_gnc_sql_create_statement_from_sql, teardown);
+// GNC_TEST_ADD (suitename, "gnc sql execute select sql", Fixture, nullptr, test_gnc_sql_execute_select_sql, teardown);
+// GNC_TEST_ADD (suitename, "gnc sql execute nonselect sql", Fixture, nullptr, test_gnc_sql_execute_nonselect_sql, teardown);
+// GNC_TEST_ADD (suitename, "execute statement get count", Fixture, nullptr, test_execute_statement_get_count, teardown);
+// GNC_TEST_ADD (suitename, "gnc sql append guid list to sql", Fixture, nullptr, test_gnc_sql_append_guid_list_to_sql, teardown);
+// GNC_TEST_ADD (suitename, "gnc sql object is it in db", Fixture, nullptr, test_gnc_sql_object_is_it_in_db, teardown);
+// GNC_TEST_ADD (suitename, "gnc sql do db operation", Fixture, nullptr, test_gnc_sql_do_db_operation, teardown);
+// GNC_TEST_ADD (suitename, "create gslist from values", Fixture, nullptr, test_create_gslist_from_values, teardown);
+// GNC_TEST_ADD (suitename, "gnc sql get sql value", Fixture, nullptr, test_gnc_sql_get_sql_value, teardown);
+// GNC_TEST_ADD (suitename, "free gvalue list", Fixture, nullptr, test_free_gvalue_list, teardown);
+// GNC_TEST_ADD (suitename, "build insert statement", Fixture, nullptr, test_build_insert_statement, teardown);
+// GNC_TEST_ADD (suitename, "build update statement", Fixture, nullptr, test_build_update_statement, teardown);
+// GNC_TEST_ADD (suitename, "build delete statement", Fixture, nullptr, test_build_delete_statement, teardown);
+// GNC_TEST_ADD (suitename, "gnc sql commit standard item", Fixture, nullptr, test_gnc_sql_commit_standard_item, teardown);
+// GNC_TEST_ADD (suitename, "do create table", Fixture, nullptr, test_do_create_table, teardown);
+// GNC_TEST_ADD (suitename, "gnc sql create table", Fixture, nullptr, test_gnc_sql_create_table, teardown);
+// GNC_TEST_ADD (suitename, "gnc sql create temp table", Fixture, nullptr, test_gnc_sql_create_temp_table, teardown);
+// GNC_TEST_ADD (suitename, "gnc sql create index", Fixture, nullptr, test_gnc_sql_create_index, teardown);
+// GNC_TEST_ADD (suitename, "gnc sql get table version", Fixture, nullptr, test_gnc_sql_get_table_version, teardown);
+// GNC_TEST_ADD (suitename, "gnc sql upgrade table", Fixture, nullptr, test_gnc_sql_upgrade_table, teardown);
+// GNC_TEST_ADD (suitename, "gnc sql add columns to table", Fixture, nullptr, test_gnc_sql_add_columns_to_table, teardown);
+// GNC_TEST_ADD (suitename, "gnc sql init version info", Fixture, nullptr, test_gnc_sql_init_version_info, teardown);
+// GNC_TEST_ADD (suitename, "reset version info", Fixture, nullptr, test_reset_version_info, teardown);
+// GNC_TEST_ADD (suitename, "gnc sql finalize version info", Fixture, nullptr, test_gnc_sql_finalize_version_info, teardown);
+// GNC_TEST_ADD (suitename, "gnc sql set table version", Fixture, nullptr, test_gnc_sql_set_table_version, teardown);
}
Summary of changes:
po/POTFILES.in | 108 ++++----
src/backend/dbi/Makefile.am | 2 +-
src/backend/dbi/gnc-backend-dbi-priv.h | 8 +-
.../dbi/{gnc-backend-dbi.c => gnc-backend-dbi.cpp} | 39 +--
src/backend/dbi/gnc-backend-dbi.h | 9 +-
src/backend/dbi/test/Makefile.am | 4 +-
src/backend/dbi/test/test-backend-dbi-basic.cpp | 12 +-
.../{test-backend-dbi.c => test-backend-dbi.cpp} | 5 +-
...usiness-stuff.c => test-dbi-business-stuff.cpp} | 10 +-
src/backend/dbi/test/test-dbi-stuff.cpp | 2 +-
src/backend/sql/Makefile.am | 44 ++--
src/backend/sql/{escape.c => escape.cpp} | 5 +-
.../sql/{gnc-account-sql.c => gnc-account-sql.cpp} | 16 +-
src/backend/sql/gnc-account-sql.h | 4 +-
.../sql/{gnc-address-sql.c => gnc-address-sql.cpp} | 7 +-
.../sql/{gnc-backend-sql.c => gnc-backend-sql.cpp} | 90 ++++---
src/backend/sql/gnc-backend-sql.h | 7 +-
.../{gnc-bill-term-sql.c => gnc-bill-term-sql.cpp} | 15 +-
src/backend/sql/gnc-bill-term-sql.h | 4 +-
.../sql/{gnc-book-sql.c => gnc-book-sql.cpp} | 13 +-
src/backend/sql/gnc-book-sql.h | 4 +-
.../sql/{gnc-budget-sql.c => gnc-budget-sql.cpp} | 18 +-
.../{gnc-commodity-sql.c => gnc-commodity-sql.cpp} | 9 +-
src/backend/sql/gnc-commodity-sql.h | 4 +-
.../{gnc-customer-sql.c => gnc-customer-sql.cpp} | 10 +-
.../{gnc-employee-sql.c => gnc-employee-sql.cpp} | 10 +-
.../sql/{gnc-entry-sql.c => gnc-entry-sql.cpp} | 9 +-
.../sql/{gnc-invoice-sql.c => gnc-invoice-sql.cpp} | 11 +-
src/backend/sql/{gnc-job-sql.c => gnc-job-sql.cpp} | 8 +-
.../sql/{gnc-lots-sql.c => gnc-lots-sql.cpp} | 10 +-
.../sql/{gnc-order-sql.c => gnc-order-sql.cpp} | 8 +-
.../sql/{gnc-owner-sql.c => gnc-owner-sql.cpp} | 10 +-
.../sql/{gnc-price-sql.c => gnc-price-sql.cpp} | 12 +-
...gnc-recurrence-sql.c => gnc-recurrence-sql.cpp} | 11 +-
src/backend/sql/gnc-recurrence-sql.h | 4 +-
...schedxaction-sql.c => gnc-schedxaction-sql.cpp} | 22 +-
src/backend/sql/gnc-schedxaction-sql.h | 4 +-
src/backend/sql/gnc-slots-sql.cpp | 5 +-
src/backend/sql/gnc-slots-sql.h | 7 +-
.../{gnc-tax-table-sql.c => gnc-tax-table-sql.cpp} | 15 +-
...c-transaction-sql.c => gnc-transaction-sql.cpp} | 59 +++--
src/backend/sql/gnc-transaction-sql.h | 4 +-
.../sql/{gnc-vendor-sql.c => gnc-vendor-sql.cpp} | 16 +-
src/backend/sql/test/Makefile.am | 6 +-
.../{test-column-types.c => test-column-types.cpp} | 7 +-
.../sql/test/{test-sqlbe.c => test-sqlbe.cpp} | 5 +-
...gnc-backend-sql.c => utest-gnc-backend-sql.cpp} | 241 ++++++++---------
src/backend/xml/Makefile.am | 62 ++---
...gnc-account-xml-v2.c => gnc-account-xml-v2.cpp} | 46 ++--
...gnc-address-xml-v2.c => gnc-address-xml-v2.cpp} | 23 +-
src/backend/xml/gnc-address-xml-v2.h | 5 +-
.../xml/{gnc-backend-xml.c => gnc-backend-xml.cpp} | 17 +-
src/backend/xml/gnc-backend-xml.h | 11 +-
...bill-term-xml-v2.c => gnc-bill-term-xml-v2.cpp} | 64 ++---
src/backend/xml/gnc-bill-term-xml-v2.h | 5 +-
.../xml/{gnc-book-xml-v2.c => gnc-book-xml-v2.cpp} | 18 +-
.../{gnc-budget-xml-v2.c => gnc-budget-xml-v2.cpp} | 6 +-
...commodity-xml-v2.c => gnc-commodity-xml-v2.cpp} | 15 +-
...c-customer-xml-v2.c => gnc-customer-xml-v2.cpp} | 55 ++--
...c-employee-xml-v2.c => gnc-employee-xml-v2.cpp} | 37 +--
.../{gnc-entry-xml-v2.c => gnc-entry-xml-v2.cpp} | 79 +++---
...c-freqspec-xml-v2.c => gnc-freqspec-xml-v2.cpp} | 58 +++--
...gnc-invoice-xml-v2.c => gnc-invoice-xml-v2.cpp} | 55 ++--
.../xml/{gnc-job-xml-v2.c => gnc-job-xml-v2.cpp} | 27 +-
.../xml/{gnc-lot-xml-v2.c => gnc-lot-xml-v2.cpp} | 15 +-
.../{gnc-order-xml-v2.c => gnc-order-xml-v2.cpp} | 32 +--
.../{gnc-owner-xml-v2.c => gnc-owner-xml-v2.cpp} | 17 +-
src/backend/xml/gnc-owner-xml-v2.h | 5 +-
...gnc-pricedb-xml-v2.c => gnc-pricedb-xml-v2.cpp} | 25 +-
...currence-xml-v2.c => gnc-recurrence-xml-v2.cpp} | 8 +-
...action-xml-v2.c => gnc-schedxaction-xml-v2.cpp} | 57 ++--
...tax-table-xml-v2.c => gnc-tax-table-xml-v2.cpp} | 53 ++--
...saction-xml-v2.c => gnc-transaction-xml-v2.cpp} | 56 ++--
.../{gnc-vendor-xml-v2.c => gnc-vendor-xml-v2.cpp} | 41 +--
.../xml/{gnc-xml-helper.c => gnc-xml-helper.cpp} | 6 +-
src/backend/xml/gnc-xml-helper.h | 4 +-
src/backend/xml/gnc-xml.h | 4 +
...gncmod-backend-xml.c => gncmod-backend-xml.cpp} | 5 +-
...io-example-account.c => io-example-account.cpp} | 19 +-
src/backend/xml/io-example-account.h | 10 +-
.../xml/{io-gncxml-gen.c => io-gncxml-gen.cpp} | 4 +-
src/backend/xml/io-gncxml-gen.h | 5 +-
src/backend/xml/io-gncxml-v1.cpp | 5 +-
.../xml/{io-gncxml-v2.c => io-gncxml-v2.cpp} | 95 ++++---
src/backend/xml/io-gncxml-v2.h | 59 +----
src/backend/xml/{io-utils.c => io-utils.cpp} | 12 +-
src/backend/xml/io-utils.h | 6 +-
src/backend/xml/sixtp-dom-generators.cpp | 5 +-
src/backend/xml/sixtp-dom-generators.h | 11 +-
src/backend/xml/sixtp-dom-parsers.cpp | 9 +-
src/backend/xml/sixtp-dom-parsers.h | 11 +-
src/backend/xml/{sixtp-stack.c => sixtp-stack.cpp} | 5 +-
src/backend/xml/sixtp-stack.h | 4 +-
...xtp-to-dom-parser.c => sixtp-to-dom-parser.cpp} | 6 +-
src/backend/xml/{sixtp-utils.c => sixtp-utils.cpp} | 9 +-
src/backend/xml/sixtp-utils.h | 5 +-
src/backend/xml/{sixtp.c => sixtp.cpp} | 40 ++-
src/backend/xml/sixtp.h | 101 ++++++--
src/backend/xml/test/Makefile.am | 287 +++++++++++----------
...-date-converting.c => test-date-converting.cpp} | 6 +-
...-dom-converters1.c => test-dom-converters1.cpp} | 22 +-
.../{test-dom-parser1.c => test-dom-parser1.cpp} | 4 +-
src/backend/xml/test/test-file-stuff.cpp | 12 +-
src/backend/xml/test/test-file-stuff.h | 8 +-
src/backend/xml/test/test-kvp-frames.cpp | 4 +-
.../{test-load-backend.c => test-load-backend.cpp} | 4 +-
...ple-account.c => test-load-example-account.cpp} | 14 +-
.../test/{test-load-xml2.c => test-load-xml2.cpp} | 17 +-
.../{test-save-in-lang.c => test-save-in-lang.cpp} | 5 +-
...ing-converters.c => test-string-converters.cpp} | 32 ++-
.../{test-xml-account.c => test-xml-account.cpp} | 29 ++-
...test-xml-commodity.c => test-xml-commodity.cpp} | 27 +-
.../{test-xml-pricedb.c => test-xml-pricedb.cpp} | 24 +-
...-xml-transaction.c => test-xml-transaction.cpp} | 60 ++---
.../{test-xml2-is-file.c => test-xml2-is-file.cpp} | 11 +-
src/gnome-utils/assistant-xml-encoding.c | 1 -
116 files changed, 1495 insertions(+), 1337 deletions(-)
rename src/backend/dbi/{gnc-backend-dbi.c => gnc-backend-dbi.cpp} (99%)
rename src/backend/dbi/test/{test-backend-dbi.c => test-backend-dbi.cpp} (99%)
rename src/backend/dbi/test/{test-dbi-business-stuff.c => test-dbi-business-stuff.cpp} (99%)
rename src/backend/sql/{escape.c => escape.cpp} (94%)
rename src/backend/sql/{gnc-account-sql.c => gnc-account-sql.cpp} (98%)
rename src/backend/sql/{gnc-address-sql.c => gnc-address-sql.cpp} (98%)
rename src/backend/sql/{gnc-backend-sql.c => gnc-backend-sql.cpp} (97%)
rename src/backend/sql/{gnc-bill-term-sql.c => gnc-bill-term-sql.cpp} (98%)
rename src/backend/sql/{gnc-book-sql.c => gnc-book-sql.cpp} (99%)
rename src/backend/sql/{gnc-budget-sql.c => gnc-budget-sql.cpp} (99%)
rename src/backend/sql/{gnc-commodity-sql.c => gnc-commodity-sql.cpp} (99%)
rename src/backend/sql/{gnc-customer-sql.c => gnc-customer-sql.cpp} (99%)
rename src/backend/sql/{gnc-employee-sql.c => gnc-employee-sql.cpp} (99%)
rename src/backend/sql/{gnc-entry-sql.c => gnc-entry-sql.cpp} (99%)
rename src/backend/sql/{gnc-invoice-sql.c => gnc-invoice-sql.cpp} (99%)
rename src/backend/sql/{gnc-job-sql.c => gnc-job-sql.cpp} (99%)
rename src/backend/sql/{gnc-lots-sql.c => gnc-lots-sql.cpp} (99%)
rename src/backend/sql/{gnc-order-sql.c => gnc-order-sql.cpp} (99%)
rename src/backend/sql/{gnc-owner-sql.c => gnc-owner-sql.cpp} (99%)
rename src/backend/sql/{gnc-price-sql.c => gnc-price-sql.cpp} (99%)
rename src/backend/sql/{gnc-recurrence-sql.c => gnc-recurrence-sql.cpp} (99%)
rename src/backend/sql/{gnc-schedxaction-sql.c => gnc-schedxaction-sql.cpp} (99%)
rename src/backend/sql/{gnc-tax-table-sql.c => gnc-tax-table-sql.cpp} (99%)
rename src/backend/sql/{gnc-transaction-sql.c => gnc-transaction-sql.cpp} (97%)
rename src/backend/sql/{gnc-vendor-sql.c => gnc-vendor-sql.cpp} (99%)
rename src/backend/sql/test/{test-column-types.c => test-column-types.cpp} (96%)
rename src/backend/sql/test/{test-sqlbe.c => test-sqlbe.cpp} (99%)
rename src/backend/sql/test/{utest-gnc-backend-sql.c => utest-gnc-backend-sql.cpp} (74%)
rename src/backend/xml/{gnc-account-xml-v2.c => gnc-account-xml-v2.cpp} (91%)
rename src/backend/xml/{gnc-address-xml-v2.c => gnc-address-xml-v2.cpp} (90%)
rename src/backend/xml/{gnc-backend-xml.c => gnc-backend-xml.cpp} (99%)
rename src/backend/xml/{gnc-bill-term-xml-v2.c => gnc-bill-term-xml-v2.cpp} (92%)
rename src/backend/xml/{gnc-book-xml-v2.c => gnc-book-xml-v2.cpp} (96%)
rename src/backend/xml/{gnc-budget-xml-v2.c => gnc-budget-xml-v2.cpp} (98%)
rename src/backend/xml/{gnc-commodity-xml-v2.c => gnc-commodity-xml-v2.cpp} (98%)
rename src/backend/xml/{gnc-customer-xml-v2.c => gnc-customer-xml-v2.cpp} (91%)
rename src/backend/xml/{gnc-employee-xml-v2.c => gnc-employee-xml-v2.cpp} (91%)
rename src/backend/xml/{gnc-entry-xml-v2.c => gnc-entry-xml-v2.cpp} (90%)
rename src/backend/xml/{gnc-freqspec-xml-v2.c => gnc-freqspec-xml-v2.cpp} (90%)
rename src/backend/xml/{gnc-invoice-xml-v2.c => gnc-invoice-xml-v2.cpp} (91%)
rename src/backend/xml/{gnc-job-xml-v2.c => gnc-job-xml-v2.cpp} (92%)
rename src/backend/xml/{gnc-lot-xml-v2.c => gnc-lot-xml-v2.cpp} (96%)
rename src/backend/xml/{gnc-order-xml-v2.c => gnc-order-xml-v2.cpp} (92%)
rename src/backend/xml/{gnc-owner-xml-v2.c => gnc-owner-xml-v2.cpp} (97%)
rename src/backend/xml/{gnc-pricedb-xml-v2.c => gnc-pricedb-xml-v2.cpp} (96%)
rename src/backend/xml/{gnc-recurrence-xml-v2.c => gnc-recurrence-xml-v2.cpp} (99%)
rename src/backend/xml/{gnc-schedxaction-xml-v2.c => gnc-schedxaction-xml-v2.cpp} (93%)
rename src/backend/xml/{gnc-tax-table-xml-v2.c => gnc-tax-table-xml-v2.cpp} (92%)
rename src/backend/xml/{gnc-transaction-xml-v2.c => gnc-transaction-xml-v2.cpp} (91%)
rename src/backend/xml/{gnc-vendor-xml-v2.c => gnc-vendor-xml-v2.cpp} (92%)
rename src/backend/xml/{gnc-xml-helper.c => gnc-xml-helper.cpp} (99%)
rename src/backend/xml/{gncmod-backend-xml.c => gncmod-backend-xml.cpp} (99%)
rename src/backend/xml/{io-example-account.c => io-example-account.cpp} (99%)
rename src/backend/xml/{io-gncxml-gen.c => io-gncxml-gen.cpp} (99%)
rename src/backend/xml/{io-gncxml-v2.c => io-gncxml-v2.cpp} (96%)
rename src/backend/xml/{io-utils.c => io-utils.cpp} (94%)
rename src/backend/xml/{sixtp-stack.c => sixtp-stack.cpp} (99%)
rename src/backend/xml/{sixtp-to-dom-parser.c => sixtp-to-dom-parser.cpp} (98%)
rename src/backend/xml/{sixtp-utils.c => sixtp-utils.cpp} (99%)
rename src/backend/xml/{sixtp.c => sixtp.cpp} (96%)
rename src/backend/xml/test/{test-date-converting.c => test-date-converting.cpp} (99%)
rename src/backend/xml/test/{test-dom-converters1.c => test-dom-converters1.cpp} (96%)
rename src/backend/xml/test/{test-dom-parser1.c => test-dom-parser1.cpp} (99%)
rename src/backend/xml/test/{test-load-backend.c => test-load-backend.cpp} (99%)
rename src/backend/xml/test/{test-load-example-account.c => test-load-example-account.cpp} (99%)
rename src/backend/xml/test/{test-load-xml2.c => test-load-xml2.cpp} (94%)
rename src/backend/xml/test/{test-save-in-lang.c => test-save-in-lang.cpp} (99%)
rename src/backend/xml/test/{test-string-converters.c => test-string-converters.cpp} (85%)
rename src/backend/xml/test/{test-xml-account.c => test-xml-account.cpp} (95%)
rename src/backend/xml/test/{test-xml-commodity.c => test-xml-commodity.cpp} (98%)
rename src/backend/xml/test/{test-xml-pricedb.c => test-xml-pricedb.cpp} (94%)
rename src/backend/xml/test/{test-xml-transaction.c => test-xml-transaction.cpp} (92%)
rename src/backend/xml/test/{test-xml2-is-file.c => test-xml2-is-file.cpp} (93%)
More information about the gnucash-changes
mailing list