app, libgimp*: add protocol support for GValues holding a GParamSpec

so we can have PDB introspection procedures for the new plug-in API.
This commit is contained in:
Michael Natterer 2019-08-05 00:58:44 +02:00
parent e77382ee75
commit aa505b43dc
14 changed files with 550 additions and 340 deletions

View file

@ -1721,6 +1721,13 @@ _gp_params_read (GIOChannel *channel,
else
(*params)[i].data.d_parasite.data = NULL;
break;
case GP_PARAM_TYPE_PARAM_DEF:
if (! _gp_param_def_read (channel,
&(*params)[i].data.d_param_def,
user_data))
goto cleanup;
break;
}
}
@ -1833,6 +1840,13 @@ _gp_params_write (GIOChannel *channel,
}
}
break;
case GP_PARAM_TYPE_PARAM_DEF:
if (! _gp_param_def_write (channel,
&params[i].data.d_param_def,
user_data))
return;
break;
}
}
}
@ -1883,6 +1897,10 @@ _gp_params_destroy (GPParam *params,
if (params[i].data.d_parasite.data)
g_free (params[i].data.d_parasite.data);
break;
case GP_PARAM_TYPE_PARAM_DEF:
_gp_param_def_destroy (&params[i].data.d_param_def);
break;
}
}

View file

@ -67,7 +67,8 @@ typedef enum
GP_PARAM_TYPE_COLOR,
GP_PARAM_TYPE_PARASITE,
GP_PARAM_TYPE_ARRAY,
GP_PARAM_TYPE_STRING_ARRAY
GP_PARAM_TYPE_STRING_ARRAY,
GP_PARAM_TYPE_PARAM_DEF
} GPParamType;
@ -236,6 +237,7 @@ struct _GPParam
GimpParasite d_parasite;
GPParamArray d_array;
GPParamStringArray d_string_array;
GPParamDef d_param_def;
} data;
};