1 /*
2  * * Copyright (C) 2006-2011 Anders Brander <anders@brander.dk>,
3  * * Anders Kvist <akv@lnxbx.dk> and Klaus Post <klauspost@gmail.com>
4  *
5  * This program is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU General Public License
7  * as published by the Free Software Foundation; either version 2
8  * of the License, or (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program; if not, write to the Free Software
17  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
18  */
19 
20 #ifndef RS_CAMERA_DB_H
21 #define RS_CAMERA_DB_H
22 
23 #include <glib-object.h>
24 #include "application.h"
25 
26 G_BEGIN_DECLS
27 
28 #define RS_TYPE_CAMERA_DB rs_camera_db_get_type()
29 #define RS_CAMERA_DB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), RS_TYPE_CAMERA_DB, RSCameraDb))
30 #define RS_CAMERA_DB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), RS_TYPE_CAMERA_DB, RSCameraDbClass))
31 #define RS_IS_CAMERA_DB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), RS_TYPE_CAMERA_DB))
32 #define RS_IS_CAMERA_DB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), RS_TYPE_CAMERA_DB))
33 #define RS_CAMERA_DB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), RS_TYPE_CAMERA_DB, RSCameraDbClass))
34 
35 typedef struct _RSCameraDb RSCameraDb;
36 
37 typedef struct {
38 	GObjectClass parent_class;
39 } RSCameraDbClass;
40 
41 GType rs_camera_db_get_type(void);
42 
43 RSCameraDb *rs_camera_db_new(const gchar *path);
44 
45 RSCameraDb *rs_camera_db_get_singleton(void);
46 
47 void rs_camera_db_save_defaults(RSCameraDb *camera_db, RS_PHOTO *photo);
48 
49 gboolean
50 rs_camera_db_photo_get_defaults(RSCameraDb *camera_db, RS_PHOTO *photo, RSSettings **dest_settings, gpointer *dest_profile);
51 
52 gboolean rs_camera_db_photo_set_defaults(RSCameraDb *camera_db, RS_PHOTO *photo);
53 
54 G_END_DECLS
55 
56 #endif /* RS_CAMERA_DB_H */
57