+captive_sandbox_file_info_set_mask_captive_to_corba()
authorshort <>
Thu, 9 Oct 2003 18:18:34 +0000 (18:18 +0000)
committershort <>
Thu, 9 Oct 2003 18:18:34 +0000 (18:18 +0000)
src/libcaptive/sandbox/FileInfo.c
src/libcaptive/sandbox/FileInfo.h

index b44f4fd..5de2901 100644 (file)
@@ -91,3 +91,34 @@ GnomeVFSResult captive_sandbox_file_info_captive_to_corba
 
        return GNOME_VFS_OK;
 }
+
+
+GnomeVFSResult captive_sandbox_file_info_set_mask_captive_to_corba
+               (Captive_GnomeVFSFileInfo *file_info_corba,const GnomeVFSFileInfo *file_info_captive,GnomeVFSSetFileInfoMask mask)
+{
+       g_return_val_if_fail(file_info_corba!=NULL,GNOME_VFS_ERROR_BAD_PARAMETERS);
+       g_return_val_if_fail(file_info_captive!=NULL,GNOME_VFS_ERROR_BAD_PARAMETERS);
+
+       file_info_corba->name=NULL;
+       file_info_corba->type_valid=CORBA_FALSE;
+       file_info_corba->permissions_valid=CORBA_FALSE;
+       file_info_corba->size_valid=CORBA_FALSE;
+       file_info_corba->block_count_valid=CORBA_FALSE;
+       file_info_corba->atime=0;
+       file_info_corba->mtime=0;
+       file_info_corba->ctime=0;
+       file_info_corba->flags_valid=CORBA_FALSE;
+
+       if (mask&GNOME_VFS_SET_FILE_INFO_NAME)
+               file_info_corba->name=CORBA_string_dup(file_info_captive->name);
+       if ((file_info_corba->permissions_valid=!!(mask&GNOME_VFS_SET_FILE_INFO_PERMISSIONS)))
+               file_info_corba->permissions=file_info_captive->permissions;
+       /* Not implemented by libcaptive: GNOME_VFS_SET_FILE_INFO_OWNER */
+       if (mask&GNOME_VFS_SET_FILE_INFO_TIME) {
+               file_info_corba->atime=file_info_captive->atime;
+               file_info_corba->mtime=file_info_captive->mtime;
+               file_info_corba->ctime=file_info_captive->ctime;
+               }
+
+       return GNOME_VFS_OK;
+}
index c222c81..d9efbc8 100644 (file)
@@ -32,6 +32,8 @@ GnomeVFSResult captive_sandbox_file_info_corba_to_captive
                (GnomeVFSFileInfo *file_info_captive,const Captive_GnomeVFSFileInfo *file_info_corba);
 GnomeVFSResult captive_sandbox_file_info_captive_to_corba
                (Captive_GnomeVFSFileInfo *file_info_corba,const GnomeVFSFileInfo *file_info_captive);
+GnomeVFSResult captive_sandbox_file_info_set_mask_captive_to_corba
+               (Captive_GnomeVFSFileInfo *file_info_corba,const GnomeVFSFileInfo *file_info_captive,GnomeVFSSetFileInfoMask mask);
 
 G_END_DECLS