Use GParamSpecFlags for the flags property
[projects/chimara/chimara.git] / interpreters / chimara-frotz-plugin.h
1 #ifndef CHIMARA_FROTZ_PLUGIN_H
2 #define CHIMARA_FROTZ_PLUGIN_H
3
4 #include <glib.h>
5 #include <libpeas/peas.h>
6
7 G_BEGIN_DECLS
8
9 #define CHIMARA_TYPE_FROTZ_PLUGIN         (chimara_frotz_plugin_get_type())
10 #define CHIMARA_FROTZ_PLUGIN(o)           (G_TYPE_CHECK_INSTANCE_CAST((o), CHIMARA_TYPE_FROTZ_PLUGIN, ChimaraFrotzPlugin))
11 #define CHIMARA_FROTZ_PLUGIN_CLASS(k)     (G_TYPE_CHECK_CLASS_CAST((k), CHIMARA_TYPE_FROTZ_PLUGIN, ChimaraFrotzPlugin))
12 #define CHIMARA_IS_FROTZ_PLUGIN(o)        (G_TYPE_CHECK_INSTANCE_TYPE((o), CHIMARA_TYPE_FROTZ_PLUGIN))
13 #define CHIMARA_IS_FROTZ_PLUGIN_CLASS(k)  (G_TYPE_CHECK_CLASS_TYPE((k), CHIMARA_TYPE_FROTZ_PLUGIN))
14 #define CHIMARA_FROTZ_PLUGIN_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS((o), CHIMARA_TYPE_FROTZ_PLUGIN, ChimaraFrotzPluginClass))
15
16 #define CHIMARA_TYPE_FROTZ_DEBUG_FLAGS    (chimara_frotz_debug_flags_get_type())
17
18 typedef struct _ChimaraFrotzPlugin       ChimaraFrotzPlugin;
19 typedef struct _ChimaraFrotzPluginClass  ChimaraFrotzPluginClass;
20
21 struct _ChimaraFrotzPlugin {
22   PeasExtensionBase parent_instance;
23 };
24
25 struct _ChimaraFrotzPluginClass {
26   PeasExtensionBaseClass parent_class;
27 };
28
29 /**
30  * ChimaraFrotzDebugFlags:
31  * @CHIMARA_FROTZ_DEBUG_NONE: No debugging messages
32  * @CHIMARA_FROTZ_DEBUG_ATTRIBUTE_SETTING: Print a debug message whenever a
33  * Z-machine object attribute is set or cleared.
34  * @CHIMARA_FROTZ_DEBUG_ATTRIBUTE_TESTING: Print a debug message whenever a
35  * Z-machine object attribute is tested.
36  * @CHIMARA_FROTZ_DEBUG_OBJECT_MOVEMENT: Print a debug message whenever a
37  * Z-machine object is inserted into or removed from another object.
38  * @CHIMARA_FROTZ_DEBUG_OBJECT_LOCATING: Print a debug message whenever the
39  * location of a Z-machine object is checked.
40  *
41  * Controls what debugging messages Frotz should print. See the
42  * :debug-messages property.
43  */
44 typedef enum {
45         CHIMARA_FROTZ_DEBUG_NONE = 0,
46         CHIMARA_FROTZ_DEBUG_ATTRIBUTE_SETTING = 1 << 0,
47         CHIMARA_FROTZ_DEBUG_ATTRIBUTE_TESTING = 1 << 1,
48         CHIMARA_FROTZ_DEBUG_OBJECT_MOVEMENT = 1 << 2,
49         CHIMARA_FROTZ_DEBUG_OBJECT_LOCATING = 1 << 3,
50 } ChimaraFrotzDebugFlags;
51
52 GType chimara_frotz_plugin_get_type(void) G_GNUC_CONST;
53 GType chimara_frotz_debug_flags_get_type(void) G_GNUC_CONST;
54 G_MODULE_EXPORT void peas_register_types (PeasObjectModule *module);
55
56 G_END_DECLS
57
58 #endif /* CHIMARA_FROTZ_PLUGIN_H */