Index: libnautilus-private/nautilus-file.c =================================================================== --- libnautilus-private/nautilus-file.c (revision 13949) +++ libnautilus-private/nautilus-file.c (working copy) @@ -7044,11 +7044,13 @@ iface->get_uri = nautilus_file_get_uri; iface->get_parent_location = nautilus_file_get_parent_location; iface->get_parent_uri = nautilus_file_get_parent_uri; + iface->get_parent_info = nautilus_file_get_parent; iface->get_uri_scheme = nautilus_file_get_uri_scheme; iface->get_activation_uri = nautilus_file_get_activation_uri; iface->get_mime_type = nautilus_file_get_mime_type; iface->is_mime_type = nautilus_file_is_mime_type; iface->is_directory = nautilus_file_is_directory; + iface->can_write = nautilus_file_can_write; iface->add_emblem = nautilus_file_add_emblem; iface->get_string_attribute = nautilus_file_get_string_attribute; iface->add_string_attribute = nautilus_file_add_string_attribute; Index: libnautilus-extension/nautilus-file-info.c =================================================================== --- libnautilus-extension/nautilus-file-info.c (revision 13949) +++ libnautilus-extension/nautilus-file-info.c (working copy) @@ -152,6 +152,15 @@ return NAUTILUS_FILE_INFO_GET_IFACE (file)->get_parent_uri (file); } +NautilusFileInfo * +nautilus_file_info_get_parent_info (NautilusFileInfo *file) +{ + g_return_val_if_fail (NAUTILUS_IS_FILE_INFO (file), NULL); + g_return_val_if_fail (NAUTILUS_FILE_INFO_GET_IFACE (file)->get_parent_info != NULL, NULL); + + return NAUTILUS_FILE_INFO_GET_IFACE (file)->get_parent_info (file); +} + char * nautilus_file_info_get_uri_scheme (NautilusFileInfo *file) { @@ -191,6 +200,15 @@ return NAUTILUS_FILE_INFO_GET_IFACE (file)->is_directory (file); } +gboolean +nautilus_file_info_can_write (NautilusFileInfo *file) +{ + g_return_val_if_fail (NAUTILUS_IS_FILE_INFO (file), FALSE); + g_return_val_if_fail (NAUTILUS_FILE_INFO_GET_IFACE (file)->can_write != NULL, FALSE); + + return NAUTILUS_FILE_INFO_GET_IFACE (file)->can_write (file); +} + void nautilus_file_info_add_emblem (NautilusFileInfo *file, const char *emblem_name) Index: libnautilus-extension/nautilus-file-info.h =================================================================== --- libnautilus-extension/nautilus-file-info.h (revision 13949) +++ libnautilus-extension/nautilus-file-info.h (working copy) @@ -78,6 +78,8 @@ GFileType (*get_file_type) (NautilusFileInfo *file); GFile * (*get_location) (NautilusFileInfo *file); GFile * (*get_parent_location) (NautilusFileInfo *file); + NautilusFileInfo* (*get_parent_info) (NautilusFileInfo *file); + gboolean (*can_write) (NautilusFileInfo *file); }; @@ -96,6 +98,7 @@ char * nautilus_file_info_get_activation_uri (NautilusFileInfo *file); GFile * nautilus_file_info_get_parent_location (NautilusFileInfo *file); char * nautilus_file_info_get_parent_uri (NautilusFileInfo *file); +NautilusFileInfo* nautilus_file_info_get_parent_info (NautilusFileInfo *file); char * nautilus_file_info_get_uri_scheme (NautilusFileInfo *file); /* File Type */ @@ -103,6 +106,7 @@ gboolean nautilus_file_info_is_mime_type (NautilusFileInfo *file, const char *mime_type); gboolean nautilus_file_info_is_directory (NautilusFileInfo *file); +gboolean nautilus_file_info_can_write (NautilusFileInfo *file); /* Modifying the NautilusFileInfo */