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">&quot;Sébastien Granjoux&quot; &lt;[email protected]&gt; 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==--