X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;f=lib%2Fev-file-helpers.c;h=130c62b20a48c91475db47c47be066e04beed654;hb=e1ec38bb31d735c3219f967f3f1703bc88eb5090;hp=247e511d11f67724b7d8eba84c9b98d21095f9b2;hpb=14d8faba24b8f51ee59c6177690065e7a58336ba;p=evince.git diff --git a/lib/ev-file-helpers.c b/lib/ev-file-helpers.c index 247e511d..130c62b2 100644 --- a/lib/ev-file-helpers.c +++ b/lib/ev-file-helpers.c @@ -23,9 +23,13 @@ #endif #include +#include #include #include -#include +#include +#include +#include +#include #include "ev-file-helpers.h" @@ -124,3 +128,36 @@ ev_tmp_filename (void) return filename; } + +gboolean +ev_xfer_uri_simple (const char *from, + const char *to, + GError **error) +{ + GnomeVFSResult result; + GnomeVFSURI *source_uri; + GnomeVFSURI *target_uri; + + if (!from) + return FALSE; + + source_uri = gnome_vfs_uri_new (from); + target_uri = gnome_vfs_uri_new (to); + + result = gnome_vfs_xfer_uri (source_uri, target_uri, + GNOME_VFS_XFER_DEFAULT | GNOME_VFS_XFER_FOLLOW_LINKS, + GNOME_VFS_XFER_ERROR_MODE_ABORT, + GNOME_VFS_XFER_OVERWRITE_MODE_REPLACE, + NULL, + NULL); + gnome_vfs_uri_unref (target_uri); + gnome_vfs_uri_unref (source_uri); + + if (result != GNOME_VFS_OK) + g_set_error (error, + G_FILE_ERROR, + G_FILE_ERROR_FAILED, + gnome_vfs_result_to_string (result)); + return (result == GNOME_VFS_OK); + +}