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