static GValueArray * plugin_help_register_invoker (GimpProcedure *procedure, Gimp *gimp, GimpContext *context, GimpProgress *progress, const GValueArray *args, GError **error) { gboolean success = TRUE; const gchar *domain_name; const gchar *domain_uri; domain_name = g_value_get_string (&args->values[0]); domain_uri = g_value_get_string (&args->values[1]); if (success) { GimpPlugIn *plug_in = gimp->plug_in_manager->current_plug_in; if (plug_in && plug_in->call_mode == GIMP_PLUG_IN_CALL_QUERY) { gimp_plug_in_def_set_help_domain (plug_in->plug_in_def, domain_name, domain_uri); } else { success = FALSE; } } return gimp_procedure_get_return_values (procedure, success, error ? *error : NULL); }
static GTokenType plug_in_help_def_deserialize (GScanner *scanner, GimpPlugInDef *plug_in_def) { gchar *domain_name; gchar *domain_uri; if (! gimp_scanner_parse_string (scanner, &domain_name)) return G_TOKEN_STRING; if (! gimp_scanner_parse_string (scanner, &domain_uri)) domain_uri = NULL; gimp_plug_in_def_set_help_domain (plug_in_def, domain_name, domain_uri); g_free (domain_name); g_free (domain_uri); if (! gimp_scanner_parse_token (scanner, G_TOKEN_RIGHT_PAREN)) return G_TOKEN_RIGHT_PAREN; return G_TOKEN_LEFT_PAREN; }