From 0692b89e1ba348040d0f1ffa1a85d5d7f1814756 Mon Sep 17 00:00:00 2001 From: martin-s Date: Sun, 9 May 2010 14:24:07 +0000 Subject: [PATCH] Add:binding_dbus:Access to tracking object git-svn-id: https://navit.svn.sourceforge.net/svnroot/navit/trunk@3235 ffa7fe5e-494d-0410-b361-a75ebd5db220 --- navit/navit/binding/dbus/binding_dbus.c | 19 +++++++++++++++++++ navit/navit/navit.c | 3 +++ 2 files changed, 22 insertions(+) diff --git a/navit/navit/binding/dbus/binding_dbus.c b/navit/navit/binding/dbus/binding_dbus.c index 085fa45..762dd6c 100644 --- a/navit/navit/binding/dbus/binding_dbus.c +++ b/navit/navit/binding/dbus/binding_dbus.c @@ -36,6 +36,7 @@ #include "command.h" #include "callback.h" #include "graphics.h" +#include "track.h" #include "vehicle.h" #include "vehicleprofile.h" #include "map.h" @@ -125,6 +126,7 @@ resolve_object(const char *opath, char *type) char *def_map="/default_map"; char *def_navigation="/default_navigation"; char *def_route="/default_route"; + char *def_tracking="/default_tracking"; struct attr attr; if (strncmp(opath, object_path, strlen(object_path))) { @@ -200,6 +202,12 @@ resolve_object(const char *opath, char *type) } return NULL; } + if (!strncmp(oprefix,def_tracking,strlen(def_tracking))) { + if (navit_get_attr(navit.u.navit, attr_trackingo, &attr, NULL)) { + return attr.u.tracking; + } + return NULL; + } } return NULL; } @@ -1434,6 +1442,16 @@ request_search_list_select(DBusConnection *connection, DBusMessage *message) return empty_reply(connection, message); } +/* tracking */ + +static DBusHandlerResult +request_tracking_get_attr(DBusConnection *connection, DBusMessage *message) +{ + return request_get_attr(connection, message, "tracking", NULL, (int (*)(void *, enum attr_type, struct attr *, struct attr_iter *))tracking_get_attr); +} + + + /* vehicle */ static DBusHandlerResult @@ -1531,6 +1549,7 @@ struct dbus_method { {".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}, {".search_list","select", "sii", "attribute_type,id,mode", "", "", request_search_list_select}, + {".tracking","get_attr", "s", "attribute", "", "", request_tracking_get_attr}, {".vehicle","set_attr", "sv", "attribute,value", "", "", request_vehicle_set_attr}, {".vehicleprofile","get_attr", "s", "attribute", "", "", request_vehicleprofile_get_attr}, {".vehicleprofile","set_attr", "sv", "attribute,value", "", "", request_vehicleprofile_set_attr}, diff --git a/navit/navit/navit.c b/navit/navit/navit.c index c4c1054..ac6a887 100644 --- a/navit/navit/navit.c +++ b/navit/navit/navit.c @@ -1772,6 +1772,9 @@ navit_get_attr(struct navit *this_, enum attr_type type, struct attr *attr, stru case attr_tracking: attr->u.num=this_->tracking_flag; break; + case attr_trackingo: + attr->u.tracking=this_->tracking; + break; case attr_transformation: attr->u.transformation=this_->trans; break; -- 2.7.4