GnomeVFSResult captive_sandbox_parent_file_file_info_get(CaptiveFileParentObject *captive_file_parent_object,
- GnomeVFSFileInfo *file_info_captive)
+ CaptiveFileInfoObject **captive_file_info_object_return)
{
-Captive_GnomeVFSFileInfo *file_info_corba;
+Captive_CaptiveFileInfoObject *file_info_corba;
GnomeVFSResult r;
xmlNode *xml_action=NULL;
CaptiveVfsParentObject *captive_vfs_parent_object;
+CaptiveFileInfoObject *captive_file_info_object;
g_return_val_if_fail(CAPTIVE_FILE_PARENT_IS_OBJECT(captive_file_parent_object),GNOME_VFS_ERROR_BAD_PARAMETERS);
- g_return_val_if_fail(file_info_captive!=NULL,GNOME_VFS_ERROR_BAD_PARAMETERS);
+ g_return_val_if_fail(captive_file_info_object_return!=NULL,GNOME_VFS_ERROR_BAD_PARAMETERS);
captive_vfs_parent_object=CAPTIVE_VFS_PARENT_OBJECT(CAPTIVE_FILE_OBJECT(captive_file_parent_object)->vfs);
if (r!=GNOME_VFS_OK)
return r;
- r=captive_sandbox_file_info_corba_to_captive(file_info_captive,file_info_corba);
- Captive_GnomeVFSFileInfo__freekids(file_info_corba,NULL/* 'd'; meaning? */);
+ r=captive_file_info_object_new(&captive_file_info_object);
+ if (xml_action)
+ xmlNewProp(xml_action,BAD_CAST "result",BAD_CAST gnome_vfs_result_to_string(r));
+ if (r!=GNOME_VFS_OK) {
+ Captive_CaptiveFileInfoObject__freekids(file_info_corba,NULL/* 'd'; meaning? */);
+ CORBA_free(file_info_corba);
+ return r;
+ }
+
+ r=captive_sandbox_file_info_corba_to_captive(captive_file_info_object,file_info_corba);
+ Captive_CaptiveFileInfoObject__freekids(file_info_corba,NULL/* 'd'; meaning? */);
CORBA_free(file_info_corba);
if (xml_action)
xmlSetProp(xml_action,BAD_CAST "result",BAD_CAST gnome_vfs_result_to_string(r));
- if (r!=GNOME_VFS_OK)
+ if (r!=GNOME_VFS_OK) {
+ g_object_unref(captive_file_info_object);
return r;
+ }
+ *captive_file_info_object_return=captive_file_info_object;
return GNOME_VFS_OK;
}
GnomeVFSResult captive_sandbox_parent_file_file_info_set(CaptiveFileParentObject *captive_file_parent_object,
- const GnomeVFSFileInfo *file_info_captive,GnomeVFSSetFileInfoMask mask)
+ CaptiveFileInfoObject *file_info_captive,GnomeVFSSetFileInfoMask mask)
{
-Captive_GnomeVFSFileInfo file_info_corba;
+Captive_CaptiveFileInfoObject file_info_corba;
GnomeVFSResult r;
xmlNode *xml_action=NULL;
CaptiveVfsParentObject *captive_vfs_parent_object;
if (r!=GNOME_VFS_OK)
return r;
- Captive_GnomeVFSFileInfo__freekids(&file_info_corba,NULL/* 'd'; meaning? */);
+ Captive_CaptiveFileInfoObject__freekids(&file_info_corba,NULL/* 'd'; meaning? */);
return GNOME_VFS_OK;
}