static GnomeVFSResult captive_file_new_internal(CaptiveFileObject **captive_file_object_return,
+ CaptiveVfsObject *captive_vfs_object,
const gchar *pathname,GnomeVFSOpenMode mode,gboolean create,gboolean create_exclusive,guint create_perm)
{
IO_STATUS_BLOCK file_IoStatusBlock;
return captive_sandbox_parent_file_new_open(captive_file_object_return,pathname,mode);
g_return_val_if_fail(captive_file_object_return!=NULL,GNOME_VFS_ERROR_BAD_PARAMETERS);
+ g_return_val_if_fail(captive_vfs_object!=NULL,GNOME_VFS_ERROR_BAD_PARAMETERS);
g_return_val_if_fail(pathname!=NULL,GNOME_VFS_ERROR_BAD_PARAMETERS);
*captive_file_object_return=NULL;
CAPTIVE_FILE_TYPE_OBJECT, /* object_type */
NULL); /* first_property_name; FIXME: support properties */
+ captive_file_object->vfs=captive_vfs_object;
captive_file_object->file_Handle=file_Handle;
captive_file_object->offset=0;
}
-GnomeVFSResult captive_file_new_open
- (CaptiveFileObject **captive_file_object_return,const gchar *pathname,GnomeVFSOpenMode mode)
+GnomeVFSResult captive_file_new_open(CaptiveFileObject **captive_file_object_return,
+ CaptiveVfsObject *captive_vfs_object,const gchar *pathname,GnomeVFSOpenMode mode)
{
GnomeVFSResult r;
g_return_val_if_fail(captive_file_object_return!=NULL,GNOME_VFS_ERROR_BAD_PARAMETERS);
+ g_return_val_if_fail(captive_vfs_object!=NULL,GNOME_VFS_ERROR_BAD_PARAMETERS);
g_return_val_if_fail(pathname!=NULL,GNOME_VFS_ERROR_BAD_PARAMETERS);
- r=captive_file_new_internal(captive_file_object_return,pathname,mode,
+ r=captive_file_new_internal(captive_file_object_return,captive_vfs_object,pathname,mode,
FALSE, /* create */
FALSE, /* create_exclusive; ignored */
0); /* create_perm; ignored */
}
-GnomeVFSResult captive_file_new_create
- (CaptiveFileObject **captive_file_object_return,const gchar *pathname,GnomeVFSOpenMode mode,gboolean exclusive,guint perm)
+GnomeVFSResult captive_file_new_create(CaptiveFileObject **captive_file_object_return,
+ CaptiveVfsObject *captive_vfs_object,const gchar *pathname,GnomeVFSOpenMode mode,gboolean exclusive,guint perm)
{
GnomeVFSResult r;
g_return_val_if_fail(captive_file_object_return!=NULL,GNOME_VFS_ERROR_BAD_PARAMETERS);
+ g_return_val_if_fail(captive_vfs_object!=NULL,GNOME_VFS_ERROR_BAD_PARAMETERS);
g_return_val_if_fail(pathname!=NULL,GNOME_VFS_ERROR_BAD_PARAMETERS);
- r=captive_file_new_internal(captive_file_object_return,pathname,mode,
+ r=captive_file_new_internal(captive_file_object_return,captive_vfs_object,pathname,mode,
TRUE, /* create */
exclusive, /* create_exclusive */
perm); /* create_perm */