Re: [Github-comments] [geany/geany] Allow plugins to get the data they set (#1234)

2017-09-18 Thread elextr
Closed #1234.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/1234#event-1254568007

Re: [Github-comments] [geany/geany] Allow plugins to get the data they set (#1234)

2017-09-18 Thread Thomas Martitz
@codebrainz @elextr this can be closed (was commited to master as 
7261742f8169b19fd5ac7f10a0845a684287e2d9)

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/1234#issuecomment-330367446

Re: [Github-comments] [geany/geany] Allow plugins to get the data they set (#1234)

2016-09-17 Thread Matthew Brush
codebrainz commented on this pull request.



> @@ -554,6 +554,24 @@ void plugin_builder_connect_signals(GeanyPlugin *plugin,
 }
 
 
+/** Get the additional data that corresponds to the plugin.
+ *
+ * @param plugin The plugin provided by Geany
+ * @return The data corresponding to the plugin or @c NULL if none set.
+ *
+ * @since 1.29 (API 230)
+ *
+ * @see geany_plugin_set_data()
+ */
+gpointer geany_plugin_get_data(const GeanyPlugin *plugin)
+{
+   g_return_val_if_fail (plugin != NULL, NULL);
+   g_return_val_if_fail (PLUGIN_LOADED_OK (plugin->priv), NULL);

Look at [the function 
below](https://github.com/geany/geany/pull/1234/commits/84720babfbce2642289a8c038137402533e5d2c5#diff-68052c9feb0f8c0562bf6f40b8b19669R602)
 this one. I copied the pre-conditions but added an additional one for the 
`plugin != NULL` for good measure.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/1234

Re: [Github-comments] [geany/geany] Allow plugins to get the data they set (#1234)

2016-09-17 Thread elextr
elextr commented on this pull request.



> @@ -554,6 +554,24 @@ void plugin_builder_connect_signals(GeanyPlugin *plugin,
 }
 
 
+/** Get the additional data that corresponds to the plugin.
+ *
+ * @param plugin The plugin provided by Geany
+ * @return The data corresponding to the plugin or @c NULL if none set.
+ *
+ * @since 1.29 (API 230)
+ *
+ * @see geany_plugin_set_data()
+ */
+gpointer geany_plugin_get_data(const GeanyPlugin *plugin)
+{
+   g_return_val_if_fail (plugin != NULL, NULL);
+   g_return_val_if_fail (PLUGIN_LOADED_OK (plugin->priv), NULL);

Indeed, but plugins are external code, and can pass bad parameters at any time. 
All functions in the API should be permanently checked.  (yes Geany is not 
consistent about that, but you can have the honour of being the first to get it 
right :)

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/1234

Re: [Github-comments] [geany/geany] Allow plugins to get the data they set (#1234)

2016-09-17 Thread Matthew Brush
codebrainz commented on this pull request.



> @@ -554,6 +554,24 @@ void plugin_builder_connect_signals(GeanyPlugin *plugin,
 }
 
 
+/** Get the additional data that corresponds to the plugin.
+ *
+ * @param plugin The plugin provided by Geany
+ * @return The data corresponding to the plugin or @c NULL if none set.
+ *
+ * @since 1.29 (API 230)
+ *
+ * @see geany_plugin_set_data()
+ */
+gpointer geany_plugin_get_data(const GeanyPlugin *plugin)
+{
+   g_return_val_if_fail (plugin != NULL, NULL);
+   g_return_val_if_fail (PLUGIN_LOADED_OK (plugin->priv), NULL);

They check programming errors and so should be removed for non-debug builds.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/1234

Re: [Github-comments] [geany/geany] Allow plugins to get the data they set (#1234)

2016-09-17 Thread elextr
elextr commented on this pull request.

Guess its reasonable to get the data you set :)

> @@ -554,6 +554,24 @@ void plugin_builder_connect_signals(GeanyPlugin *plugin,
 }
 
 
+/** Get the additional data that corresponds to the plugin.
+ *
+ * @param plugin The plugin provided by Geany
+ * @return The data corresponding to the plugin or @c NULL if none set.
+ *
+ * @since 1.29 (API 230)
+ *
+ * @see geany_plugin_set_data()
+ */
+gpointer geany_plugin_get_data(const GeanyPlugin *plugin)
+{
+   g_return_val_if_fail (plugin != NULL, NULL);
+   g_return_val_if_fail (PLUGIN_LOADED_OK (plugin->priv), NULL);

These should be normal `if(..)return val` because they should not be removable 
by compile option as the `g_...` checks are.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/1234#pullrequestreview-466730

Re: [Github-comments] [geany/geany] Allow plugins to get the data they set (#1234)

2016-09-17 Thread Matthew Brush
Ammended to add `@see geany_plugin_set_data()` reference.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/1234#issuecomment-247819073