#ifndef __AG_DB_H__ #define __AG_DB_H__ #include #include G_BEGIN_DECLS #define AG_TYPE_DB (ag_db_get_type()) #define AG_DB(o) (G_TYPE_CHECK_INSTANCE_CAST((o), \ AG_TYPE_DB, \ AgDb)) #define AG_DB_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), \ AG_TYPE_DB, \ AgDbClass)) #define AG_IS_DB(o) (G_TYPE_CHECK_INSTANCE_TYPE((o), AG_TYPE_DB)) #define AG_IS_DB_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE((k), AG_TYPE_DB)) #define AG_DB_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS((o), \ AG_TYPE_DB, \ AgDbClass)) typedef struct _AgDb AgDb; typedef struct _AgDbClass AgDbClass; struct _AgDb { GObject parent_instance; }; struct _AgDbClass { GObjectClass parent_class; }; typedef struct _AgDbChartSave { gint db_id; gchar *name; gchar *country; gchar *city; gdouble longitude; gdouble latitude; gdouble altitude; gint year; guint month; guint day; guint hour; guint minute; guint second; gdouble timezone; gchar *house_system; gchar *note; } AgDbChartSave; typedef enum { AG_DB_ERROR_NO_CHART, AG_DB_ERROR_DATABASE_ERROR, } AgDbError; GType ag_db_get_type(void) G_GNUC_CONST; AgDb *ag_db_get(void); void ag_db_chart_save_free(AgDbChartSave *save_data); gboolean ag_db_chart_save(AgDb *db, AgDbChartSave *save_data, GError **err); GList *ag_db_chart_get_list(AgDb *db, GError **err); AgDbChartSave *ag_db_chart_get_data_by_id(AgDb *db, guint row_id, GError **err); gboolean ag_db_chart_delete(AgDb *db, gint row_id, GError **err); gboolean ag_db_chart_save_identical(const AgDbChartSave *a, const AgDbChartSave *b, gboolean chart_only); #define AG_DB_ERROR (ag_db_error_quark()) GQuark ag_db_error_quark(void); G_END_DECLS #endif /* __AG_DB_H__ */