Re: libanjuta API change
phantomjinx <[email protected]> Sun, 31 Mar 2013 18:07:19 +0100
| Newsgroups | gmane.comp.ipod.gtkpod,gmane.comp.ide.anjuta.devel |
|---|---|
| Message-ID | <[email protected]> |
--===============6410938920871191501== Content-Type: multipart/alternative; boundary="----MRUEORF7K0MK6PZ7VOXQ62B8VCAVMJ" ------MRUEORF7K0MK6PZ7VOXQ62B8VCAVMJ Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit "Sébastien Granjoux" <[email protected]> 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 >[email protected] >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 ------MRUEORF7K0MK6PZ7VOXQ62B8VCAVMJ Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: 8bit <html><head/><body><html><head></head><body><div class="gmail_quote">"Sébastien Granjoux" <[email protected]> wrote:<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"> <pre style="white-space: pre-wrap; word-wrap:break-word; font-family: sans-serif; margin-top: 0px">Hi,<br /><br /><br />I have done some changes in libanjuta API. Basically I have replaced the <br />AnjutaPluginDescription object by the AnjutaPluginHandle object. This <br />avoid a search in a hash table in most use cases. Here is a detailed <br />list of the changes:<br /><br />- GObject* anjuta_plugin_manager_get_plugin_by_id (<br />- AnjutaPluginManager *plugin_manager,<br />- const gchar *plugin_id);<br />+ GObject* anjuta_plugin_manager_get_plugin_by_handle (<br />+ AnjutaPluginManager *plugin_manager,<br />+ const gchar *plugin_handle);<br /><br />- GObject* anjuta_plugin_manager_unload_plugin_by_id (<br />- AnjutaPluginManager *plugin_manager,<br />- const gchar *plugin_id);<b r />+ GObject* anjuta_plugin_manager_unload_plugin_by_handle (<br />+ AnjutaPluginManager *plugin_manager,<br />+ const gchar *plugin_handle);<br /><br />- AnjutaPluginDescription*<br />- anjuta_plugin_manager_select (<br />- AnjutaPluginManager *plugin_manager,<br />- gchar *title, gchar *description,<br />- GList *plugin_descriptions);<br />+ AnjutaPluginHandle*<br />+ anjuta_plugin_manager_select (<br />+ AnjutaPluginManager *plugin_manager,<br />+ gchar *title, gchar *description,<br />+ GList *plugin_descriptions);<br /><br />- GObject*<br />- anjuta_plugin_manager_select_and_activate (<br />- AnjutaPluginManager *plugin_manager,<br />- gchar *title, gchar *description,<br />- GList *plugin_descriptions);<br />+ GObject*<br />+ anjuta_plugin_manager_select_and_activate (<br />+ AnjutaPluginManager *plugin_manager,<br />+ gchar *title, gchar *description,<br />+ GList *plugin_handles);<br /><br />- AnjutaPluginDescription*<br />- anjuta_plugin_manager_g et_plugin_description (<br />- AnjutaPluginManager *plugin_manager,<br />- GObject *plugin);<br />+ AnjutaPluginHandle*<br />+ anjuta_plugin_manager_get_plugin_handle (<br />+ AnjutaPluginManager *plugin_manager,<br />+ GObject *plugin);<br /><br />- void anjuta_plugin_manager_activate_plugins (<br />- AnjutaPluginManager *plugin_manager,<br />- GList *plugin_descs);<br />+ void anjuta_plugin_manager_activate_plugins (<br />+ AnjutaPluginManager *plugin_manager,<br />+ GList *plugin_handles);<br /><br />- void anjuta_profile_add_plugin (AnjutaProfile *profile,<br />- AnjutaPluginDescription *plugin);<br />+ void anjuta_profile_add_plugin (AnjutaProfile *profile,<br />+ AnjutaPluginHandle *plugin);<br /><br />- void anjuta_profile_remove_plugin (AnjutaProfile *profile,<br />- AnjutaPluginDescription *plugin);<br />+ void anjuta_profile_remove_plugin (AnjutaProfile *profile,<br />+ AnjutaPluginHandle *plugin);<br /><br />- gboolean anjuta_profile_has_pl ugin (AnjutaProfile *profile,<br />- AnjutaPluginDescription *plugin);<br />+ gboolean anjuta_profile_has_plugin (AnjutaProfile *profile,<br />+ AnjutaPluginHandle *plugin);<br /><br /><br />The following functions return a GList of AnjutaPluginHandle instead of <br />AnjutaPluginDescription<br />GList* anjuta_profile_get_plugins (AnjutaProfile *profile);<br />GList* anjuta_plugin_manager_get_active_plugins (AnjutaPluginManager <br />*plugin_manager);<br />Glist* anjuta_plugin_manager_query (AnjutaPluginManager <br />*plugin_manager, const gchar *section_names, const gchar <br />*attribute_names, const gchar *attribute_values, ...);<br />GList* anjuta_plugin_manager_list_query (AnjutaPluginManager <br />*plugin_manager, GList *section_names, GList *attribute_names, GList <br />*attribute_values);<br /><br />The following signal of the AnjutaPluginManager have changed too<br /><br />- void(* plugin_activated) (AnjutaPluginManager *self,<br />- AnjutaPluginDescription* plugin_desc ,<br />- GObject *plugin);<br />+ void(* plugin_activated) (AnjutaPluginManager *self,<br />+ AnjutaPluginHandle* plugin_handle,<br />+ GObject *plugin);<br /><br />- void(* plugin_deactivated) (AnjutaPluginManager *self,<br />- AnjutaPluginDescription* plugin_desc,<br />- GObject *plugin);<br />+ void(* plugin_deactivated) (AnjutaPluginManager *self,<br />+ AnjutaPluginHandle* plugin_handle,<br />+ GObject *plugin);<br /><br />I will update the version of libanjuta. Then, do you think I need to <br />keep backward compatibility and keep the old functions marked as <br />deprecated? It's a bit more work and I need to find some new names for <br />some functions but it's possible. For Anjuta, we don't care then I know <br />only one other project using libanjuta: gtkpod but I don't know how <br />useful this will be useful for them.<br /><br /><br />Regards,<br /><br />Sébastien<br /><br /><hr /><br />Own the Future-Intel(R) Level Up Game Demo Contest 20 13<br />Rise to greatness in Intel's independent game demo contest. Compete <br />for recognition, cash, and the chance to get your game on Steam. <br />$5K grand prize plus 10 genre and skill prizes. Submit your demo <br />by 6/6/13. <a href="http://altfarm.mediaplex.com/ad/ck/12124-176961-30367-2">http://altfarm.mediaplex.com/ad/ck/12124-176961-30367-2</a><br /><hr /><br />Gtkpod-devel mailing list<br />[email protected]<br /><a href="https://lists.sourceforge.net/lists/listinfo/gtkpod-devel">https://lists.sourceforge.net/lists/listinfo/gtkpod-devel</a><br /></pre></blockquote></div><br clear="all">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?<br> <br> Thanks for the heads up.<br> <br> PGR</body></html></body></html> ------MRUEORF7K0MK6PZ7VOXQ62B8VCAVMJ-- --===============6410938920871191501== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline ------------------------------------------------------------------------------ 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 --===============6410938920871191501== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Gtkpod-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/gtkpod-devel --===============6410938920871191501==--