Fix:Core:Possibility to get osds as attributes from navit object
authormartin-s <martin-s@ffa7fe5e-494d-0410-b361-a75ebd5db220>
Sun, 31 Jul 2011 21:20:45 +0000 (21:20 +0000)
committermartin-s <martin-s@ffa7fe5e-494d-0410-b361-a75ebd5db220>
Sun, 31 Jul 2011 21:20:45 +0000 (21:20 +0000)
git-svn-id: https://navit.svn.sourceforge.net/svnroot/navit/trunk@4667 ffa7fe5e-494d-0410-b361-a75ebd5db220

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

index 55270e7..0f58f21 100644 (file)
@@ -153,6 +153,7 @@ struct attr {
                struct roadprofile *roadprofile;
                struct bookmarks *bookmarks;
                struct config *config;
+               struct osd *osd;
                struct range {
                        short min, max;
                } range;
index 857ec96..9088b6e 100644 (file)
@@ -155,11 +155,13 @@ struct navit {
                 /* 2=No gui ok */
        int border;
        int imperial;
+       struct attr **attr_list;
 };
 
 struct gui *main_loop_gui;
 
 struct attr_iter {
+       void *iter;
        union {
                GList *list;
                struct mapset_handle *mapset_handle;
@@ -2515,6 +2517,9 @@ navit_get_attr(struct navit *this_, enum attr_type type, struct attr *attr, stru
        case attr_orientation:
                attr->u.num=this_->orientation;
                break;
+       case attr_osd:
+               ret=attr_generic_get_attr(this_->attr_list, NULL, type, attr, iter?(struct attr_iter *)&iter->iter:NULL);
+               break;
        case attr_osd_configuration:
                attr->u.num=this_->osd_configuration;
                break;
@@ -2639,6 +2644,9 @@ navit_add_attr(struct navit *this_, struct attr *attr)
        case attr_navigation:
                this_->navigation=attr->u.navigation;
                break;
+       case attr_osd:
+               this_->attr_list=attr_generic_add_attr(this_->attr_list, attr);
+               break;
        case attr_recent_dest:
                this_->recentdest_count = attr->u.num;
                break;