Use GParamSpecFlags for the flags property
[projects/chimara/chimara.git] / interpreters / chimara-frotz-plugin.h
index a3eeba2b1ea68f3a525407e08ab0295ac748114f..d35a54e340178cfb8840b7ed1ed13e0dfc912159 100644 (file)
@@ -13,6 +13,8 @@ G_BEGIN_DECLS
 #define CHIMARA_IS_FROTZ_PLUGIN_CLASS(k)  (G_TYPE_CHECK_CLASS_TYPE((k), CHIMARA_TYPE_FROTZ_PLUGIN))
 #define CHIMARA_FROTZ_PLUGIN_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS((o), CHIMARA_TYPE_FROTZ_PLUGIN, ChimaraFrotzPluginClass))
 
+#define CHIMARA_TYPE_FROTZ_DEBUG_FLAGS    (chimara_frotz_debug_flags_get_type())
+
 typedef struct _ChimaraFrotzPlugin       ChimaraFrotzPlugin;
 typedef struct _ChimaraFrotzPluginClass  ChimaraFrotzPluginClass;
 
@@ -24,7 +26,31 @@ struct _ChimaraFrotzPluginClass {
   PeasExtensionBaseClass parent_class;
 };
 
+/**
+ * ChimaraFrotzDebugFlags:
+ * @CHIMARA_FROTZ_DEBUG_NONE: No debugging messages
+ * @CHIMARA_FROTZ_DEBUG_ATTRIBUTE_SETTING: Print a debug message whenever a
+ * Z-machine object attribute is set or cleared.
+ * @CHIMARA_FROTZ_DEBUG_ATTRIBUTE_TESTING: Print a debug message whenever a
+ * Z-machine object attribute is tested.
+ * @CHIMARA_FROTZ_DEBUG_OBJECT_MOVEMENT: Print a debug message whenever a
+ * Z-machine object is inserted into or removed from another object.
+ * @CHIMARA_FROTZ_DEBUG_OBJECT_LOCATING: Print a debug message whenever the
+ * location of a Z-machine object is checked.
+ *
+ * Controls what debugging messages Frotz should print. See the
+ * :debug-messages property.
+ */
+typedef enum {
+       CHIMARA_FROTZ_DEBUG_NONE = 0,
+       CHIMARA_FROTZ_DEBUG_ATTRIBUTE_SETTING = 1 << 0,
+       CHIMARA_FROTZ_DEBUG_ATTRIBUTE_TESTING = 1 << 1,
+       CHIMARA_FROTZ_DEBUG_OBJECT_MOVEMENT = 1 << 2,
+       CHIMARA_FROTZ_DEBUG_OBJECT_LOCATING = 1 << 3,
+} ChimaraFrotzDebugFlags;
+
 GType chimara_frotz_plugin_get_type(void) G_GNUC_CONST;
+GType chimara_frotz_debug_flags_get_type(void) G_GNUC_CONST;
 G_MODULE_EXPORT void peas_register_types (PeasObjectModule *module);
 
 G_END_DECLS