Fix:Core:Correct attribute alloc and free
[navit-package] / navit / track.h
1 /**
2  * Navit, a modular navigation system.
3  * Copyright (C) 2005-2008 Navit Team
4  *
5  * This program is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU Library General Public License
7  * version 2 as published by the Free Software Foundation.
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12  * GNU Library General Public License for more details.
13  *
14  * You should have received a copy of the GNU Library General Public
15  * License along with this program; if not, write to the
16  * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17  * Boston, MA  02110-1301, USA.
18  */
19
20 #ifndef NAVIT_TRACK_H
21 #define NAVIT_TRACK_H
22 #include <time.h>
23 #ifdef __cplusplus
24 extern "C" {
25 #endif
26 /* prototypes */
27 enum attr_type;
28 enum projection;
29 struct attr;
30 struct attr_iter;
31 struct coord;
32 struct item;
33 struct map;
34 struct mapset;
35 struct route;
36 struct street_data;
37 struct tracking;
38 struct vehicle;
39 struct vehicleprofile;
40 int tracking_get_angle(struct tracking *tr);
41 struct coord *tracking_get_pos(struct tracking *tr);
42 int tracking_get_street_direction(struct tracking *tr);
43 int tracking_get_segment_pos(struct tracking *tr);
44 struct street_data *tracking_get_street_data(struct tracking *tr);
45 int tracking_get_attr(struct tracking *_this, enum attr_type type, struct attr *attr, struct attr_iter *attr_iter);
46 struct item *tracking_get_current_item(struct tracking *_this);
47 int *tracking_get_current_flags(struct tracking *_this);
48 void tracking_update(struct tracking *tr, struct vehicle *v, struct vehicleprofile *vehicleprofile, enum projection pro);
49 struct tracking *tracking_new(struct attr *parent, struct attr **attrs);
50 void tracking_set_mapset(struct tracking *this, struct mapset *ms);
51 void tracking_set_route(struct tracking *this, struct route *rt);
52 void tracking_destroy(struct tracking *tr);
53 struct map *tracking_get_map(struct tracking *this_);
54 void tracking_init(void);
55 /* end of prototypes */
56 #ifdef __cplusplus
57 }
58 #endif
59
60 #endif