#include <libgnomevfs/gnome-vfs-volume.h>
#include <libgnomevfs/gnome-vfs-volume-monitor.h>

int
main (int    argc,
      char **argv)
{
	gboolean set_name;
	GnomeVFSVolumeMonitor *monitor;
	GList *volumes, *l;
	GnomeVFSVolume *volume;

	if (argc != 3) {
		goto help;
	}

	gnome_vfs_init ();

	monitor = gnome_vfs_get_volume_monitor ();
	g_warning ("1)");

	volumes = gnome_vfs_volume_monitor_get_mounted_volumes (monitor);
	for (volume = NULL, l = volumes; l != NULL; l = l->next) {
		if (volume == NULL && gnome_vfs_volume_get_volume_type ((GnomeVFSVolume *) l->data) == GNOME_VFS_VOLUME_TYPE_CONNECTED_SERVER) {
			volume = l->data;
		} else {
			gnome_vfs_volume_unref ((GnomeVFSVolume *) l->data);
		}
	}
	g_list_free (volumes);

	if (volume == NULL) {
		g_warning ("no volume found!");
		return 0;
	}

	if (!strcmp (argv[1], "uri")) {
		gnome_vfs_volume_connected_server_set_activation_uri (volume, argv[2]);
	} else if (!strcmp (argv[1], "name")) {
		gnome_vfs_volume_connected_server_set_display_name (volume, argv[2]);
	} else if (!strcmp (argv[1], "icon")) {
		gnome_vfs_volume_connected_server_set_icon (volume, argv[2]);
	} else {
		goto help;
	}

	gnome_vfs_volume_unref (volume);

	return 0;

help:
	g_message ("invocation: foo (uri|name|icon) value");
	return 0;
}
