Navit SVN

/work/compile/navit/src/navit/vehicle.h

00001 
00020 #ifndef NAVIT_VEHICLE_H
00021 #define NAVIT_VEHICLE_H
00022 
00023 #ifdef __cplusplus
00024 extern "C" {
00025 #endif
00026 
00027 struct point;
00028 struct vehicle_priv;
00029 
00030 struct vehicle_methods {
00031         void (*destroy)(struct vehicle_priv *priv);
00032         int (*position_attr_get)(struct vehicle_priv *priv, enum attr_type type, struct attr *attr);
00033         int (*set_attr)(struct vehicle_priv *priv, struct attr *attr);
00034 };
00035 
00036 /* prototypes */
00037 enum attr_type;
00038 struct attr;
00039 struct attr_iter;
00040 struct cursor;
00041 struct graphics;
00042 struct point;
00043 struct vehicle;
00044 struct vehicle *vehicle_new(struct attr *parent, struct attr **attrs);
00045 void vehicle_destroy(struct vehicle *this_);
00046 struct attr_iter *vehicle_attr_iter_new(void);
00047 void vehicle_attr_iter_destroy(struct attr_iter *iter);
00048 int vehicle_get_attr(struct vehicle *this_, enum attr_type type, struct attr *attr, struct attr_iter *iter);
00049 int vehicle_set_attr(struct vehicle *this_, struct attr *attr);
00050 int vehicle_add_attr(struct vehicle *this_, struct attr *attr);
00051 int vehicle_remove_attr(struct vehicle *this_, struct attr *attr);
00052 void vehicle_set_cursor(struct vehicle *this_, struct cursor *cursor, int overwrite);
00053 void vehicle_draw(struct vehicle *this_, struct graphics *gra, struct point *pnt, int lazy, int angle, int speed);
00054 int vehicle_get_cursor_data(struct vehicle *this_, struct point *pnt, int *angle, int *speed);
00055 void vehicle_log_gpx_add_tag(char *tag, char **logstr);
00056 struct vehicle * vehicle_ref(struct vehicle *this_);
00057 void vehicle_unref(struct vehicle *this_);
00058 /* end of prototypes */
00059 
00060 #ifdef __cplusplus
00061 }
00062 #endif
00063 
00064 #endif
00065