#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
#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,
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);