summaryrefslogtreecommitdiff
path: root/navit/binding
diff options
context:
space:
mode:
authormartin-s <martin-s@ffa7fe5e-494d-0410-b361-a75ebd5db220>2010-03-26 14:04:26 +0000
committermartin-s <martin-s@ffa7fe5e-494d-0410-b361-a75ebd5db220>2010-03-26 14:04:26 +0000
commit1a2d5e1132d7fcb260564c548f6d5d5a90167f6c (patch)
treecc65be5bd3312f9961e943784bdd19a75acf67f7 /navit/binding
parentfb30a78e4dffb8b5f8c0b6e025475460b4f1c595 (diff)
downloadnavit-svn-1a2d5e1132d7fcb260564c548f6d5d5a90167f6c.tar.gz
Add:binding_dbus:Exported route object
git-svn-id: http://svn.code.sf.net/p/navit/code/trunk/navit@3086 ffa7fe5e-494d-0410-b361-a75ebd5db220
Diffstat (limited to 'navit/binding')
-rw-r--r--navit/binding/dbus/binding_dbus.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/navit/binding/dbus/binding_dbus.c b/navit/binding/dbus/binding_dbus.c
index 8b7a357e..e54be444 100644
--- a/navit/binding/dbus/binding_dbus.c
+++ b/navit/binding/dbus/binding_dbus.c
@@ -38,6 +38,7 @@
#include "vehicle.h"
#include "map.h"
#include "mapset.h"
+#include "route.h"
#include "search.h"
#include "callback.h"
#include "gui.h"
@@ -119,6 +120,7 @@ resolve_object(const char *opath, char *type)
char *def_vehicle="/default_vehicle";
char *def_mapset="/default_mapset";
char *def_map="/default_map";
+ char *def_route="/default_route";
struct attr attr;
if (strncmp(opath, object_path, strlen(object_path))) {
@@ -175,6 +177,13 @@ resolve_object(const char *opath, char *type)
}
return NULL;
}
+ if (!strncmp(oprefix,def_route,strlen(def_route))) {
+ oprefix+=strlen(def_route);
+ if (navit_get_attr(navit.u.navit, attr_route, &attr, NULL)) {
+ return attr.u.route;
+ }
+ return NULL;
+ }
}
return NULL;
}
@@ -860,6 +869,22 @@ request_mapset_get_attr(DBusConnection *connection, DBusMessage *message)
return request_get_attr(connection, message, "mapset", NULL, (int (*)(void *, enum attr_type, struct attr *, struct attr_iter *))mapset_get_attr);
}
+/* route */
+
+static DBusHandlerResult
+request_route_get_attr(DBusConnection *connection, DBusMessage *message)
+{
+ return request_get_attr(connection, message, "route", NULL, (int (*)(void *, enum attr_type, struct attr *, struct attr_iter *))route_get_attr);
+}
+
+
+static DBusHandlerResult
+request_route_set_attr(DBusConnection *connection, DBusMessage *message)
+{
+ return request_set_add_remove_attr(connection, message, "route", NULL, (int (*)(void *, struct attr *))route_set_attr);
+}
+
+
/* navit */
static DBusHandlerResult
@@ -1431,6 +1456,8 @@ struct dbus_method {
{".mapset", "attr_iter_destroy", "o", "attr_iter", "", "", request_mapset_attr_iter_destroy},
{".mapset", "get_attr", "s", "attribute", "sv", "attrname,value", request_mapset_get_attr},
{".mapset", "get_attr_wi", "so", "attribute,attr_iter", "sv", "attrname,value", request_mapset_get_attr},
+ {".route", "get_attr", "s", "attribute", "sv", "attrname,value", request_route_get_attr},
+ {".route", "set_attr", "sv", "attribute,value", "", "", request_route_set_attr},
{".search_list","destroy", "", "", "", "", request_search_list_destroy},
{".search_list","get_result", "", "", "i(iii)a{sa{sv}}", "id,coord,dict", request_search_list_get_result},
{".search_list","search", "svi", "attribute,value,partial", "", "", request_search_list_search},