4 * See docs for table definitions.
41 POI_SOURCE_GPX_IMPORT=2,
44 typedef struct _poi_db poi_db;
52 * Data to describe a POI.
54 typedef struct _poi_info poi_info;
74 * Data used during action: add or edit category/poi
76 typedef struct _delete_poi delete_poi;
84 * Data describing a single POI category
86 typedef struct _poi_category poi_category;
87 struct _poi_category {
97 sqlite3_stmt *select_poi;
98 sqlite3_stmt *select_poi_by_id;
99 sqlite3_stmt *select_nearest_poi;
100 sqlite3_stmt *select_poi_search;
101 sqlite3_stmt *select_poi_search_cat;
102 sqlite3_stmt *select_poi_by_cat;
103 sqlite3_stmt *insert_poi;
104 sqlite3_stmt *update_poi;
105 sqlite3_stmt *delete_poi;
106 sqlite3_stmt *delete_poi_by_catid;
107 sqlite3_stmt *select_cat;
108 sqlite3_stmt *insert_cat;
109 sqlite3_stmt *update_cat;
110 sqlite3_stmt *delete_cat;
111 sqlite3_stmt *toggle_cat;
112 sqlite3_stmt *selall_cat;
113 sqlite3_stmt *select_quick_cat;
115 struct sql_poi_stmt poisql;
119 gboolean poi_init(sqlite3 **db);
120 void poi_deinit(sqlite3 *db);
122 gboolean poi_db_create(sqlite3 *db);
123 gboolean poi_db_prepare(sqlite3 *db);
125 poi_info *poi_new(void);
126 void poi_free(poi_info *p);
128 gboolean poi_update(poi_info *p);
129 gboolean poi_add(poi_info *p);
130 gboolean poi_delete(guint id);
131 poi_info *poi_get_by_id(guint id);
133 GtkListStore *poi_list_store_new(void);
135 gboolean poi_get_list_near(gdouble lat, gdouble lon, gfloat range, GtkListStore *store, guint *num_poi);
136 gboolean poi_get_list_inside(gdouble lat1, gdouble lon1, gdouble lat2, gdouble lon2, GtkListStore *store, guint *num_poi);
137 gboolean poi_search(poi_search_type pst, gdouble lat, gdouble lon, gchar *text, guint cat, GtkListStore *store);
139 poi_info *poi_find_nearest(gdouble lat, gdouble lon);
141 poi_category *poi_category_new(void);
142 void poi_category_free(poi_category *c);
144 gboolean poi_category_get(guint cat_id, poi_category **c);
145 gboolean poi_category_delete(guint id);
146 gboolean poi_category_update(guint cat_id, poi_category *c);
147 gboolean poi_category_toggle(guint cat_id, gboolean cat_enabled);
148 GtkListStore *poi_category_generate_store(void);
150 GdkPixbuf *poi_get_icon(const gchar *icon, gboolean big);
151 const gchar *poi_get_icon_from_type(node_type_t t);
152 void poi_icon_hash_clear(void);