From: <mar...@us...> - 2013-05-26 13:23:34
|
Revision: 5515 http://navit.svn.sourceforge.net/navit/?rev=5515&view=rev Author: martin-s Date: 2013-05-26 13:23:28 +0000 (Sun, 26 May 2013) Log Message: ----------- Add:Core:Split up navit_object_set_attr into two parts to allow to trigger callback indipendently Modified Paths: -------------- trunk/navit/navit/xmlconfig.c trunk/navit/navit/xmlconfig.h Modified: trunk/navit/navit/xmlconfig.c =================================================================== --- trunk/navit/navit/xmlconfig.c 2013-05-26 13:20:57 UTC (rev 5514) +++ trunk/navit/navit/xmlconfig.c 2013-05-26 13:23:28 UTC (rev 5515) @@ -1332,12 +1332,18 @@ return attr_generic_get_attr(obj->attrs, NULL, type, attr, iter); } +void +navit_object_callbacks(struct navit_object *obj, struct attr *attr) +{ + if (obj->attrs && obj->attrs[0] && obj->attrs[0]->type == attr_callback_list) + callback_list_call_attr_2(obj->attrs[0]->u.callback_list, attr->type, attr->u.data, 0); +} + int navit_object_set_attr(struct navit_object *obj, struct attr *attr) { obj->attrs=attr_generic_set_attr(obj->attrs, attr); - if (obj->attrs && obj->attrs[0] && obj->attrs[0]->type == attr_callback_list) - callback_list_call_attr_2(obj->attrs[0]->u.callback_list, attr->type, attr->u.data, 0); + navit_object_callbacks(obj, attr); return 1; } Modified: trunk/navit/navit/xmlconfig.h =================================================================== --- trunk/navit/navit/xmlconfig.h 2013-05-26 13:20:57 UTC (rev 5514) +++ trunk/navit/navit/xmlconfig.h 2013-05-26 13:23:28 UTC (rev 5515) @@ -70,6 +70,7 @@ struct attr_iter * navit_object_attr_iter_new(void); void navit_object_attr_iter_destroy(struct attr_iter *iter); int navit_object_get_attr(struct navit_object *obj, enum attr_type type, struct attr *attr, struct attr_iter *iter); +void navit_object_callbacks(struct navit_object *obj, struct attr *attr); int navit_object_set_attr(struct navit_object *obj, struct attr *attr); int navit_object_add_attr(struct navit_object *obj, struct attr *attr); int navit_object_remove_attr(struct navit_object *obj, struct attr *attr); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |