2 * Copyright (C) 2007-2010 Gary Kramlich <grim@reaperworld.com>
4 * This program is free software: you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation, either version 3 of the License, or
7 * (at your option) any later version.
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
14 * You should have received a copy of the GNU General Public License
15 * along with this program. If not, see <http://www.gnu.org/licenses/>.
17 #ifndef GPLATE_FILE_VARIABLE_H
18 #define GPLATE_FILE_VARIABLE_H
20 #include <gplate/variables/gplate-dictionary-variable.h>
22 #define GPLATE_TYPE_FILE_VARIABLE (gplate_file_variable_get_gtype())
23 #define GPLATE_FILE_VARIABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GPLATE_TYPE_FILE_VARIABLE, GPlateFileVariable))
24 #define GPLATE_FILE_VARIABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GPLATE_TYPE_FILE_VARIABLE, GPlateFileVariableClass))
25 #define GPLATE_IS_FILE_VARIABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GPLATE_TYPE_FILE_VARIABLE))
26 #define GPLATE_IS_FILE_VARIABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GPLATE_TYPE_FILE_VARIABLE))
27 #define GPLATE_FILE_VARIABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GPLATE_TYPE_FILE_VARIABLE, GPlateFileVariableClass))
29 typedef struct _GPlateFileVariable GPlateFileVariable;
30 typedef struct _GPlateFileVariableClass GPlateFileVariableClass;
32 struct _GPlateFileVariable {
33 GPlateDictionaryVariable gparent;
35 void (*_gplate_reserved1)(void);
36 void (*_gplate_reserved2)(void);
37 void (*_gplate_reserved3)(void);
38 void (*_gplate_reserved4)(void);
41 struct _GPlateFileVariableClass {
42 GPlateDictionaryVariableClass parent;
44 void (*refresh)(GPlateFileVariable *file_variable);
46 void (*_gplate_reserved1)(void);
47 void (*_gplate_reserved2)(void);
48 void (*_gplate_reserved3)(void);
49 void (*_gplate_reserved4)(void);
54 GType gplate_file_variable_get_gtype(void);
56 GPlateVariable *gplate_file_variable_new(const gchar *name, const gchar *filename);
58 void gplate_file_variable_refresh(GPlateFileVariable *file_variable);
62 #endif /* GPLATE_FILE_VARIABLE_H */