]> err.no Git - mapper/blob - src/poi.h
Fix POI db handling so it works.
[mapper] / src / poi.h
1 /*
2
3 POI table definitions:
4
5 -- public POIs from different sources
6 -- (Fuel, pubs, museums, etc)
7 --
8 create table poi (
9         poi_id integer PRIMARY KEY, 
10         cat_id integer,
11         source int,
12         source_id int,
13         type int,
14         lat real,
15         lon real,
16         elev real,
17         label text,
18         desc text,
19         wikipedia text,
20         url text,
21         phone varchar(64),
22         email varchar(64),
23 );
24
25 -- type:
26 -- 0=POI
27 -- 1=Landmark
28
29 -- Shared categories for POIs and landmarks
30 create table category (
31         cat_id integer PRIMARY KEY,
32         priority int,
33         label text, 
34         desc text, 
35         color char(6),
36         icon varchar(32),
37         enabled integer
38 );
39
40 */
41
42 #ifndef _MAPPER_POI_H
43 #define _MAPPER_POI_H
44
45 #include <sqlite3.h>
46
47 typedef enum {
48         POI_TYPE_POINT=0,
49         POI_TYPE_LANDMARK=1,
50 } poi_types_e;
51
52 typedef struct _PoiDb PoiDb;
53 struct _PoiDb {
54         sqlite3 *db;
55         gchar *file;
56         guint zoom;
57 };
58
59 typedef struct _PoiData PoiData;
60 struct _PoiData {
61         gfloat lat;
62         gfloat lon;
63         gchar *name;
64         gchar *desc;
65 };
66
67 /** POI */
68 sqlite3 *_db;
69 gchar *_poi_db;
70 guint _poi_zoom;
71
72 sqlite3_stmt *_stmt_select_poi;
73 sqlite3_stmt *_stmt_select_nearest_poi;
74 sqlite3_stmt *_stmt_insert_poi;
75 sqlite3_stmt *_stmt_update_poi;
76 sqlite3_stmt *_stmt_delete_poi;
77 sqlite3_stmt *_stmt_delete_poi_by_catid;
78 sqlite3_stmt *_stmt_nextlabel_poi;
79
80 sqlite3_stmt *_stmt_select_cat;
81 sqlite3_stmt *_stmt_insert_cat;
82 sqlite3_stmt *_stmt_update_cat;
83 sqlite3_stmt *_stmt_delete_cat;
84 sqlite3_stmt *_stmt_toggle_cat;
85 sqlite3_stmt *_stmt_selall_cat;
86
87 #endif