[maemo-commits] [maemo-commits] r11697 - projects/haf/trunk/hildon-fm/hildon-fm
From: subversion at stage.maemo.org subversion at stage.maemo.orgDate: Wed May 16 17:16:58 EEST 2007
- Previous message: [maemo-commits] r11696 - projects/haf/trunk/hildon-fm
- Next message: [maemo-commits] r11698 - projects/haf/trunk/hildon-fm
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Author: marivoll
Date: 2007-05-16 17:16:56 +0300 (Wed, 16 May 2007)
New Revision: 11697
Modified:
projects/haf/trunk/hildon-fm/hildon-fm/hildon-file-system-private.c
Log:
* hildon-fm/hildon-file-system-private.c
(_hildon_file_system_get_locations): Create a real root location.
Don't set up MMCs.
(setup_mmc): Removed.
(get_special_location_callback): Always accept zero length
basepaths as candidates. Add the new location object to the tree
of special locations.
(_hildon_file_system_get_special_location): Traverse locations in
post order so that more specific locations are considered first.
Call hildon_file_system_special_location_volumes_changed when a
new location object has been created.
Modified: projects/haf/trunk/hildon-fm/hildon-fm/hildon-file-system-private.c
===================================================================
--- projects/haf/trunk/hildon-fm/hildon-fm/hildon-file-system-private.c 2007-05-16 14:12:23 UTC (rev 11696)
+++ projects/haf/trunk/hildon-fm/hildon-fm/hildon-file-system-private.c 2007-05-16 14:16:56 UTC (rev 11697)
@@ -41,6 +41,7 @@
#include "hildon-file-system-settings.h"
#include "hildon-file-common-private.h"
+#include "hildon-file-system-root.h"
#include "hildon-file-system-local-device.h"
#include "hildon-file-system-mmc.h"
#include "hildon-file-system-upnp.h"
@@ -137,27 +138,6 @@
return result;
}
-static void setup_mmc(GNode *parent, const gchar *path, gboolean internal)
-{
- HildonFileSystemSpecialLocation *location;
- gchar *uri;
-
- if (path && path[0]) {
- GValue val = {0, };
- g_value_init(&val, G_TYPE_BOOLEAN);
-
- uri = g_filename_to_uri(path, NULL, NULL);
- if (uri) {
- location = g_object_new(HILDON_TYPE_FILE_SYSTEM_MMC, NULL);
- g_value_set_boolean(&val, internal);
- g_object_set_property(G_OBJECT(location), "internal-card",
- &val);
- location->basepath = uri;
- g_node_append_data(parent, location);
- }
- }
-}
-
GNode *_hildon_file_system_get_locations(GtkFileSystem *fs)
{
static GNode *locations = NULL;
@@ -169,7 +149,13 @@
gchar *rootpath;
GNode *rootnode;
- locations = g_node_new(NULL); /* Invisible root node above everything else */
+ /* Invisible root node
+ above everything else */
+
+ location = g_object_new (HILDON_TYPE_FILE_SYSTEM_ROOT, NULL);
+ location->basepath = g_strdup ("");
+ locations = g_node_new (location);
+
rootpath = get_local_device_root_path();
/* Setup local device */
@@ -197,10 +183,6 @@
g_free(rootpath);
- /* Setup MMC device(s) */
- setup_mmc(rootnode, g_getenv("MMC_MOUNTPOINT"), FALSE);
- setup_mmc(rootnode, g_getenv("INTERNAL_MMC_MOUNTPOINT"), TRUE);
-
/* Setup uPnP devices */
env = g_getenv("UPNP_ROOT");
if (env && env[0]) {
@@ -261,13 +243,14 @@
if (searched->len_uri == len_cand) {
searched->result = g_object_ref(candidate);
searched->is_child = FALSE;
- } else if (searched->uri[len_cand] == G_DIR_SEPARATOR) {
+ } else if (len_cand == 0
+ || searched->uri[len_cand] == G_DIR_SEPARATOR) {
searched->result =
hildon_file_system_special_location_create_child_location(
candidate, searched->uri);
searched->is_child = TRUE;
- ULOG_INFO("Checking if %s considers %s as dynamic device? Result = %p",
- candidate->basepath, searched->uri, (gpointer) searched->result);
+ if (searched->result)
+ g_node_append_data (node, searched->result);
}
return searched->result != NULL;
@@ -294,11 +277,14 @@
if (data.len_uri > 1 && data.uri[data.len_uri - 1] == G_DIR_SEPARATOR)
data.len_uri--;
- g_node_traverse(locations, G_PRE_ORDER, G_TRAVERSE_ALL, -1,
+ g_node_traverse(locations, G_POST_ORDER, G_TRAVERSE_ALL, -1,
get_special_location_callback, &data);
g_free(data.uri);
}
+ if (data.result && data.is_child)
+ hildon_file_system_special_location_volumes_changed (data.result, fs);
+
return data.result;
}
- Previous message: [maemo-commits] r11696 - projects/haf/trunk/hildon-fm
- Next message: [maemo-commits] r11698 - projects/haf/trunk/hildon-fm
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
