summaryrefslogtreecommitdiff
path: root/navit/osd.c
diff options
context:
space:
mode:
authormartin-s <martin-s@ffa7fe5e-494d-0410-b361-a75ebd5db220>2011-07-31 21:30:22 +0000
committermartin-s <martin-s@ffa7fe5e-494d-0410-b361-a75ebd5db220>2011-07-31 21:30:22 +0000
commit8189664945ce709808c5d72e4d5be7b23fd9e65d (patch)
treec67684624990d215261ebdc55c4b37a3dc966fbe /navit/osd.c
parent0d68075afe89c8f4e65d6e1a7c79e2353f13746d (diff)
downloadnavit-svn-8189664945ce709808c5d72e4d5be7b23fd9e65d.tar.gz
Add:Core:osd_get and set_attr functions based on patch by dandor
git-svn-id: http://svn.code.sf.net/p/navit/code/trunk/navit@4668 ffa7fe5e-494d-0410-b361-a75ebd5db220
Diffstat (limited to 'navit/osd.c')
-rw-r--r--navit/osd.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/navit/osd.c b/navit/osd.c
index 9766f091..ec38b990 100644
--- a/navit/osd.c
+++ b/navit/osd.c
@@ -33,6 +33,7 @@
struct osd {
struct osd_methods meth;
struct osd_priv *priv;
+ struct attr** osd_attrs;
};
static GHashTable *osd_hash = NULL;
@@ -61,10 +62,17 @@ osd_new(struct attr *parent, struct attr **attrs)
g_hash_table_insert(osd_hash, g_strdup(attr->u.str), o);
}
+ o->osd_attrs = attr_list_dup(attrs);
return o;
}
+int
+osd_get_attr(struct osd *this_, enum attr_type type, struct attr *attr, struct attr_iter *iter)
+{
+ return attr_generic_get_attr(this_->osd_attrs, NULL, type, attr, NULL);
+}
+
struct osd*
osd_get_osd_by_name(char *name)
{
@@ -74,6 +82,7 @@ osd_get_osd_by_name(char *name)
int
osd_set_attr(struct osd *osd, struct attr* attr)
{
+ osd->osd_attrs=attr_generic_set_attr(osd->osd_attrs,attr);
if(osd && osd->meth.set_attr) {
osd->meth.set_attr(osd->priv, attr);
}