4 * See docs for table definitions.
28 POI_SOURCE_GPX_IMPORT=2,
31 typedef struct _poi_db poi_db;
39 * Data to describe a POI.
41 typedef struct _poi_info poi_info;
61 * Data used during action: add or edit category/poi
63 typedef struct _delete_poi delete_poi;
71 * Data describing a single POI category
73 typedef struct _poi_category poi_category;
74 struct _poi_category {
84 sqlite3_stmt *select_poi;
85 sqlite3_stmt *select_poi_by_id;
86 sqlite3_stmt *select_nearest_poi;
87 sqlite3_stmt *select_poi_search;
88 sqlite3_stmt *select_poi_search_cat;
89 sqlite3_stmt *select_poi_by_cat;
90 sqlite3_stmt *insert_poi;
91 sqlite3_stmt *update_poi;
92 sqlite3_stmt *delete_poi;
93 sqlite3_stmt *delete_poi_by_catid;
94 sqlite3_stmt *select_cat;
95 sqlite3_stmt *insert_cat;
96 sqlite3_stmt *update_cat;
97 sqlite3_stmt *delete_cat;
98 sqlite3_stmt *toggle_cat;
99 sqlite3_stmt *selall_cat;
100 sqlite3_stmt *select_quick_cat;
102 struct sql_poi_stmt poisql;
106 gboolean poi_init(sqlite3 **db);
107 void poi_deinit(sqlite3 *db);
109 gboolean poi_db_create(sqlite3 *db);
110 gboolean poi_db_prepare(sqlite3 *db);
112 poi_info *poi_new(void);
113 void poi_free(poi_info *p);
115 gboolean poi_get_list_near_unit(guint unitx, guint unity, guint range, GtkListStore **store, guint *num_poi);
116 gboolean poi_get_list_inside(gdouble lat1, gdouble lon1, gdouble lat2, gdouble lon2, GtkListStore **store, guint *num_poi);
118 poi_info *poi_get_by_id(guint id);
120 gboolean poi_update(poi_info *p);
121 gboolean poi_add(poi_info *p);
122 gboolean poi_delete(guint id);
124 gboolean poi_search(poi_search_type pst, gdouble lat, gdouble lon, gchar *text, guint cat, GtkListStore **store);
125 poi_info *poi_find_nearest(gdouble lat, gdouble lon);
127 gboolean poi_get_list_near_unit(guint unitx, guint unity, guint range, GtkListStore **store, guint *num_poi);
129 poi_category *poi_category_new(void);
130 void poi_category_free(poi_category *c);
132 gboolean poi_category_get(guint cat_id, poi_category **c);
133 gboolean poi_category_delete(guint id);
134 gboolean poi_category_update(guint cat_id, poi_category *c);
135 gboolean poi_category_toggle(guint cat_id, gboolean cat_enabled);
137 GtkListStore *poi_category_generate_store(void);