X-Git-Url: http://git.maemo.org/git/?a=blobdiff_plain;f=src%2Fmaemo%2Fmodest-maemo-utils.c;h=9aae77c5e856bc35a984049a91801781cb3f3143;hb=f0e59e582ece5beef0ddd0e5660bb47051476762;hp=5b7e477c53197d3fd18de3b4a159e4cae9f8a413;hpb=1676dd5adb40ad74ecf834be75825382d53eafd7;p=modest diff --git a/src/maemo/modest-maemo-utils.c b/src/maemo/modest-maemo-utils.c index 5b7e477..9aae77c 100644 --- a/src/maemo/modest-maemo-utils.c +++ b/src/maemo/modest-maemo-utils.c @@ -35,6 +35,8 @@ #include #include #include +#include +#include #include "modest-maemo-utils.h" @@ -82,10 +84,6 @@ modest_maemo_utils_menubar_to_menu (GtkUIManager *ui_manager) } - - - - static void update_device_name_from_msg (DBusMessage *message) { @@ -95,19 +93,14 @@ update_device_name_from_msg (DBusMessage *message) dbus_error_init (&error); if (dbus_set_error_from_message (&error, message)) { - g_printerr ("modest: failed to get bt name: %s\n", error.message); + g_printerr ("modest: failed to get bluetooth name: %s\n", error.message); dbus_error_free (&error); - modest_conf_set_string (modest_runtime_get_conf(), - MODEST_CONF_DEVICE_NAME, - MODEST_LOCAL_FOLDERS_DEFAULT_DISPLAY_NAME, - NULL); } else { const gchar *device_name; if (!dbus_message_iter_init (message, &iter)) { g_printerr ("modest: message did not have argument\n"); return; } - dbus_message_iter_get_basic (&iter, &device_name); g_warning ("update device name: %s", device_name); modest_conf_set_string (modest_runtime_get_conf(), @@ -197,5 +190,53 @@ modest_maemo_utils_get_device_name (void) get_device_name_from_dbus (); } +gboolean +modest_maemo_utils_folder_writable (const gchar *filename) +{ + if (g_strncasecmp (filename, "obex", 4) != 0) { + GnomeVFSFileInfo folder_info; + gchar *folder; + folder = g_path_get_dirname (filename); + gnome_vfs_get_file_info (folder, &folder_info, + GNOME_VFS_FILE_INFO_GET_ACCESS_RIGHTS); + g_free (folder); + if (!((folder_info.permissions & GNOME_VFS_PERM_ACCESS_WRITABLE) || + (folder_info.permissions & GNOME_VFS_PERM_USER_WRITE))) { + return FALSE; + } + } + return TRUE; +} + +gboolean +modest_maemo_utils_file_exists (const gchar *filename) +{ + GnomeVFSURI *uri = NULL; + gboolean result = FALSE; + uri = gnome_vfs_uri_new (filename); + if (uri) { + result = gnome_vfs_uri_exists (uri); + gnome_vfs_uri_unref (uri); + } + return result; +} +TnyFsStream * +modest_maemo_utils_create_temp_stream (gchar **path) +{ + TnyStream *tmp_fs_stream; + gint fd; + gchar *filepath; + + fd = g_file_open_tmp (NULL, &filepath, NULL); + if (path != NULL) + *path = filepath; + if (fd == -1) { + g_message ("TODO BANNER: Error saving stream"); + return NULL; + } + tmp_fs_stream = tny_fs_stream_new (fd); + + return TNY_FS_STREAM (tmp_fs_stream); +}