Esempio n. 1
0
static void
main_helper (void *closure, int argc, char **argv)
{
    gnc_module_system_init ();
    gnc_module_load("gnucash/engine", 0);
    gnc_module_load("gnucash/app-utils", 0);

    xaccLogDisable ();

    /* scm conversion doesn't handle binary atm */
    kvp_exclude_type (KVP_TYPE_BINARY);

    /* double->string->double is not idempotent */
    kvp_exclude_type (KVP_TYPE_DOUBLE);

    /* Initialize to a known RNG position */
    guid_init();
    srand(1);

    run_tests ();

    print_test_results ();

    exit (get_rv ());
}
Esempio n. 2
0
int
libgncmod_gnome_utils_gnc_module_init(int refcount)
{
    /* load the engine (we depend on it) */
    if (!gnc_module_load("gnucash/engine", 0))
    {
        return FALSE;
    }

    if (!gnc_module_load("gnucash/app-utils", 0))
    {
        return FALSE;
    }

    scm_init_sw_gnome_utils_module();
    lmod("(sw_gnome_utils)");
    lmod("(gnucash gnome-utils)");

    /* Initialize the options-ui database */
    if (refcount == 0)
    {
        gnc_options_ui_initialize ();
    }

    return TRUE;
}
int
libgncmod_generic_import_gnc_module_init(int refcount)
{
    if (!gnc_module_load("gnucash/engine", 0))
    {
        return FALSE;
    }
    if (!gnc_module_load("gnucash/app-utils", 0))
    {
        return FALSE;
    }
    if (!gnc_module_load("gnucash/gnome-utils", 0))
    {
        return FALSE;
    }

    if (!refcount)
    {
        gnc_import_format_gnome_register();
        gnc_preferences_add_to_page("generic-import.glade", "matcher_prefs",
                                    _("Online Banking"));

    }

    return TRUE;
}
Esempio n. 4
0
int
libgncmod_csv_export_gnc_module_init(int refcount)
{
    if (!gnc_module_load("gnucash/engine", 0))
    {
        return FALSE;
    }
    if (!gnc_module_load("gnucash/app-utils", 0))
    {
        return FALSE;
    }
    if (!gnc_module_load("gnucash/gnome-utils", 0))
    {
        return FALSE;
    }
    if (!gnc_module_load("gnucash/import-export", 0))
    {
        return FALSE;
    }

    /* Add menu items with C callbacks */
    gnc_plugin_csv_export_create_plugin();

    return TRUE;
}
Esempio n. 5
0
int
libgncmod_register_gnome_gnc_module_init(int refcount)
{
    if (!gnc_module_load("gnucash/register/register-core", 0))
    {
        return FALSE;
    }

    if (!gnc_module_load("gnucash/gnome-utils", 0))
    {
        return FALSE;
    }

    if (refcount == 0)
    {
        gnc_register_add_cell_type (COMBO_CELL_TYPE_NAME, gnc_combo_cell_new);

        gnc_register_add_cell_type (DATE_CELL_TYPE_NAME, gnc_date_cell_new);

        gnc_register_add_cell_type (PRICE_CELL_TYPE_NAME,
                                    gnc_price_cell_gnome_new);

        gnc_register_add_cell_type (QUICKFILL_CELL_TYPE_NAME,
                                    gnc_quickfill_cell_gnome_new);

        gnc_register_add_cell_type( FORMULA_CELL_TYPE_NAME,
                                    gnc_formula_cell_gnome_new );

        gnc_table_gnome_init ();
    }

    return TRUE;
}
Esempio n. 6
0
int
libgncmod_customer_import_gnc_module_init (int refcount)
{
    if (!gnc_module_load ("gnucash/app-utils", 0))
    {
        return FALSE;
    }
    if (!gnc_module_load ("gnucash/gnome-utils", 0))
    {
        return FALSE;
    }
    //if (!gnc_module_load ("gnucash/business-core", 0)) {
    //    return FALSE;
    //}
    if (!gnc_module_load ("gnucash/engine", 0))
    {
        return FALSE;
    }

    if (refcount == 0)
    {
        /* this is the first time the module is loaded */

        gnc_plugin_manager_add_plugin ( gnc_plugin_manager_get (),
                                        gnc_plugin_customer_import_new ());
    }

    return TRUE;
}
Esempio n. 7
0
int
libgncmod_business_gnome_gnc_module_init(int refcount)
{
    /* load app-utils: we depend on it -- and it depends on the engine */
    if (!gnc_module_load ("gnucash/app-utils", 0))
    {
        return FALSE;
    }
    /* We also depend on gnome-utils and gnome-search modules */
    if (!gnc_module_load ("gnucash/gnome-utils", 0))
    {
        return FALSE;
    }
    if (!gnc_module_load ("gnucash/gnome-search", 0))
    {
        return FALSE;
    }
    if (!gnc_module_load ("gnucash/report/report-gnome", 0))
    {
        return FALSE;
    }

    scm_c_eval_string("(use-modules (gnucash business-gnome))");
    scm_c_eval_string("(use-modules (gnucash report business-reports))");

    if (refcount == 0)
    {
        /* Register the Owner search type */
        gnc_search_core_register_type (GNC_OWNER_MODULE_NAME,
                                       (GNCSearchCoreNew) gnc_search_owner_new);
        gnc_business_urls_initialize ();
        gnc_business_options_gnome_initialize ();

        gnc_plugin_manager_add_plugin (gnc_plugin_manager_get (),
                                       gnc_plugin_business_new ());

        gnc_hook_add_dangler(HOOK_BOOK_OPENED,
                             (GFunc)gnc_invoice_remind_bills_due_cb, NULL);
        gnc_hook_add_dangler(HOOK_BOOK_OPENED,
                             (GFunc)gnc_invoice_remind_invoices_due_cb, NULL);

        /* Add to preferences under Business */
        /* The parameters are; glade file, items to add from glade file - last being the dialog, preference tab name */
        gnc_preferences_add_page("business-prefs.glade", "liststore_printinvoice,days_in_adj,cust_days_in_adj,business_prefs",
                                 _("Business"));
    }

    return TRUE;
}
Esempio n. 8
0
static void
guile_main(void *closure, int argc, char ** argv)
{
    GNCModule foo;
    gchar *msg1 = "Module '../../../libgnucash/gnc-module/test/misc-mods/.libs/libgncmod_futuremodsys.so' requires newer module system\n";
    gchar *msg2 = "Could not locate module gnucash/incompatdep interface v.0";
    gchar *logdomain = "gnc.module";
    guint loglevel = G_LOG_LEVEL_WARNING;
    TestErrorStruct check1 = { loglevel, logdomain, msg1 };
    TestErrorStruct check2 = { loglevel, logdomain, msg2 };
    test_add_error (&check1);
    test_add_error (&check2);
    g_log_set_handler (logdomain, loglevel,
                       (GLogFunc)test_list_handler, NULL);

    g_test_message("  test-incompatdep.c:  loading a module with bad deps ...\n");

    gnc_module_system_init();

    foo = gnc_module_load("gnucash/incompatdep", 0);

    if (!foo)
    {
        printf("  ok\n");
        exit(0);
    }
    else
    {
        printf("  oops! loaded incompatible module\n");
        exit(-1);
    }
}
int
libgncmod_business_backend_sql_gnc_module_init(int refcount)
{
    if (!gnc_engine_is_initialized())
    {
        return FALSE;
    }

    bus_core = gnc_module_load( "gnucash/business-core", 0 );
    if ( !bus_core ) return FALSE;

    if ( refcount == 0 )
    {
        /* Initialize our pointers into the backend subsystem */
        gnc_address_sql_initialize();
        gnc_billterm_sql_initialize();
        gnc_customer_sql_initialize();
        gnc_employee_sql_initialize();
        gnc_entry_sql_initialize();
        gnc_invoice_sql_initialize();
        gnc_job_sql_initialize();
        gnc_order_sql_initialize();
        gnc_owner_sql_initialize();
        gnc_taxtable_sql_initialize();
        gnc_vendor_sql_initialize();

        gnc_sql_set_load_order( fixed_load_order );
    }

    return TRUE;
}
Esempio n. 10
0
static void
guile_main(void *closure, int argc, char ** argv)
{
    GNCModule foo;
    gchar *msg = "Module '../../../libgnucash/gnc-module/test/misc-mods/.libs/libgncmod_futuremodsys.so' requires newer module system\n";
    gchar *logdomain = "gnc.module";
    guint loglevel = G_LOG_LEVEL_WARNING;
    TestErrorStruct check = { loglevel, logdomain, msg };
    g_log_set_handler (logdomain, loglevel,
                       (GLogFunc)test_checked_handler, &check);

    g_test_message("  test-load-c.c: testing module load/unload from C ... ");

    gnc_module_system_init();

    foo = gnc_module_load("gnucash/foo", 0);

    if (!foo)
    {
        g_test_message("  Failed to load foo\n");
        exit(-1);
    }

    if (!gnc_module_unload(foo))
    {
        g_test_message("  Failed to unload foo\n");
        exit(-1);
    }
    g_test_message(" successful.\n");

    exit(0);
}
Esempio n. 11
0
static void
guile_main(void *closure, int argc, char ** argv)
{
    GNCModule foo;
    gchar *msg = "Module '../../../libgnucash/gnc-module/test/misc-mods/.libs/libgncmod_futuremodsys.so' requires newer module system\n";
    gchar *logdomain = "gnc.module";
    guint loglevel = G_LOG_LEVEL_WARNING;
    TestErrorStruct check = { loglevel, logdomain, msg };
    g_log_set_handler (logdomain, loglevel,
                       (GLogFunc)test_checked_handler, &check);
    g_test_message("  test-agedver.c:  asking for an old but supported interface ...");

    gnc_module_system_init();

    foo = gnc_module_load("gnucash/agedver", 5);

    if (foo)
    {
        printf("  ok\n");
        exit(0);
    }
    else
    {
        printf(" failed\n");
        exit(-1);
    }
}
Esempio n. 12
0
static void
main_helper (void *closure, int argc, char **argv)
{
    gnc_module_load("gnucash/business-core", 0);
    test_business();
    print_test_results();
    exit(get_rv());
}
Esempio n. 13
0
int
libgncmod_register_core_gnc_module_init(int refcount)
{
    if (!gnc_module_load("gnucash/engine", 0))
    {
        return FALSE;
    }

    /* FIXME. We need this for the wide-character functions.
     * When fixing, get rid of gnome-utils includes, too. */
    if (!gnc_module_load("gnucash/gnome-utils", 0))
    {
        return FALSE;
    }

    return TRUE;
}
Esempio n. 14
0
int
libgncmod_backend_file_gnc_module_init(int refcount)
{
    engine = gnc_module_load("gnucash/engine", 0);
    if (!engine) return FALSE;

    return TRUE;
}
Esempio n. 15
0
int
gnc_module_init(int refcount)
{
    engine = gnc_module_load( "gnucash/engine", 0 );
    if ( !engine ) return FALSE;

    return TRUE;
}
Esempio n. 16
0
static void
guile_main(void *closure, int argc, char ** argv)
{
    GNCModule mod;
    gnc_module_system_init();
    mod = gnc_module_load("gnucash/report/report-gnome", 0);

    exit(mod == NULL);
}
int
main (int argc, char ** argv)
{
    const char *location = g_getenv("GNC_ACCOUNT_PATH");
    GSList *list = NULL;
    GDir *ea_dir;

    g_setenv ("GNC_UNINSTALLED", "1", TRUE);

    if (!location)
    {
        location = "../../../../accounts/C";
    }

    gnc_module_system_init();
    gnc_module_load("gnucash/engine", 0);

    if ((ea_dir = g_dir_open(location, 0, NULL)) == NULL)
    {
        failure("unable to open ea directory");
    }
    else
    {
        const gchar *entry;

        while ((entry = g_dir_read_name(ea_dir)) != NULL)
        {
            if (g_str_has_suffix(entry, da_ending))
            {
                gchar *to_open = g_build_filename(location, entry, (gchar*)NULL);
                if (!g_file_test(to_open, G_FILE_TEST_IS_DIR))
                {
                    test_load_file(to_open);
                }
                g_free(to_open);
            }
        }
    }
    g_dir_close(ea_dir);

    {
        list = gnc_load_example_account_list(location);

        do_test(list != NULL, "gnc_load_example_account_list");

        gnc_free_example_account_list(list);
    }


    print_test_results();
    exit(get_rv());
}
Esempio n. 18
0
static void
main_helper (void *closure, int argc, char **argv)
{
    int count = 50;

    gnc_module_load("gnucash/engine", 0);
    gnc_module_load("gnucash/app-utils", 0);

    if (argc > 1)
        count = atoi (argv[1]);

    if (count < 0)
        count = 0;

    xaccLogDisable ();

    run_tests (count);

    print_test_results ();

    exit (get_rv ());
}
Esempio n. 19
0
static void
load_gnucash_modules()
{
    int i, len;
    struct
    {
        gchar * name;
        int version;
        gboolean optional;
    } modules[] =
    {
        { "gnucash/app-utils", 0, FALSE },
        { "gnucash/engine", 0, FALSE },
        { "gnucash/register/ledger-core", 0, FALSE },
        { "gnucash/register/register-core", 0, FALSE },
        { "gnucash/register/register-gnome", 0, FALSE },
        { "gnucash/import-export/qif-import", 0, FALSE },
        { "gnucash/import-export/ofx", 0, TRUE },
        { "gnucash/import-export/csv", 0, TRUE },
        { "gnucash/import-export/log-replay", 0, TRUE },
        { "gnucash/import-export/aqbanking", 0, TRUE },
        { "gnucash/import-export/hbci", 0, TRUE },
        { "gnucash/report/report-system", 0, FALSE },
        { "gnucash/report/stylesheets", 0, FALSE },
        { "gnucash/report/standard-reports", 0, FALSE },
        { "gnucash/report/utility-reports", 0, FALSE },
        { "gnucash/report/locale-specific/us", 0, FALSE },
        { "gnucash/report/report-gnome", 0, FALSE },
        { "gnucash/business-gnome", 0, TRUE }
    };

    /* module initializations go here */
    len = sizeof(modules) / sizeof(*modules);
    for (i = 0; i < len; i++)
    {
        gnc_update_splash_screen(modules[i].name, GNC_SPLASH_PERCENTAGE_UNKNOWN);
        if (modules[i].optional)
            gnc_module_load_optional(modules[i].name, modules[i].version);
        else
            gnc_module_load(modules[i].name, modules[i].version);
    }
    if (!gnc_engine_is_initialized())
    {
        /* On Windows this check used to fail anyway, see
         * https://lists.gnucash.org/pipermail/gnucash-devel/2006-September/018529.html
         * but more recently it seems to work as expected
         * again. 2006-12-20, cstim. */
        g_warning("GnuCash engine failed to initialize.  Exiting.\n");
        exit(1);
    }
}
Esempio n. 20
0
static void
main_helper (void *closure, int argc, char **argv)
{
    gnc_module_system_init ();
    gnc_module_load("gnucash/engine", 0);

    xaccLogDisable ();

    run_tests ();

    print_test_results ();

    exit (get_rv ());
}
Esempio n. 21
0
gint
libgncmod_aqbanking_gnc_module_init(gint refcount)
{
    /* Load modules we depend on */
    if (!gnc_module_load("gnucash/engine", 0)
            || !gnc_module_load("gnucash/app-utils", 0)
            || !gnc_module_load("gnucash/gnome-utils", 0)
            || !gnc_module_load("gnucash/import-export", 0))
    {
        return FALSE;
    }

    /* Add menu items with C callbacks */
    gnc_plugin_aqbanking_create_plugin();

    gnc_preferences_add_to_page("aqbanking.glade", "aqbanking_prefs",
                                _("Online Banking"));

    /* Initialize gwen library */
    gnc_GWEN_Init();

    return 1;
}
Esempio n. 22
0
int
libgncmod_utility_reports_gnc_module_init(int refcount)
{
    /* load the report system */
    if (!gnc_module_load("gnucash/report/report-system", 0))
    {
        return FALSE;
    }

    /* load the report generation scheme code */
    if (scm_c_eval_string("(use-modules (gnucash report utility-reports))") ==
            SCM_BOOL_F)
    {
        return FALSE;
    }

    return TRUE;
}
int
libgncmod_app_utils_gnc_module_init(int refcount)
{
    /* load the engine (we depend on it) */
    if (!gnc_module_load("gnucash/engine", 0))
    {
        return FALSE;
    }

    if (refcount == 0)
    {
        gnc_component_manager_init ();
        gnc_hook_add_dangler(HOOK_STARTUP, (GFunc)gnc_exp_parser_init, NULL);
        gnc_hook_add_dangler(HOOK_SHUTDOWN, (GFunc)app_utils_shutdown, NULL);
    }

    return TRUE;
}
Esempio n. 24
0
int
libgncmod_stylesheets_gnc_module_init(int refcount)
{
    /* load the report system */
    if (!gnc_module_load("gnucash/report/report-system", 0))
    {
        return FALSE;
    }

    /* load the report generation scheme code */
    if (scm_c_eval_string("(use-modules (gnucash report stylesheets))") ==
            SCM_BOOL_F)
    {
        return FALSE;
    }

    /* Add menu items with C callbacks */
    gnc_plugin_stylesheets_create_plugin();

    return TRUE;
}
Esempio n. 25
0
int
libgncmod_app_utils_gnc_module_init(int refcount)
{
    /* load the engine (we depend on it) */
    if (!gnc_module_load("gnucash/engine", 0))
    {
        return FALSE;
    }

    scm_init_sw_app_utils_module();
    /* publish swig bindings */
    /* load the scheme code */
    lmod("(sw_app_utils)");
    lmod("(gnucash app-utils)");

    if (refcount == 0)
    {
        gnc_component_manager_init ();
        gnc_hook_add_dangler(HOOK_STARTUP, (GFunc)gnc_exp_parser_init, NULL);
        gnc_hook_add_dangler(HOOK_SHUTDOWN, (GFunc)app_utils_shutdown, NULL);
    }

    return TRUE;
}