"S├ębastien Granjoux" <seb.sfo@free.fr> wrote:
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



Own the Future-Intel(R) Level Up Game Demo Contest 2013
Rise to greatness in Intel's independent game demo contest. Compete
for recognition, cash, and the chance to get your game on Steam.
$5K grand prize plus 10 genre and skill prizes. Submit your demo
by 6/6/13. http://altfarm.mediaplex.com/ad/ck/12124-176961-30367-2


Gtkpod-devel mailing list
Gtkpod-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/gtkpod-devel

I can try and bridge the api changes based on the version of libanjuta in use. Better to have a clean api than lots of deprecated functions. When is the new api being released please?

Thanks for the heads up.

PGR