Force 'captivemodid' checking during any W32 module loading.
[captive.git] / src / libcaptive / include / captive / captivemodid.h
index 5a3847a..592c689 100644 (file)
@@ -22,6 +22,7 @@
 
 
 #include <glib/gtypes.h>
+#include <glib-object.h>
 #include <libgnomevfs/gnome-vfs-file-size.h>
 #include <libxml/tree.h>       /* for xmlChar */
 #include <glib/ghash.h>
 
 G_BEGIN_DECLS
 
+#define CAPTIVE_CAPTIVEMODID_TYPE_OBJECT            (captive_captivemodid_object_get_type())
+#define CAPTIVE_CAPTIVEMODID_OBJECT(object)         (G_TYPE_CHECK_INSTANCE_CAST((object),CAPTIVE_CAPTIVEMODID_TYPE_OBJECT,CaptiveCaptivemodidObject))
+#define CAPTIVE_CAPTIVEMODID_OBJECT_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST((klass),CAPTIVE_CAPTIVEMODID_TYPE_OBJECT,CaptiveCaptivemodidObjectClass))
+#define CAPTIVE_CAPTIVEMODID_IS_OBJECT(object)      (G_TYPE_CHECK_INSTANCE_TYPE((object),CAPTIVE_CAPTIVEMODID_TYPE_OBJECT))
+#define CAPTIVE_CAPTIVEMODID_IS_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass),CAPTIVE_CAPTIVEMODID_TYPE_OBJECT))
+#define CAPTIVE_CAPTIVEMODID_OBJECT_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS((obj),CAPTIVE_CAPTIVEMODID_TYPE_OBJECT,CaptiveCaptivemodidObjectClass))
+typedef struct _CaptiveCaptivemodidObject      CaptiveCaptivemodidObject;
+typedef struct _CaptiveCaptivemodidObjectClass CaptiveCaptivemodidObjectClass;
+
+
+GType captive_captivemodid_object_get_type(void);
+
+
 struct captive_captivemodid_module {
        const xmlChar *type;
        gint length;
@@ -40,13 +54,19 @@ struct captive_captivemodid_module {
 
 extern void (*captive_captivemodid_module_best_priority_notify)(const gchar *module_type);
 
+CaptiveCaptivemodidObject *captive_captivemodid_load(const gchar *captive_captivemodid_pathname);
+CaptiveCaptivemodidObject *captive_captivemodid_load_default(gboolean fatal);
+const gchar *captive_captivemodid_get_pathname_loaded(CaptiveCaptivemodidObject *captivemodid);
+gboolean captive_captivemodid_module_length_is_valid(CaptiveCaptivemodidObject *captivemodid,GnomeVFSFileSize file_size);
+struct captive_captivemodid_module *captive_captivemodid_module_md5_lookup
+               (CaptiveCaptivemodidObject *captivemodid,const gchar *file_md5);
+gint captive_captivemodid_module_type_best_priority_lookup
+               (CaptiveCaptivemodidObject *captivemodid,const xmlChar *module_type);
+gboolean captive_captivemodid_module_type_best_priority_found
+               (CaptiveCaptivemodidObject *captivemodid,const xmlChar *module_type);
+gint captive_captivemodid_cabinet_length_to_used(CaptiveCaptivemodidObject *captivemodid,gint cabinet_length);
+
 gchar *captive_calc_md5(gconstpointer base,size_t length);
-gboolean captive_captivemodid_module_length_is_valid(GnomeVFSFileSize file_size);
-struct captive_captivemodid_module *captive_captivemodid_module_md5_lookup(const gchar *file_md5);
-gint captive_captivemodid_module_type_best_priority_lookup(const xmlChar *module_type);
-gboolean captive_captivemodid_module_type_best_priority_found(const xmlChar *module_type);
-gboolean captive_captivemodid_load(const gchar *captive_captivemodid_pathname);
-gint captive_captivemodid_cabinet_length_to_used(gint cabinet_length);
 
 G_END_DECLS