1 /* GIMP - The GNU Image Manipulation Program 2 * Copyright (C) 1995 Spencer Kimball and Peter Mattis 3 * 4 * gimpplugindef.h 5 * 6 * This program is free software: you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License as published by 8 * the Free Software Foundation; either version 3 of the License, or 9 * (at your option) any later version. 10 * 11 * This program is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 * GNU General Public License for more details. 15 * 16 * You should have received a copy of the GNU General Public License 17 * along with this program. If not, see <https://www.gnu.org/licenses/>. 18 */ 19 20 #ifndef __GIMP_PLUG_IN_DEF_H__ 21 #define __GIMP_PLUG_IN_DEF_H__ 22 23 24 #include "core/gimpobject.h" 25 26 27 #define GIMP_TYPE_PLUG_IN_DEF (gimp_plug_in_def_get_type ()) 28 #define GIMP_PLUG_IN_DEF(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GIMP_TYPE_PLUG_IN_DEF, GimpPlugInDef)) 29 #define GIMP_PLUG_IN_DEF_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GIMP_TYPE_PLUG_IN_DEF, GimpPlugInDefClass)) 30 #define GIMP_IS_PLUG_IN_DEF(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GIMP_TYPE_PLUG_IN_DEF)) 31 #define GIMP_IS_PLUG_IN_DEF_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GIMP_TYPE_PLUG_IN_DEF)) 32 33 34 typedef struct _GimpPlugInDefClass GimpPlugInDefClass; 35 36 struct _GimpPlugInDef 37 { 38 GimpObject parent_instance; 39 40 GFile *file; 41 GSList *procedures; 42 gchar *locale_domain_name; 43 gchar *locale_domain_path; 44 gchar *help_domain_name; 45 gchar *help_domain_uri; 46 gint64 mtime; 47 gboolean needs_query; /* Does the plug-in need to be queried ? */ 48 gboolean has_init; /* Does the plug-in need to be initialized ? */ 49 }; 50 51 struct _GimpPlugInDefClass 52 { 53 GimpObjectClass parent_class; 54 }; 55 56 57 GType gimp_plug_in_def_get_type (void) G_GNUC_CONST; 58 59 GimpPlugInDef * gimp_plug_in_def_new (GFile *file); 60 61 void gimp_plug_in_def_add_procedure (GimpPlugInDef *plug_in_def, 62 GimpPlugInProcedure *proc); 63 void gimp_plug_in_def_remove_procedure (GimpPlugInDef *plug_in_def, 64 GimpPlugInProcedure *proc); 65 66 void gimp_plug_in_def_set_locale_domain (GimpPlugInDef *plug_in_def, 67 const gchar *domain_name, 68 const gchar *domain_path); 69 70 void gimp_plug_in_def_set_help_domain (GimpPlugInDef *plug_in_def, 71 const gchar *domain_name, 72 const gchar *domain_uri); 73 74 void gimp_plug_in_def_set_mtime (GimpPlugInDef *plug_in_def, 75 gint64 mtime); 76 void gimp_plug_in_def_set_needs_query (GimpPlugInDef *plug_in_def, 77 gboolean needs_query); 78 void gimp_plug_in_def_set_has_init (GimpPlugInDef *plug_in_def, 79 gboolean has_init); 80 81 82 #endif /* __GIMP_PLUG_IN_DEF_H__ */ 83