Beispiel #1
0
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;
}
Beispiel #2
0
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;
}