r19360 - gnucash/trunk/src - Remove separate object initialization in engine/gncBusiness.c and move this into one common initialization function cashobjects_register in <engine/cashobjects.h>.

Christian Stimming cstim at code.gnucash.org
Mon Jul 12 16:12:22 EDT 2010


Author: cstim
Date: 2010-07-12 16:12:22 -0400 (Mon, 12 Jul 2010)
New Revision: 19360
Trac: http://svn.gnucash.org/trac/changeset/19360

Removed:
   gnucash/trunk/src/engine/gncBusiness.c
Modified:
   gnucash/trunk/src/business/business-core/gncmod-business-core.c
   gnucash/trunk/src/business/business-core/sql/test/test-dbi-business.c
   gnucash/trunk/src/engine/CMakeLists.txt
   gnucash/trunk/src/engine/Makefile.am
   gnucash/trunk/src/engine/cashobjects.c
   gnucash/trunk/src/engine/gncBusiness.h
   gnucash/trunk/src/gnc/main.cpp
   gnucash/trunk/src/optional/python-bindings/gnucash_core.i
Log:
Remove separate object initialization in engine/gncBusiness.c and move this into one common initialization function cashobjects_register in <engine/cashobjects.h>.

Modified: gnucash/trunk/src/business/business-core/gncmod-business-core.c
===================================================================
--- gnucash/trunk/src/business/business-core/gncmod-business-core.c	2010-07-12 20:12:08 UTC (rev 19359)
+++ gnucash/trunk/src/business/business-core/gncmod-business-core.c	2010-07-12 20:12:22 UTC (rev 19360)
@@ -67,7 +67,7 @@
 
     if (refcount == 0)
     {
-        gnc_module_init_business_core_init();
+        /* Object initialization already finished in the engine. */
     }
 
     scm_init_sw_business_core_module();

Modified: gnucash/trunk/src/business/business-core/sql/test/test-dbi-business.c
===================================================================
--- gnucash/trunk/src/business/business-core/sql/test/test-dbi-business.c	2010-07-12 20:12:08 UTC (rev 19359)
+++ gnucash/trunk/src/business/business-core/sql/test/test-dbi-business.c	2010-07-12 20:12:22 UTC (rev 19360)
@@ -160,7 +160,6 @@
 
     qof_init();
     cashobjects_register();
-    gnc_module_init_business_core_init();
     qof_load_backend_library ("../../../../backend/dbi/.libs/", GNC_LIB_NAME);
     init_business_sql();
 

Modified: gnucash/trunk/src/engine/CMakeLists.txt
===================================================================
--- gnucash/trunk/src/engine/CMakeLists.txt	2010-07-12 20:12:08 UTC (rev 19359)
+++ gnucash/trunk/src/engine/CMakeLists.txt	2010-07-12 20:12:22 UTC (rev 19360)
@@ -138,7 +138,6 @@
   gncAddress.c
   gncBillTerm.c
   gncBusGuile.c
-  gncBusiness.c
   gncCustomer.c
   gncEmployee.c
   gncEntry.c

Modified: gnucash/trunk/src/engine/Makefile.am
===================================================================
--- gnucash/trunk/src/engine/Makefile.am	2010-07-12 20:12:08 UTC (rev 19359)
+++ gnucash/trunk/src/engine/Makefile.am	2010-07-12 20:12:22 UTC (rev 19360)
@@ -47,7 +47,6 @@
   gncBusGuile.c \
   gncAddress.c \
   gncBillTerm.c \
-  gncBusiness.c \
   gncCustomer.c \
   gncEmployee.c \
   gncEntry.c \

Modified: gnucash/trunk/src/engine/cashobjects.c
===================================================================
--- gnucash/trunk/src/engine/cashobjects.c	2010-07-12 20:12:08 UTC (rev 19359)
+++ gnucash/trunk/src/engine/cashobjects.c	2010-07-12 20:12:22 UTC (rev 19360)
@@ -2,8 +2,11 @@
  *            cashobjects.c
  *
  *  Mon Aug 22 09:49:52 2005
- *  Copyright  2005  Neil Williams
- *  linux at codehelp.co.uk
+ *  Copyright  2005  Neil Williams linux at codehelp.co.uk
+ *
+ * Copyright (C) 2002 Derek Atkins
+ * Copyright (C) 2010 Christian Stimming
+ *
  ****************************************************************************/
 
 /*
@@ -34,6 +37,35 @@
 #include "gnc-lot-p.h"
 #include "gnc-budget.h"
 
+#include "gncAddressP.h"
+#include "gncBillTermP.h"
+#include "gncCustomerP.h"
+#include "gncEmployeeP.h"
+#include "gncEntryP.h"
+#include "gncInvoiceP.h"
+#include "gncJobP.h"
+#include "gncOrderP.h"
+#include "gncOwnerP.h"
+#include "gncTaxTableP.h"
+#include "gncVendorP.h"
+
+static void
+business_core_init(void)
+{
+    /* initialize known types */
+    gncInvoiceRegister ();
+    gncJobRegister ();
+    gncBillTermRegister ();
+    gncCustomerRegister ();
+    gncAddressRegister ();
+    gncEmployeeRegister ();
+    gncEntryRegister ();
+    gncOrderRegister ();
+    gncOwnerRegister ();
+    gncTaxTableRegister ();
+    gncVendorRegister ();
+}
+
 gboolean
 cashobjects_register(void)
 {
@@ -46,6 +78,10 @@
     g_return_val_if_fail(gnc_pricedb_register(), FALSE);
     g_return_val_if_fail (gnc_budget_register(), FALSE);
     g_return_val_if_fail ( gnc_lot_register (), FALSE);
+
+    /* And the business objects */
+    business_core_init();
+
     return TRUE;
 }
 

