1 /* -*- Mode: C; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ 2 /* 3 * Copyright (C) 2007 Kouhei Sutou <kou@cozmixng.org> 4 * 5 * This library is free software: you can redistribute it and/or modify 6 * it under the terms of the GNU Lesser General Public License as published by 7 * the Free Software Foundation, either version 3 of the License, or 8 * (at your option) any later version. 9 * 10 * This library is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU Lesser General Public License for more details. 14 * 15 * You should have received a copy of the GNU Lesser General Public License 16 * along with this program. If not, see <http://www.gnu.org/licenses/>. 17 * 18 */ 19 20 #ifndef __CUT_FACTORY_BUILDER_H__ 21 #define __CUT_FACTORY_BUILDER_H__ 22 23 #include <glib-object.h> 24 25 G_BEGIN_DECLS 26 27 #define CUT_TYPE_FACTORY_BUILDER (cut_factory_builder_get_type ()) 28 #define CUT_FACTORY_BUILDER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CUT_TYPE_FACTORY_BUILDER, CutFactoryBuilder)) 29 #define CUT_FACTORY_BUILDER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CUT_TYPE_FACTORY_BUILDER, CutFactoryBuilderClass)) 30 #define CUT_IS_FACTORY_BUILDER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CUT_TYPE_FACTORY_BUILDER)) 31 #define CUT_IS_FACTORY_BUILDER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CUT_TYPE_FACTORY_BUILDER)) 32 #define CUT_FACTORY_BUILDER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), CUT_TYPE_FACTORY_BUILDER, CutFactoryBuilderClass)) 33 34 typedef struct _CutFactoryBuilder CutFactoryBuilder; 35 typedef struct _CutFactoryBuilderClass CutFactoryBuilderClass; 36 37 struct _CutFactoryBuilder 38 { 39 GObject object; 40 }; 41 42 struct _CutFactoryBuilderClass 43 { 44 GObjectClass parent_class; 45 void (*set_option_context) (CutFactoryBuilder *builder, 46 GOptionContext *context); 47 GList *(*build) (CutFactoryBuilder *builder); 48 GList *(*build_all) (CutFactoryBuilder *builder); 49 const gchar *(*get_type_name) (CutFactoryBuilder *builder); 50 }; 51 52 GType cut_factory_builder_get_type (void) G_GNUC_CONST; 53 const gchar *cut_factory_builder_get_type_name (CutFactoryBuilder *builder); 54 const gchar *cut_factory_builder_get_module_dir (CutFactoryBuilder *builder); 55 void cut_factory_builder_set_option_context 56 (CutFactoryBuilder *builder, 57 GOptionContext *context); 58 GList *cut_factory_builder_build (CutFactoryBuilder *builder); 59 GList *cut_factory_builder_build_all (CutFactoryBuilder *builder); 60 61 G_END_DECLS 62 63 #endif /* __CUT_FACTORY_BUILDER_H__ */ 64 65 /* 66 vi:ts=4:nowrap:ai:expandtab:sw=4 67 */ 68