navit  0.5.3-trunk
navigation.h
Go to the documentation of this file.
1 
20 #ifndef NAVIT_NAVIGATION_H
21 #define NAVIT_NAVIGATION_H
22 
23 #define FEET_PER_METER 3.2808399
24 #define FEET_PER_MILE 5280
25 #define KILOMETERS_TO_MILES 0.62137119 /* Kilometers to miles */
26 
27 /* It appears that distances to be displayed, such as distances to
28  * maneuvers, are in meters. Multiply that by METERS_PER_MILE and you
29  * have miles. */
30 #define METERS_TO_MILES (KILOMETERS_TO_MILES/1000.0) /* Meters to miles */
31 /* #define METERS_PER_MILE (1000.0/KILOMETERS_TO_MILES) */
32 
33 /* Meters per second to kilometers per hour. GPSD delivers speeds in
34  * meters per second. */
35 #define MPS_TO_KPH 3.6
36 
37 #ifdef __cplusplus
38 extern "C" {
39 #endif
40 
41 
45 enum nav_status {
46  status_invalid = -2,
57  status_routing = 4,
59 };
60 
61 
62 /* prototypes */
63 enum attr_type;
64 enum item_type;
65 struct attr;
66 struct attr_iter;
67 struct callback;
68 struct map;
69 struct navigation;
70 struct route;
71 char *nav_status_to_text(int status);
72 int navigation_get_attr(struct navigation *this_, enum attr_type type, struct attr *attr, struct attr_iter *iter);
73 int navigation_set_attr(struct navigation *this_, struct attr *attr);
74 struct navigation *navigation_new(struct attr *parent, struct attr **attrs);
75 int navigation_set_announce(struct navigation *this_, enum item_type type, int *level);
76 void navigation_destroy(struct navigation *this_);
77 int navigation_register_callback(struct navigation *this_, enum attr_type type, struct callback *cb);
78 void navigation_unregister_callback(struct navigation *this_, enum attr_type type, struct callback *cb);
79 struct map *navigation_get_map(struct navigation *this_);
80 void navigation_set_route(struct navigation *this_, struct route *route);
81 void navigation_init(void);
82 /* end of prototypes */
83 #ifdef __cplusplus
84 }
85 #endif
86 
87 #endif
attr_type
Definition: attr.h:34
char type[3]
Definition: garmin_img.c:2
item_type
Definition: item.h:29
void navigation_init(void)
Definition: navigation.c:4324
struct map * navigation_get_map(struct navigation *this_)
Definition: navigation.c:3853
int navigation_register_callback(struct navigation *this_, enum attr_type type, struct callback *cb)
Registers a new callback function.
Definition: navigation.c:3813
struct navigation * navigation_new(struct attr *parent, struct attr **attrs)
Definition: navigation.c:776
void navigation_unregister_callback(struct navigation *this_, enum attr_type type, struct callback *cb)
Unregisters a callback function.
Definition: navigation.c:3841
nav_status
Definition: navigation.h:45
@ status_no_route
Definition: navigation.h:49
@ status_no_destination
Definition: navigation.h:50
@ status_position_wait
Definition: navigation.h:51
@ status_recalculating
Definition: navigation.h:53
@ status_calculating
Definition: navigation.h:52
@ status_invalid
Definition: navigation.h:46
@ status_routing
Definition: navigation.h:57
char * nav_status_to_text(int status)
Converts navigation status to human-readable text.
Definition: navigation.c:676
void navigation_destroy(struct navigation *this_)
Definition: navigation.c:3781
void navigation_set_route(struct navigation *this_, struct route *route)
Definition: navigation.c:4307
int navigation_set_announce(struct navigation *this_, enum item_type type, int *level)
Definition: navigation.c:808
int navigation_set_attr(struct navigation *this_, struct attr *attr)
Definition: navigation.c:760
int navigation_get_attr(struct navigation *this_, enum attr_type type, struct attr *attr, struct attr_iter *iter)
Definition: navigation.c:708
Definition: config_.c:47
Definition: attr.h:157
Definition: callback.c:27
Definition: garmin_img.c:476
Definition: map.c:55
Definition: navigation.c:161
Definition: gpx2navit_txt.h:51
A complete route.
Definition: route.c:201