20 #ifndef NAVIT_XMLCONFIG_H
21 #define NAVIT_XMLCONFIG_H
38 #define XML_ATTR_DISTANCE 1
42 #define XML_ATTR_DISTANCE 2
44 #undef G_MARKUP_ERROR_INVALID_CONTENT
45 #undef G_MARKUP_ERROR_PARSE
46 #undef G_MARKUP_ERROR_UNKNOWN_ELEMENT
47 #define G_MARKUP_ERROR 0
48 #define G_MARKUP_ERROR_INVALID_CONTENT 0
49 #define G_MARKUP_ERROR_PARSE 0
50 #define G_MARKUP_ERROR_UNKNOWN_ELEMENT 0
56 typedef struct attr_iter *(*object_func_iter_new)(
void *);
63 typedef void *(*object_func_dup)(
void *);
64 typedef void *(*object_func_ref)(
void *);
65 typedef void *(*object_func_unref)(
void *);
106 void *(*dup)(
void *);
107 void *(*ref)(
void *);
110 void *(*unref)(
void *);
119 #define HAS_OBJECT_FUNC(x) ((x) == attr_map || (x) == attr_mapset || (x) == attr_navit || (x) == attr_osd || (x) == attr_trackingo || (x) == attr_vehicle || (x) == attr_maps || (x) == attr_layout || (x) == attr_roadprofile || (x) == attr_vehicleprofile || (x) == attr_layer || (x) == attr_config || (x) == attr_profile_option || (x) == attr_script || (x) == attr_log || (x) == attr_speech || (x) == attr_navigation || (x) == attr_route || (x) == attr_traffic)
121 #define NAVIT_OBJECT struct object_func *func; int refcount; struct attr **attrs;
145 void (*start)(
xml_context *,
const char *,
const char **,
const char **,
void *, GError **),
146 void (*end)(
xml_context *,
const char *,
void *, GError **),
147 void (*text)(
xml_context *,
const char *, gsize,
void *, GError **));
149 const char **,
void *, GError **),
void (*end)(
xml_context *,
const char *,
void *, GError **),
150 void (*text)(
xml_context*,
const char *, gsize,
void *, GError **));
attr_type
Definition: attr.h:34
error
Definition: command.c:94
struct object_func config_func
Definition: config_.c:149
char data
Definition: garmin_img.c:2
char filename[8]
Definition: garmin_img.c:1
char type[3]
Definition: garmin_img.c:2
int size
Definition: garmin_img.c:3
struct object_func navit_func
Definition: navit.c:210
struct object_func layer_func
Definition: layout.c:715
struct object_func layout_func
Definition: layout.c:698
struct object_func log_func
Definition: log.c:541
struct object_func map_func
Definition: map.c:674
struct object_func maps_func
Definition: maps.c:87
struct object_func mapset_func
Definition: mapset.c:381
struct object_func navigation_func
Definition: navigation.c:4328
struct object_func osd_func
Definition: osd.c:465
struct object_func profile_option_func
Definition: profile_option.c:43
struct object_func roadprofile_func
Definition: roadprofile.c:99
struct object_func route_func
Definition: route.c:4375
struct object_func script_func
Definition: script.c:90
struct object_func speech_func
Definition: speech.c:139
void * iter
Definition: config_.c:48
struct attr * attrs
Definition: attr.h:213
Definition: xmlconfig.h:122
Basic functions for Navit objects.
Definition: xmlconfig.h:80
void(* iter_destroy)(struct attr_iter *)
Definition: xmlconfig.h:89
int(* add_attr)(void *, struct attr *attr)
Definition: xmlconfig.h:95
int(* get_attr)(void *, enum attr_type type, struct attr *attr, struct attr_iter *iter)
Definition: xmlconfig.h:83
int(* remove_attr)(void *, struct attr *attr)
Definition: xmlconfig.h:98
void(* destroy)(void *)
Definition: xmlconfig.h:103
enum attr_type type
Definition: xmlconfig.h:81
int(* set_attr)(void *, struct attr *attr)
Definition: xmlconfig.h:92
int(* init)(void *)
Definition: xmlconfig.h:101
struct object_func tracking_func
Definition: track.c:43
struct object_func vehicle_func
Definition: vehicle.c:85
struct object_func vehicleprofile_func
Definition: vehicleprofile.c:284
int navit_object_set_attr(struct navit_object *obj, struct attr *attr)
Definition: xmlconfig.c:1370
int navit_object_remove_attr(struct navit_object *obj, struct attr *attr)
Definition: xmlconfig.c:1399
void(* object_func_iter_destroy)(struct attr_iter *)
Definition: xmlconfig.h:57
int(* object_func_remove_attr)(void *, struct attr *attr)
Definition: xmlconfig.h:60
gboolean config_load(const char *filename, xmlerror **error)
Definition: xmlconfig.c:1259
struct attr_iter * navit_object_attr_iter_new(void *unused)
Definition: xmlconfig.c:1328
int navit_object_get_attr(struct navit_object *obj, enum attr_type type, struct attr *attr, struct attr_iter *iter)
Generic get function.
Definition: xmlconfig.c:1361
void navit_object_callbacks(struct navit_object *obj, struct attr *attr)
Definition: xmlconfig.c:1365
struct navit_object * navit_object_new(struct attr **attrs, struct object_func *func, int size)
Definition: xmlconfig.c:1298
int(* object_func_init)(void *)
Definition: xmlconfig.h:61
int navit_object_set_methods(void *in, int in_size, void *out, int out_size)
Definition: xmlconfig.c:1283
void navit_object_attr_iter_destroy(struct attr_iter *iter)
Definition: xmlconfig.c:1332
void * xml_context
Definition: xmlconfig.h:51
int xml_parse_text(const char *document, void *data, void(*start)(xml_context *, const char *, const char **, const char **, void *, GError **), void(*end)(xml_context *, const char *, void *, GError **), void(*text)(xml_context *, const char *, gsize, void *, GError **))
Parses XML text.
Definition: xmlconfig.c:1111
int navit_object_add_attr(struct navit_object *obj, struct attr *attr)
Definition: xmlconfig.c:1377
int(* object_func_add_attr)(void *, struct attr *attr)
Definition: xmlconfig.h:59
void * navit_object_unref(struct navit_object *obj)
Definition: xmlconfig.c:1313
struct object_func * object_func_lookup(enum attr_type type)
Definition: xmlconfig.c:248
struct object_func map_func mapset_func navit_func osd_func tracking_func vehicle_func maps_func layout_func roadprofile_func vehicleprofile_func layer_func config_func profile_option_func script_func log_func speech_func navigation_func route_func traffic_func
Definition: traffic.c:5957
void(* object_func_destroy)(void *)
Definition: xmlconfig.h:62
int(* object_func_set_attr)(void *, struct attr *attr)
Definition: xmlconfig.h:58
GError xmlerror
Definition: xmlconfig.h:139
int(* object_func_get_attr)(void *, enum attr_type type, struct attr *attr, struct attr_iter *iter)
Definition: xmlconfig.h:55
struct navit_object * navit_object_ref(struct navit_object *obj)
Definition: xmlconfig.c:1307
void navit_object_destroy(struct navit_object *obj)
Definition: xmlconfig.c:1413
int xml_parse_file(char *filename, void *data, void(*start)(xml_context *, const char *, const char **, const char **, void *, GError **), void(*end)(xml_context *, const char *, void *, GError **), void(*text)(xml_context *, const char *, gsize, void *, GError **))
Parses an XML file.
Definition: xmlconfig.c:1063
#define NAVIT_OBJECT
Definition: xmlconfig.h:121