Implemented sub-second W32 filesystem interface by new: CaptiveFileInfoObject
[captive.git] / src / libcaptive / include / captive / client-file.h
index 949e7db..5b3238f 100644 (file)
@@ -23,9 +23,9 @@
 
 #include <glib/gmacros.h>
 #include <glib-object.h>
-#include "reactos/ntos/types.h"        /* for HANDLE */
-#include "reactos/ddk/zwtypes.h"       /* for FILE_ID_BOTH_DIR_INFORMATION */
 #include <libgnomevfs/gnome-vfs-handle.h>      /* for GnomeVFSOpenMode */
+#include "captive/client-vfs.h"
+#include "captive/client-file-info.h"
 
 
 G_BEGIN_DECLS
@@ -38,23 +38,15 @@ G_BEGIN_DECLS
 #define CAPTIVE_FILE_OBJECT_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS((obj),CAPTIVE_FILE_TYPE_OBJECT,CaptiveFileObjectClass))
 typedef struct _CaptiveFileObject      CaptiveFileObject;
 typedef struct _CaptiveFileObjectClass CaptiveFileObjectClass;
-struct _CaptiveFileObject {
-       GObject parent_instance;
 
-       /*< private >*/
-       HANDLE file_Handle;
-       GnomeVFSFileOffset offset;
-       };
-struct _CaptiveFileObjectClass {
-       GObjectClass parent_class;
-       };
 
 GType captive_file_object_get_type(void);
 
-GnomeVFSResult captive_file_new_open
-               (CaptiveFileObject **captive_file_object_return,const gchar *pathname,GnomeVFSOpenMode mode);
-GnomeVFSResult captive_file_new_create
-               (CaptiveFileObject **captive_file_object_return,const gchar *pathname,GnomeVFSOpenMode mode,gboolean exclusive,guint perm);
+GnomeVFSResult captive_file_new_open(CaptiveFileObject **captive_file_object_return,
+               CaptiveVfsObject *captive_vfs_object,const gchar *pathname,GnomeVFSOpenMode mode);
+GnomeVFSResult captive_file_new_create(CaptiveFileObject **captive_file_object_return,
+               CaptiveVfsObject *captive_vfs_object,const gchar *pathname,GnomeVFSOpenMode mode,gboolean exclusive,guint perm);
+CaptiveVfsObject *captive_file_ref_vfs(CaptiveFileObject *captive_file_object);
 GnomeVFSResult captive_file_read(CaptiveFileObject *captive_file_object,
                gpointer buffer,GnomeVFSFileSize num_bytes,GnomeVFSFileSize *bytes_read_return);
 GnomeVFSResult captive_file_write(CaptiveFileObject *captive_file_object,
@@ -64,9 +56,9 @@ GnomeVFSResult captive_file_seek
 GnomeVFSResult captive_file_tell(CaptiveFileObject *captive_file_object,GnomeVFSFileOffset *offset_return);
 GnomeVFSResult captive_file_remove(CaptiveFileObject *captive_file_object);
 GnomeVFSResult captive_file_file_info_get(CaptiveFileObject *captive_file_object,
-               GnomeVFSFileInfo *file_info);
+               CaptiveFileInfoObject **captive_file_info_object_return);
 GnomeVFSResult captive_file_file_info_set(CaptiveFileObject *captive_file_object,
-               const GnomeVFSFileInfo *info,GnomeVFSSetFileInfoMask mask);
+               CaptiveFileInfoObject *captive_file_info_object,GnomeVFSSetFileInfoMask mask);
 GnomeVFSResult captive_file_truncate(CaptiveFileObject *captive_file_object,GnomeVFSFileSize file_size);
 GnomeVFSResult captive_file_move(CaptiveFileObject *captive_file_object_old,const gchar *pathname_new,gboolean force_replace);