1 /* SPDX-License-Identifier: Zlib */
2 
3 #ifndef ZATHURA_DATABASE_SQLITE_H
4 #define ZATHURA_DATABASE_SQLITE_H
5 
6 #include "database.h"
7 
8 #define ZATHURA_TYPE_SQLDATABASE \
9   (zathura_sqldatabase_get_type())
10 #define ZATHURA_SQLDATABASE(obj) \
11   (G_TYPE_CHECK_INSTANCE_CAST ((obj), ZATHURA_TYPE_SQLDATABASE, ZathuraSQLDatabase))
12 #define ZATHURA_IS_SQLDATABASE(obj) \
13   (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ZATHURA_TYPE_SQLDATABASE))
14 #define ZATHURA_SQLDATABASE_CLASS(klass) \
15   (G_TYPE_CHECK_CLASS_CAST ((klass), ZATHURA_TYPE_SQLDATABASE, ZathuraSQLDatabaseClass))
16 #define ZATHURA_IS_SQLDATABASE_CLASS(klass) \
17   (G_TYPE_CHECK_CLASS_TYPE ((klass), ZATHURA_TYPE_SQLDATABASE))
18 #define ZATHURA_SQLDATABASE_GET_CLASS(obj) \
19   (G_TYPE_INSTANCE_GET_CLASS ((obj), ZATHURA_TYPE_SQLDATABASE, ZathuraSQLDatabaseClass))
20 
21 typedef struct _ZathuraSQLDatabase        ZathuraSQLDatabase;
22 typedef struct _ZathuraSQLDatabaseClass   ZathuraSQLDatabaseClass;
23 
24 struct _ZathuraSQLDatabase
25 {
26   GObject parent_instance;
27 };
28 
29 struct _ZathuraSQLDatabaseClass
30 {
31   GObjectClass parent_class;
32 };
33 
34 GType zathura_sqldatabase_get_type(void) G_GNUC_CONST;
35 
36 /**
37  * Initialize database system.
38  *
39  * @param path Path to the sqlite database.
40  * @return A valid zathura_database_t instance or NULL on failure
41  */
42 zathura_database_t* zathura_sqldatabase_new(const char* path);
43 
44 #endif
45