Add:core:Added navit_set_vehicle_by_name halper function
authorakashihi <akashihi@ffa7fe5e-494d-0410-b361-a75ebd5db220>
Tue, 16 Mar 2010 15:57:58 +0000 (15:57 +0000)
committerakashihi <akashihi@ffa7fe5e-494d-0410-b361-a75ebd5db220>
Tue, 16 Mar 2010 15:57:58 +0000 (15:57 +0000)
git-svn-id: https://navit.svn.sourceforge.net/svnroot/navit/trunk@3022 ffa7fe5e-494d-0410-b361-a75ebd5db220

navit/navit/navit.c
navit/navit/navit.h

index f7844f5..8268437 100644 (file)
@@ -2214,6 +2214,30 @@ navit_layout_switch(struct navit *n)
 }
 
 int 
+navit_set_vehicle_by_name(struct navit *n,const char *name) 
+{
+    struct vehicle *v;
+    struct attr_iter *iter;
+    struct attr vehicle_attr, name_attr;
+
+       iter=navit_attr_iter_new();
+
+    while (navit_get_attr(n,attr_vehicle,&vehicle_attr,iter)) {
+               v=vehicle_attr.u.vehicle;
+               vehicle_get_attr(v,attr_name,&name_attr,NULL);
+               if (name_attr.type==attr_name) {
+                       if (!strcmp(name,name_attr.u.str)) {
+                               navit_set_attr(n,&vehicle_attr);                                
+                               navit_attr_iter_destroy(iter);
+                               return 1;
+                       }
+               }
+       }
+    navit_attr_iter_destroy(iter);
+    return 0;
+}
+
+int 
 navit_set_layout_by_name(struct navit *n,const char *name) 
 {
     struct layout *l;
index bffa71b..a22d8e9 100644 (file)
@@ -98,6 +98,7 @@ struct navigation *navit_get_navigation(struct navit *this_);
 struct displaylist *navit_get_displaylist(struct navit *this_);
 int navit_block(struct navit *this_, int block);
 void navit_layout_switch(struct navit *n);
+int navit_set_vehicle_by_name(struct navit *n,const char *name);
 int navit_set_layout_by_name(struct navit *n, const char* name);
 void navit_destroy(struct navit *this_);
 /* end of prototypes */