static GnomeVFSResult do_monitor_add (GnomeVFSMethod *method, GnomeVFSMethodHandle **method_handle, GnomeVFSURI *uri, GnomeVFSMonitorType monitor_type) { FakeNode *file; GnomeVFSURI *uri_copy; file = get_fake_node_from_uri (uri); if (!file) { return GNOME_VFS_ERROR_INVALID_URI; } if (!file->directory || monitor_type != GNOME_VFS_MONITOR_DIRECTORY) { return GNOME_VFS_ERROR_NOT_SUPPORTED; } uri_copy = gnome_vfs_uri_dup (uri); *method_handle = (GnomeVFSMethodHandle *) uri_copy; //G_LOCK (monitor_list); monitor_list = g_list_prepend (monitor_list, uri_copy); //G_UNLOCK (monitor_list); return GNOME_VFS_OK; }
GnomeVFSURI * mn_vfs_uri_append_file_suffix (GnomeVFSURI *uri, const char *suffix) { GnomeVFSURI *result; g_return_val_if_fail(uri != NULL, NULL); g_return_val_if_fail(suffix != NULL, NULL); result = gnome_vfs_uri_dup(uri); if (result->text) { char *new_text; new_text = g_strconcat(result->text, suffix, NULL); g_free(result->text); result->text = new_text; } else result->text = g_strdup(suffix); return result; }