Deleted: gnucash/trunk/src/engine/gncBusiness.c
===================================================================
--- gnucash/trunk/src/engine/gncBusiness.c	2010-07-12 20:12:08 UTC (rev 19359)
+++ gnucash/trunk/src/engine/gncBusiness.c	2010-07-12 20:12:22 UTC (rev 19360)
@@ -1,57 +0,0 @@
-/*
- * gncBusiness.c -- Business helper functions
- * Copyright (C) 2002 Derek Atkins
- * Author: Derek Atkins <warlord at MIT.EDU>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, contact:
- *
- * Free Software Foundation           Voice:  +1-617-542-5942
- * 51 Franklin Street, Fifth Floor    Fax:    +1-617-542-2652
- * Boston, MA  02110-1301,  USA       gnu at gnu.org
- */
-
-#include "config.h"
-
-#include "gncBusiness.h"
-
-#include <glib.h>
-
-#include "gncAddressP.h"
-#include "gncBillTermP.h"
-#include "gncCustomerP.h"
-#include "gncEmployeeP.h"
-#include "gncEntryP.h"
-#include "gncInvoiceP.h"
-#include "gncJobP.h"
-#include "gncOrderP.h"
-#include "gncOwnerP.h"
-#include "gncTaxTableP.h"
-#include "gncVendorP.h"
-
-void
-gnc_module_init_business_core_init(void)
-{
-    /* initialize known types */
-    gncInvoiceRegister ();
-    gncJobRegister ();
-    gncBillTermRegister ();
-    gncCustomerRegister ();
-    gncAddressRegister ();
-    gncEmployeeRegister ();
-    gncEntryRegister ();
-    gncOrderRegister ();
-    gncOwnerRegister ();
-    gncTaxTableRegister ();
-    gncVendorRegister ();
-}

Modified: gnucash/trunk/src/engine/gncBusiness.h
===================================================================
--- gnucash/trunk/src/engine/gncBusiness.h	2010-07-12 20:12:08 UTC (rev 19359)
+++ gnucash/trunk/src/engine/gncBusiness.h	2010-07-12 20:12:22 UTC (rev 19360)
@@ -47,8 +47,8 @@
 #define GNC_TAXTABLE_MODULE_NAME GNC_ID_TAXTABLE
 #define GNC_VENDOR_MODULE_NAME   GNC_ID_VENDOR
 
-void
-gnc_module_init_business_core_init(void);
+/* The initialization of the business objects is done in
+ * cashobjects_register() of <engine/cashobjects.h>. */
 
 #ifndef DI
 # ifdef _MSC_VER

Modified: gnucash/trunk/src/gnc/main.cpp
===================================================================
--- gnucash/trunk/src/gnc/main.cpp	2010-07-12 20:12:08 UTC (rev 19359)
+++ gnucash/trunk/src/gnc/main.cpp	2010-07-12 20:12:22 UTC (rev 19360)
@@ -48,7 +48,6 @@
 #include "swig-runtime.h"
 
 #include "backend/xml/gnc-backend-xml.h"
-#include "engine/gncBusiness.h"
 #include "business/business-core/xml/gncmod-business-backend-xml.h"
 #ifdef WITH_SQL
 #  include "backend/dbi/gnc-backend-dbi.h"
@@ -180,7 +179,6 @@
 #ifdef WITH_SQL
     gnc_module_init_backend_dbi();
 #endif
-    gnc_module_init_business_core_init();
     gnc_module_init_business_core_xml_init();
     gnc_ui_util_init();
     gnc_exp_parser_init();

Modified: gnucash/trunk/src/optional/python-bindings/gnucash_core.i
===================================================================
--- gnucash/trunk/src/optional/python-bindings/gnucash_core.i	2010-07-12 20:12:08 UTC (rev 19359)
+++ gnucash/trunk/src/optional/python-bindings/gnucash_core.i	2010-07-12 20:12:22 UTC (rev 19360)
@@ -187,7 +187,6 @@
 
 gnc_module_init_backend_xml();
 gnc_module_init_backend_dbi();
-gnc_module_init_business_core_init();
 gnc_module_init_business_core_xml_init();
 gnc_module_init_business_core_sql_init();
 %}



More information about the gnucash-changes mailing list