Skip to content
  • Chyla Zbigniew's avatar
    Added files: plugin-service.[ch], plugin-loader.[ch], · a924975e
    Chyla Zbigniew authored
    
    * src/Makefile.am: Added files:  plugin-service.[ch],
    plugin-loader.[ch], plugin-loader-module.[ch], module-plugin-defs.h.
    
    * src/error-info.[ch] (error_info_new_from_errno): New function.
    
    * src/file.c
    (struct _FileOpener, struct _FileSaver): Moved from file.h
    (file_opener_get_format_description, file_opener_has_probe,
    file_saver_get_extension,  file_saver_get_format_description):
    New accessor functions.
    (file_opener_probe, file_opener_open, file_saver_save,
    file_opener_set_user_data, file_opener_get_user_data,
    file_saver_set_user_data, file_saver_get_user_data): New
    functions.
    (get_file_opener_by_id, get_file_saver_by_id): Removed
    Now using FileOpener*/FileSaver* instead of FileOpenerId/FileSaverId
    everywhere.
    
    * src/file.h
    (struct _FileOpener, struct _FileSaver): Moved to file.c.
    Adjusted to file.c.
    
    * src/gui-file.c: Adjusted to file.[ch], now FileSaver.extension
    field should contain real extension (without a dot).
    
    * src/func.[ch]
    (enum FunctionFlags, struct _FunctionDefinition): Moved from func.h
    to func.c.
    (struct _FunctionCategory): Added "internal_name" and "display_name"
    in place of "name" field.
    (function_get_category_with_translation,
    function_category_remove_func, func_get_ref_count, function_remove,
    function_add_name_only): New functions.
    Now it's possible to load function implementation on demand (after
    registering function using function_add_name_only() and providing
    function of type FunctionGetFullInfoCallback).
    Rename fd and fndef to fn_def for consistency.
    
    * src/functions/fn-database.c (database_functions_init),
    src/functions/fn-date.c (date_functions_init),
    src/functions/fn-eng.c (eng_functions_init),
    src/functions/fn-financial.c (finance_functions_init),
    src/functions/fn-information.c (information_functions_init),
    src/functions/fn-logical.c (logical_functions_init),
    src/functions/fn-lookup.c (lookup_functions_init),
    src/functions/fn-math.c (math_functions_init),
    src/functions/fn-sheet.c (sheet_functions_init),
    src/functions/fn-stat.c (stat_functions_init),
    src/functions/fn-string.c (string_functions_init):
    Use function_get_category_with_translation, instead of
    function_get_category.
    
    * src/plugin.[ch]
    (struct _PluginInfo): Removed many fields.
    (plugin_info_get_extra_info_list):
    Just call gnumeric_plugin_loader_get_extra_info_list.
    (plugin_info_peek_services_data, plugin_info_peek_loader_type_str):
    New accessor functions.
    (plugin_info_read_service_list, plugin_info_read_loader,
    plugin_info_read):
    Read services and loader info, use functions from
    gal/util/e-xml-utils.h everywhere.
    (activate_plugin, deactivate_plugin): Just activate/deactivate all
    plugin services.
    (plugin_can_deactivate): Ask plugin services.
    (plugin_load_service, plugin_unload_service,
    plugin_info_offers_loader_by_type_str,
    plugin_loader_register_type, plugin_loader_register_id_only,
    plugin_loader_get_by_id, plugin_loader_is_available_by_id,
    plugin_list_sort_by_dependency):
    New functions.
    (plugin_db_activate_plugin_list): Activate plugins in correct order,
    using plugin_list_sort_by_dependency function.
    (plugin_info_print): Removed.
    (module_plugin_print_info, module_plugin_info_get_extra_info_list,
    module_plugin_free, module_plugin_info_read, module_plugin_activate,
    module_plugin_deactivate, module_plugin_can_deactivate): Removed,
    most code  moved to plugin-loader.c and plugin-loader-module.c.
    
    * src/plugin-service.[ch]: New files, support for plugin services
    (five types of these so far).
    
    * src/plugin-loader.[ch]: New files, base class for plugin loaders.
    
    * src/plugin-loader-module.[ch]: New files, support for "g_module"
    plugins.
    
    * src/plugin-util.[ch] (gnumeric_fopen_error_info,
    gnumeric_open_error_info, gnumeric_mmap_error_info): New functions.
    
    * src/gutils.[ch] (g_list_free_custom, g_slist_free_custom,
    gnumeric_time_counter_push, gnumeric_time_counter_pop):
    New functions.
    
    * src/io-context-priv.h (struct _IOContext): Added error_info field.
    
    * src/io-context.[ch] (gnumeric_io_context_new,
    gnumeric_io_context_free, gnumeric_io_error_info_set,
    gnumeric_io_error_info_push, gnumeric_io_error_info_pop,
    gnumeric_io_error_info_clear, gnumeric_io_error_info_display,
    gnumeric_io_has_error_info): New functions, quick hack to add
    support for ErrorInfo.
    
    * src/module-plugin-defs.h: New file, should be included be every
    g_module plugin.
    
    * src/auto-format.c: Use accessor function from func.h.
    
    * src/bonobo-io.c (gnumeric_bonobo_write_workbook,
    gnumeric_bonobo_read_workbook, gnumeric_bonobo_io_probe),
    src/stf.c (stf_read_workbook, stf_write_workbook),
    src/xml-io.[ch] (xml_probe, gnumeric_xml_read_workbook,
    gnumeric_xml_write_workbook):
    Signature changes.
    
    * src/workbook.c: Adjusted to
    workbook_load_from/gnumeric_xml_write_workbook signature change.
    
    * src/dialogs/dialog-function-select.c: Adjust to func.[ch].
    
    * src/dialogs/dialog-plugin-manager.c
    Adjust to plugin.[ch].
    (cb_pm_button_activate_plugin_clicked): Check if loader for current
    plugin is available, suggest activating loader plugin otherwise.
    a924975e
To find the state of this project's repository at the time of any of these versions, check out the tags.