[gimp] libgimp: cleanup and more docs for GimpProcedure
- From: Michael Natterer <mitch src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp] libgimp: cleanup and more docs for GimpProcedure
- Date: Thu, 1 Aug 2019 21:53:00 +0000 (UTC)
commit 53ca87d69351164f5041fa4c6f77c87fde006cc3
Author: Michael Natterer <mitch gimp org>
Date: Thu Aug 1 23:46:25 2019 +0200
libgimp: cleanup and more docs for GimpProcedure
libgimp/gimpprocedure.c | 39 ++++++++++++++++++++++++++++-----------
libgimp/gimpprocedure.h | 15 ++++++++++++++-
2 files changed, 42 insertions(+), 12 deletions(-)
---
diff --git a/libgimp/gimpprocedure.c b/libgimp/gimpprocedure.c
index 6cc83c6348..f217cc5995 100644
--- a/libgimp/gimpprocedure.c
+++ b/libgimp/gimpprocedure.c
@@ -130,6 +130,8 @@ gimp_procedure_finalize (GObject *object)
gimp_procedure_free_strings (procedure);
+ g_clear_pointer (&procedure->priv->image_types, g_free);
+
g_clear_pointer (&procedure->priv->icon_data, g_free);
procedure->priv->icon_data_length = 0;
@@ -186,6 +188,11 @@ gimp_procedure_finalize (GObject *object)
* created during a plug-ins lifetime. They must be added to the
* #GimpPlugIn using gimp_plug_in_add_temp_procedure().
*
+ * @run_func is called via gimp_procedure_run().
+ *
+ * For %GIMP_PLUGIN and %GIMP_EXTENSION procedures the call of
+ * @run_func is basically the lifetime of the plug-in.
+ *
* Returns: a new #GimpProcedure.
**/
GimpProcedure *
@@ -223,6 +230,14 @@ gimp_procedure_get_plug_in (GimpProcedure *procedure)
return procedure->priv->plug_in;
}
+const gchar *
+gimp_procedure_get_name (GimpProcedure *procedure)
+{
+ g_return_val_if_fail (GIMP_IS_PROCEDURE (procedure), NULL);
+
+ return procedure->priv->name;
+}
+
GimpPDBProcType
gimp_procedure_get_proc_type (GimpProcedure *procedure)
{
@@ -254,14 +269,6 @@ gimp_procedure_set_strings (GimpProcedure *procedure,
procedure->priv->date = g_strdup (date);
}
-const gchar *
-gimp_procedure_get_name (GimpProcedure *procedure)
-{
- g_return_val_if_fail (GIMP_IS_PROCEDURE (procedure), NULL);
-
- return procedure->priv->name;
-}
-
const gchar *
gimp_procedure_get_menu_label (GimpProcedure *procedure)
{
@@ -605,9 +612,20 @@ gimp_procedure_new_return_values (GimpProcedure *procedure,
return args;
}
+/**
+ * gimp_procedure_run:
+ * @procedure: a @GimpProcedure.
+ * @args: the @procedure's arguments.
+ *
+ * Runs the procedure, calling the run_func given in gimp_procedure_new().
+ *
+ * Returns: (transfer-full): The @procedure's return values.
+ *
+ * Since: 3.0
+ **/
GimpValueArray *
-gimp_procedure_run (GimpProcedure *procedure,
- GimpValueArray *args)
+gimp_procedure_run (GimpProcedure *procedure,
+ GimpValueArray *args)
{
GimpValueArray *return_vals;
GError *error = NULL;
@@ -688,7 +706,6 @@ gimp_procedure_free_strings (GimpProcedure *procedure)
g_clear_pointer (&procedure->priv->author, g_free);
g_clear_pointer (&procedure->priv->copyright, g_free);
g_clear_pointer (&procedure->priv->date, g_free);
- g_clear_pointer (&procedure->priv->image_types, g_free);
}
static gboolean
diff --git a/libgimp/gimpprocedure.h b/libgimp/gimpprocedure.h
index 187480fbc1..1ca72cb78e 100644
--- a/libgimp/gimpprocedure.h
+++ b/libgimp/gimpprocedure.h
@@ -31,6 +31,19 @@ G_BEGIN_DECLS
/* For information look into the C source or the html documentation */
+/**
+ * GimpRunFunc:
+ * @procedure: the #GimpProcedure that runs.
+ * @args: the @procedure's arguments.
+ * @run_data: the run_data given in gimp_procedure_new().
+ *
+ * The run function is run during the lifetime of the GIMP session,
+ * each time a plug-in procedure is called.
+ *
+ * Returns: (transfer full): the @procedure's return values.
+ *
+ * Since: 3.0
+ **/
typedef GimpValueArray * (* GimpRunFunc) (GimpProcedure *procedure,
const GimpValueArray *args,
gpointer run_data);
@@ -70,6 +83,7 @@ GimpProcedure * gimp_procedure_new (GimpPlugIn *plug_in,
GDestroyNotify run_data_destroy);
GimpPlugIn * gimp_procedure_get_plug_in (GimpProcedure *procedure);
+const gchar * gimp_procedure_get_name (GimpProcedure *procedure);
GimpPDBProcType gimp_procedure_get_proc_type (GimpProcedure *procedure);
void gimp_procedure_set_strings (GimpProcedure *procedure,
@@ -81,7 +95,6 @@ void gimp_procedure_set_strings (GimpProcedure *procedure
const gchar *copyright,
const gchar *date);
-const gchar * gimp_procedure_get_name (GimpProcedure *procedure);
const gchar * gimp_procedure_get_menu_label (GimpProcedure *procedure);
const gchar * gimp_procedure_get_blurb (GimpProcedure *procedure);
const gchar * gimp_procedure_get_help (GimpProcedure *procedure);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]