diff options
author | Cosimo Cecchi <cosimoc@gnome.org> | 2008-04-04 15:51:47 +0000 |
---|---|---|
committer | Cosimo Cecchi <cosimoc@src.gnome.org> | 2008-04-04 15:51:47 +0000 |
commit | 957f93fd3720ee3eca0a55b9a51246b1a944527a (patch) | |
tree | 82890f7fdba0aaa4eb5436bb40a7651449fdaa29 /libnautilus-extension | |
parent | 00a42fe81d10c8aec34afd1f9ebf5551ee51a44b (diff) | |
download | nautilus-957f93fd3720ee3eca0a55b9a51246b1a944527a.tar.gz |
Add new APIs for extensions to NautilusFileInfo (can_write, get_mount and
2008-04-04 Cosimo Cecchi <cosimoc@gnome.org>
* libnautilus-extension/nautilus-file-info.c:
(nautilus_file_info_get_parent_info),
(nautilus_file_info_get_mount), (nautilus_file_info_can_write):
* libnautilus-extension/nautilus-file-info.h:
* libnautilus-private/nautilus-file.c:
(nautilus_file_info_iface_init):
Add new APIs for extensions to NautilusFileInfo (can_write, get_mount
and get_parent_info). (#521612).
svn path=/trunk/; revision=14036
Diffstat (limited to 'libnautilus-extension')
-rw-r--r-- | libnautilus-extension/nautilus-file-info.c | 27 | ||||
-rw-r--r-- | libnautilus-extension/nautilus-file-info.h | 9 |
2 files changed, 36 insertions, 0 deletions
diff --git a/libnautilus-extension/nautilus-file-info.c b/libnautilus-extension/nautilus-file-info.c index c4345ae13..942677036 100644 --- a/libnautilus-extension/nautilus-file-info.c +++ b/libnautilus-extension/nautilus-file-info.c @@ -152,6 +152,24 @@ nautilus_file_info_get_parent_uri (NautilusFileInfo *file) 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); +} + +GMount * +nautilus_file_info_get_mount (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_mount != NULL, NULL); + + return NAUTILUS_FILE_INFO_GET_IFACE (file)->get_mount (file); +} + char * nautilus_file_info_get_uri_scheme (NautilusFileInfo *file) { @@ -191,6 +209,15 @@ nautilus_file_info_is_directory (NautilusFileInfo *file) 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) diff --git a/libnautilus-extension/nautilus-file-info.h b/libnautilus-extension/nautilus-file-info.h index 29002a94c..d7a7278b5 100644 --- a/libnautilus-extension/nautilus-file-info.h +++ b/libnautilus-extension/nautilus-file-info.h @@ -78,6 +78,9 @@ struct _NautilusFileInfoIface GFileType (*get_file_type) (NautilusFileInfo *file); GFile * (*get_location) (NautilusFileInfo *file); GFile * (*get_parent_location) (NautilusFileInfo *file); + NautilusFileInfo* (*get_parent_info) (NautilusFileInfo *file); + GMount * (*get_mount) (NautilusFileInfo *file); + gboolean (*can_write) (NautilusFileInfo *file); }; @@ -96,13 +99,19 @@ char * nautilus_file_info_get_uri (NautilusFileInfo *fil 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); +GMount * nautilus_file_info_get_mount (NautilusFileInfo *file); char * nautilus_file_info_get_uri_scheme (NautilusFileInfo *file); +/* It's not safe to call this recursively multiple times, as it works + * only for files already cached by Nautilus. + */ +NautilusFileInfo* nautilus_file_info_get_parent_info (NautilusFileInfo *file); /* File Type */ char * nautilus_file_info_get_mime_type (NautilusFileInfo *file); 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 */ |