From: Sébastien G. <se...@fr...> - 2013-03-31 09:46:43
|
Hi, I have done some changes in libanjuta API. Basically I have replaced the AnjutaPluginDescription object by the AnjutaPluginHandle object. This avoid a search in a hash table in most use cases. Here is a detailed list of the changes: - GObject* anjuta_plugin_manager_get_plugin_by_id ( - AnjutaPluginManager *plugin_manager, - const gchar *plugin_id); + GObject* anjuta_plugin_manager_get_plugin_by_handle ( + AnjutaPluginManager *plugin_manager, + const gchar *plugin_handle); - GObject* anjuta_plugin_manager_unload_plugin_by_id ( - AnjutaPluginManager *plugin_manager, - const gchar *plugin_id); + GObject* anjuta_plugin_manager_unload_plugin_by_handle ( + AnjutaPluginManager *plugin_manager, + const gchar *plugin_handle); - AnjutaPluginDescription* - anjuta_plugin_manager_select ( - AnjutaPluginManager *plugin_manager, - gchar *title, gchar *description, - GList *plugin_descriptions); + AnjutaPluginHandle* + anjuta_plugin_manager_select ( + AnjutaPluginManager *plugin_manager, + gchar *title, gchar *description, + GList *plugin_descriptions); - GObject* - anjuta_plugin_manager_select_and_activate ( - AnjutaPluginManager *plugin_manager, - gchar *title, gchar *description, - GList *plugin_descriptions); + GObject* + anjuta_plugin_manager_select_and_activate ( + AnjutaPluginManager *plugin_manager, + gchar *title, gchar *description, + GList *plugin_handles); - AnjutaPluginDescription* - anjuta_plugin_manager_get_plugin_description ( - AnjutaPluginManager *plugin_manager, - GObject *plugin); + AnjutaPluginHandle* + anjuta_plugin_manager_get_plugin_handle ( + AnjutaPluginManager *plugin_manager, + GObject *plugin); - void anjuta_plugin_manager_activate_plugins ( - AnjutaPluginManager *plugin_manager, - GList *plugin_descs); + void anjuta_plugin_manager_activate_plugins ( + AnjutaPluginManager *plugin_manager, + GList *plugin_handles); - void anjuta_profile_add_plugin (AnjutaProfile *profile, - AnjutaPluginDescription *plugin); + void anjuta_profile_add_plugin (AnjutaProfile *profile, + AnjutaPluginHandle *plugin); - void anjuta_profile_remove_plugin (AnjutaProfile *profile, - AnjutaPluginDescription *plugin); + void anjuta_profile_remove_plugin (AnjutaProfile *profile, + AnjutaPluginHandle *plugin); - gboolean anjuta_profile_has_plugin (AnjutaProfile *profile, - AnjutaPluginDescription *plugin); + gboolean anjuta_profile_has_plugin (AnjutaProfile *profile, + AnjutaPluginHandle *plugin); The following functions return a GList of AnjutaPluginHandle instead of AnjutaPluginDescription GList* anjuta_profile_get_plugins (AnjutaProfile *profile); GList* anjuta_plugin_manager_get_active_plugins (AnjutaPluginManager *plugin_manager); Glist* anjuta_plugin_manager_query (AnjutaPluginManager *plugin_manager, const gchar *section_names, const gchar *attribute_names, const gchar *attribute_values, ...); GList* anjuta_plugin_manager_list_query (AnjutaPluginManager *plugin_manager, GList *section_names, GList *attribute_names, GList *attribute_values); The following signal of the AnjutaPluginManager have changed too - void(* plugin_activated) (AnjutaPluginManager *self, - AnjutaPluginDescription* plugin_desc, - GObject *plugin); + void(* plugin_activated) (AnjutaPluginManager *self, + AnjutaPluginHandle* plugin_handle, + GObject *plugin); - void(* plugin_deactivated) (AnjutaPluginManager *self, - AnjutaPluginDescription* plugin_desc, - GObject *plugin); + void(* plugin_deactivated) (AnjutaPluginManager *self, + AnjutaPluginHandle* plugin_handle, + GObject *plugin); I will update the version of libanjuta. Then, do you think I need to keep backward compatibility and keep the old functions marked as deprecated? It's a bit more work and I need to find some new names for some functions but it's possible. For Anjuta, we don't care then I know only one other project using libanjuta: gtkpod but I don't know how useful this will be useful for them. Regards, Sébastien |