diff --git a/po/POTFILES.in b/po/POTFILES.in index af02822487..58c75b9665 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -58,7 +58,7 @@ 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/sql/gnc-slots-sql.c +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 @@ -91,8 +91,8 @@ src/backend/xml/io-gncxml-v1.c src/backend/xml/io-gncxml-v2.c src/backend/xml/io-utils.c src/backend/xml/sixtp.c -src/backend/xml/sixtp-dom-generators.c -src/backend/xml/sixtp-dom-parsers.c +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 diff --git a/src/backend/sql/Makefile.am b/src/backend/sql/Makefile.am index d656030511..11a7bd5af3 100644 --- a/src/backend/sql/Makefile.am +++ b/src/backend/sql/Makefile.am @@ -38,7 +38,7 @@ libgnc_backend_sql_la_SOURCES = \ gnc-price-sql.c \ gnc-recurrence-sql.c \ gnc-schedxaction-sql.c \ - gnc-slots-sql.c \ + gnc-slots-sql.cpp \ gnc-tax-table-sql.c \ gnc-transaction-sql.c \ gnc-vendor-sql.c \ diff --git a/src/backend/sql/gnc-slots-sql.c b/src/backend/sql/gnc-slots-sql.cpp similarity index 97% rename from src/backend/sql/gnc-slots-sql.c rename to src/backend/sql/gnc-slots-sql.cpp index 0611e3e7f9..9bd6b5c085 100644 --- a/src/backend/sql/gnc-slots-sql.c +++ b/src/backend/sql/gnc-slots-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 @@ -40,7 +41,7 @@ #ifdef S_SPLINT_S #include "splint-defs.h" #endif - +} /*@ unused @*/ static QofLogModule log_module = G_LOG_DOMAIN; #define TABLE_NAME "slots" @@ -323,7 +324,7 @@ get_slot_type( gpointer pObject ) { slot_info_t* pInfo = (slot_info_t*)pObject; - g_return_val_if_fail( pObject != NULL, 0 ); + g_return_val_if_fail( pObject != NULL, KVP_TYPE_INVALID ); // return (gpointer)kvp_value_get_type( pInfo->pKvpValue ); return pInfo->value_type; @@ -337,7 +338,7 @@ set_slot_type( gpointer pObject, /*@ null @*/ gpointer pValue ) g_return_if_fail( pObject != NULL ); g_return_if_fail( pValue != NULL ); - pInfo->value_type = (KvpValueType)pValue; + pInfo->value_type = static_cast(GPOINTER_TO_INT(pValue)); } static gint64 @@ -709,7 +710,8 @@ save_slot( const gchar* key, KvpValue* value, gpointer data ) gboolean gnc_sql_slots_save( GncSqlBackend* be, const GncGUID* guid, gboolean is_infant, KvpFrame* pFrame ) { - slot_info_t slot_info = { NULL, NULL, TRUE, NULL, 0, NULL, FRAME, NULL, g_string_new(NULL) }; + slot_info_t slot_info = { NULL, NULL, TRUE, NULL, KVP_TYPE_INVALID, NULL, FRAME, NULL, g_string_new(NULL) }; + KvpFrame *pFrame = qof_instance_get_slots (inst); g_return_val_if_fail( be != NULL, FALSE ); g_return_val_if_fail( guid != NULL, FALSE ); @@ -736,7 +738,7 @@ gnc_sql_slots_delete( GncSqlBackend* be, const GncGUID* guid ) GncSqlResult* result; gchar guid_buf[GUID_ENCODING_LENGTH + 1]; GncSqlStatement* stmt; - slot_info_t slot_info = { NULL, NULL, TRUE, NULL, 0, NULL, FRAME, NULL, g_string_new(NULL) }; + slot_info_t slot_info = { NULL, NULL, TRUE, NULL, KVP_TYPE_INVALID, NULL, FRAME, NULL, g_string_new(NULL) }; g_return_val_if_fail( be != NULL, FALSE ); g_return_val_if_fail( guid != NULL, FALSE ); @@ -818,7 +820,7 @@ load_slot( slot_info_t *pInfo, GncSqlRow* row ) void gnc_sql_slots_load( GncSqlBackend* be, QofInstance* inst ) { - slot_info_t info = { NULL, NULL, TRUE, NULL, 0, NULL, FRAME, NULL, g_string_new(NULL) }; + slot_info_t info = { NULL, NULL, TRUE, NULL, KVP_TYPE_INVALID, NULL, FRAME, NULL, g_string_new(NULL) }; g_return_if_fail( be != NULL ); g_return_if_fail( inst != NULL ); @@ -883,7 +885,7 @@ load_obj_guid( const GncSqlBackend* be, GncSqlRow* row ) static void load_slot_for_list_item( GncSqlBackend* be, GncSqlRow* row, QofCollection* coll ) { - slot_info_t slot_info = { NULL, NULL, TRUE, NULL, 0, NULL, FRAME, NULL, NULL }; + slot_info_t slot_info = { NULL, NULL, TRUE, NULL, KVP_TYPE_INVALID, NULL, FRAME, NULL, NULL }; const GncGUID* guid; QofInstance* inst; @@ -969,7 +971,7 @@ gnc_sql_slots_load_for_list( GncSqlBackend* be, GList* list ) static void load_slot_for_book_object( GncSqlBackend* be, GncSqlRow* row, BookLookupFn lookup_fn ) { - slot_info_t slot_info = { NULL, NULL, TRUE, NULL, 0, NULL, FRAME, NULL, NULL }; + slot_info_t slot_info = { NULL, NULL, TRUE, NULL, KVP_TYPE_INVALID, NULL, FRAME, NULL, NULL }; const GncGUID* guid; QofInstance* inst; diff --git a/src/backend/sql/gnc-slots-sql.h b/src/backend/sql/gnc-slots-sql.h index e7f00eb678..a9d6685d3c 100644 --- a/src/backend/sql/gnc-slots-sql.h +++ b/src/backend/sql/gnc-slots-sql.h @@ -28,6 +28,10 @@ #ifndef GNC_SLOTS_SQL_H #define GNC_SLOTS_SQL_H +#ifdef __cplusplus +extern "C" +{ +#endif #include #include "guid.h" @@ -88,4 +92,7 @@ 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/xml/Makefile.am b/src/backend/xml/Makefile.am index 7709aa1709..e7bb12e610 100644 --- a/src/backend/xml/Makefile.am +++ b/src/backend/xml/Makefile.am @@ -45,8 +45,8 @@ libgnc_backend_xml_utils_la_SOURCES = \ io-gncxml-v1.c \ io-gncxml-v2.c \ io-utils.c \ - sixtp-dom-generators.c \ - sixtp-dom-parsers.c \ + sixtp-dom-generators.cpp \ + sixtp-dom-parsers.cpp \ sixtp-stack.c \ sixtp-to-dom-parser.c \ sixtp-utils.c \ diff --git a/src/backend/xml/sixtp-dom-generators.c b/src/backend/xml/sixtp-dom-generators.cpp similarity index 97% rename from src/backend/xml/sixtp-dom-generators.c rename to src/backend/xml/sixtp-dom-generators.cpp index 083bb723c9..665aebddaf 100644 --- a/src/backend/xml/sixtp-dom-generators.c +++ b/src/backend/xml/sixtp-dom-generators.cpp @@ -20,7 +20,8 @@ * Boston, MA 02110-1301, USA gnu@gnu.org * * * ********************************************************************/ - +extern "C" +{ #define __EXTENSIONS__ #include "config.h" @@ -31,6 +32,7 @@ #include "sixtp-dom-generators.h" #include "sixtp-utils.h" +} static QofLogModule log_module = GNC_MOD_IO; @@ -237,11 +239,11 @@ double_to_string(double value) } static void -add_text_to_node(xmlNodePtr node, gchar *type, gchar *val) +add_text_to_node(xmlNodePtr node, const gchar *type, gchar *val) { gchar *newtype = g_strdup (type); gchar *newval = g_strdup (val); - xmlSetProp(node, BAD_CAST "type", checked_char_cast (type)); + xmlSetProp(node, BAD_CAST "type", BAD_CAST type); xmlNodeSetContent(node, checked_char_cast (val)); g_free (newtype); g_free(newval); @@ -251,7 +253,7 @@ static void add_kvp_slot(const char * key, KvpValue* value, xmlNodePtr node); static void -add_kvp_value_node(xmlNodePtr node, gchar *tag, KvpValue* val) +add_kvp_value_node(xmlNodePtr node, const gchar *tag, KvpValue* val) { xmlNodePtr val_node; kvp_value_t kvp_type; diff --git a/src/backend/xml/sixtp-dom-generators.h b/src/backend/xml/sixtp-dom-generators.h index 9a8b3b71cf..09b14b5b7c 100644 --- a/src/backend/xml/sixtp-dom-generators.h +++ b/src/backend/xml/sixtp-dom-generators.h @@ -24,6 +24,10 @@ #ifndef SIXTP_DOM_GENERATORS_H #define SIXTP_DOM_GENERATORS_H +#ifdef __cplusplus +extern "C" +{ +#endif #include #include "gnc-xml-helper.h" @@ -49,4 +53,7 @@ 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.c b/src/backend/xml/sixtp-dom-parsers.cpp similarity index 99% rename from src/backend/xml/sixtp-dom-parsers.c rename to src/backend/xml/sixtp-dom-parsers.cpp index 1eb9c03bb3..aa001655b2 100644 --- a/src/backend/xml/sixtp-dom-parsers.c +++ b/src/backend/xml/sixtp-dom-parsers.cpp @@ -20,7 +20,8 @@ * Boston, MA 02110-1301, USA gnu@gnu.org * * * ********************************************************************/ - +extern "C" +{ #include "config.h" #include @@ -30,7 +31,7 @@ #include "gnc-engine.h" #include "sixtp-utils.h" #include "sixtp-dom-parsers.h" - +} static QofLogModule log_module = GNC_MOD_IO; GncGUID* @@ -350,7 +351,7 @@ dom_tree_to_frame_kvp_value(xmlNodePtr node) struct kvp_val_converter { - gchar *tag; + const gchar *tag; KvpValue* (*converter)(xmlNodePtr node); }; @@ -683,7 +684,8 @@ dom_tree_to_gdate(xmlNodePtr node) } g_free(content); seen_date = TRUE; - g_date_set_dmy( ret, day, month, year ); + g_date_set_dmy( ret, day, static_cast(month), + year ); if ( !g_date_valid( ret ) ) { PWARN("invalid date"); diff --git a/src/backend/xml/sixtp-dom-parsers.h b/src/backend/xml/sixtp-dom-parsers.h index b48f8b5fcd..efae18ae2f 100644 --- a/src/backend/xml/sixtp-dom-parsers.h +++ b/src/backend/xml/sixtp-dom-parsers.h @@ -23,6 +23,10 @@ #ifndef SIXTP_DOM_PARSERS_H #define SIXTP_DOM_PARSERS_H +#ifdef __cplusplus +extern "C" +{ +#endif #include @@ -88,5 +92,7 @@ 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/test/Makefile.am b/src/backend/xml/test/Makefile.am index d3993533d2..40c10489ec 100644 --- a/src/backend/xml/test/Makefile.am +++ b/src/backend/xml/test/Makefile.am @@ -2,8 +2,8 @@ SUBDIRS = test-files test_date_converting_SOURCES = \ - ${top_srcdir}/src/backend/xml/sixtp-dom-parsers.c \ - ${top_srcdir}/src/backend/xml/sixtp-dom-generators.c \ + ${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 \ @@ -12,8 +12,8 @@ test_date_converting_SOURCES = \ test-date-converting.c test_dom_converters1_SOURCES = \ - ${top_srcdir}/src/backend/xml/sixtp-dom-parsers.c \ - ${top_srcdir}/src/backend/xml/sixtp-dom-generators.c \ + ${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 \ @@ -22,8 +22,8 @@ test_dom_converters1_SOURCES = \ test-dom-converters1.c test_kvp_frames_SOURCES = \ - ${top_srcdir}/src/backend/xml/sixtp-dom-parsers.c \ - ${top_srcdir}/src/backend/xml/sixtp-dom-generators.c \ + ${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 \ @@ -36,8 +36,8 @@ test_kvp_frames_SOURCES = \ # and remain portable. test_load_example_account_SOURCES = \ - ${top_srcdir}/src/backend/xml/sixtp-dom-parsers.c \ - ${top_srcdir}/src/backend/xml/sixtp-dom-generators.c \ + ${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 \ @@ -60,8 +60,8 @@ test_load_example_account_SOURCES = \ test-load-example-account.c test_string_converters_SOURCES = \ - ${top_srcdir}/src/backend/xml/sixtp-dom-parsers.c \ - ${top_srcdir}/src/backend/xml/sixtp-dom-generators.c \ + ${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 \ @@ -70,8 +70,8 @@ test_string_converters_SOURCES = \ test-string-converters.c test_xml_account_SOURCES = \ - ${top_srcdir}/src/backend/xml/sixtp-dom-parsers.c \ - ${top_srcdir}/src/backend/xml/sixtp-dom-generators.c \ + ${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 \ @@ -93,8 +93,8 @@ test_xml_account_SOURCES = \ test-xml-account.c test_xml_commodity_SOURCES = \ - ${top_srcdir}/src/backend/xml/sixtp-dom-parsers.c \ - ${top_srcdir}/src/backend/xml/sixtp-dom-generators.c \ + ${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 \ @@ -116,8 +116,8 @@ test_xml_commodity_SOURCES = \ test-xml-commodity.c test_xml_pricedb_SOURCES = \ - ${top_srcdir}/src/backend/xml/sixtp-dom-parsers.c \ - ${top_srcdir}/src/backend/xml/sixtp-dom-generators.c \ + ${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 \ @@ -139,8 +139,8 @@ test_xml_pricedb_SOURCES = \ test-xml-pricedb.c test_xml_transaction_SOURCES = \ - ${top_srcdir}/src/backend/xml/sixtp-dom-parsers.c \ - ${top_srcdir}/src/backend/xml/sixtp-dom-generators.c \ + ${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 \ @@ -162,8 +162,8 @@ test_xml_transaction_SOURCES = \ test-xml-transaction.c test_xml2_is_file_SOURCES = \ - ${top_srcdir}/src/backend/xml/sixtp-dom-parsers.c \ - ${top_srcdir}/src/backend/xml/sixtp-dom-generators.c \ + ${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 \