4 * See docs for table definitions.
17 typedef struct _poi_db poi_db;
24 typedef struct _poi_data poi_data;
32 /** Data to describe a POI. */
33 typedef struct _poi_info poi_info;
45 /** Data used during action: add or edit category/poi **/
46 typedef struct _delete_poi delete_poi;
53 typedef struct _poi_category poi_category;
54 struct _poi_category {
62 sqlite3_stmt *select_poi;
63 sqlite3_stmt *select_nearest_poi;
64 sqlite3_stmt *insert_poi;
65 sqlite3_stmt *update_poi;
66 sqlite3_stmt *delete_poi;
67 sqlite3_stmt *delete_poi_by_catid;
68 sqlite3_stmt *nextlabel_poi;
69 sqlite3_stmt *select_cat;
70 sqlite3_stmt *insert_cat;
71 sqlite3_stmt *update_cat;
72 sqlite3_stmt *delete_cat;
73 sqlite3_stmt *toggle_cat;
74 sqlite3_stmt *selall_cat;
75 sqlite3_stmt *select_quick_cat;
77 struct sql_poi_stmt poisql;
81 gboolean poi_db_create(sqlite3 *db);
82 gboolean poi_db_prepare(sqlite3 *db);
84 poi_info *poi_new(void);
85 void poi_free(poi_info *p);
86 gboolean poi_get_list(guint unitx, guint unity, GtkListStore **store, guint *num_cats);
87 gboolean poi_update(gint poi_id, gint cat_id, gchar *poi_label, gchar *poi_desc);
88 gboolean poi_add(gdouble lat, gdouble lon, gint cat_id, gchar *poi_label, gchar *poi_desc);
89 gboolean poi_delete(delete_poi * dpoi);
91 poi_category *poi_category_new(void);
92 void poi_category_free(poi_category *c);
93 gboolean poi_category_get(gint cat_id, poi_category **c);
94 gboolean poi_category_delete(delete_poi * dpoi);
95 gboolean poi_category_update(gint cat_id, poi_category *c);
96 poi_info *poi_find_nearest(gdouble lat, gdouble lon);
97 gboolean poi_category_toggle(gint cat_id, gboolean cat_enabled);
98 GtkListStore *poi_category_generate_store();