-
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.