Constructor
GimpProcedurenew
since: 3.0
Declaration [src]
GimpProcedure*
gimp_procedure_new (
  GimpPlugIn* plug_in,
  const gchar* name,
  GimpPDBProcType proc_type,
  GimpRunFunc run_func,
  gpointer run_data,
  GDestroyNotify run_data_destroy
)
Description [src]
Creates a new procedure named name which will call run_func when invoked.
The name parameter is mandatory and should be unique, or it will
overwrite an already existing procedure (overwrite procedures only
if you know what you’re doing).
proc_type should be GIMP_PDB_PROC_TYPE_PLUGIN for “normal” plug-ins.
Using GIMP_PDB_PROC_TYPE_PERSISTENT means that the plug-in will
add temporary procedures. Therefore, the GIMP core will wait until the GIMP_PDB_PROC_TYPE_PERSISTENT procedure has called
gimp_procedure_persistent_ready(), which means that the procedure
has done its initialization, installed its temporary procedures and
is ready to run.
Not calling gimp_procedure_persistent_ready() from a
GIMP_PDB_PROC_TYPE_PERSISTENT procedure will cause the GIMP core to
lock up.
Additionally, a GIMP_PDB_PROC_TYPE_PERSISTENT procedure with no
arguments added is an “automatic” extension that will be
automatically started on each GIMP startup.
GIMP_PDB_PROC_TYPE_TEMPORARY must be used for temporary procedures
that are 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_PDB_PROC_TYPE_PLUGIN and GIMP_PDB_PROC_TYPE_PERSISTENT
procedures the call of run_func is basically the lifetime of the plug-in.
Available since: 3.0
Parameters
- plug_in
- 
            Type: GimpPlugInA GimpPlugIn.The data is owned by the caller of the function. 
- name
- 
            Type: const gchar*The new procedure’s name. The data is owned by the caller of the function. The value is a NUL terminated UTF-8 string. 
- proc_type
- 
            Type: GimpPDBProcTypeThe new procedure’s GimpPDBProcType.
- run_func
- 
            Type: GimpRunFuncThe run function for the new procedure. 
- run_data
- 
            Type: gpointerUser data passed to run_func.The argument can be NULL.The data is owned by the caller of the function. 
- run_data_destroy
- 
            Type: GDestroyNotifyFree function for run_data, orNULL.The argument can be NULL.
Return value
Type: GimpProcedure
A new GimpProcedure.
| The caller of the function takes ownership of the data, and is responsible for freeing it. |