1 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- */
4 * Copyright (C) 2007 OpenedHand Ltd
6 * Author: Matthew Allum <mallum@openedhand.com>
10 #define _AAINA_LIBRARY
12 #include <glib-object.h>
13 #include "aaina-photo.h"
14 #include "eggsequence.h"
18 #define AAINA_TYPE_LIBRARY aaina_library_get_type()
20 #define AAINA_LIBRARY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), \
24 #define AAINA_LIBRARY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass),\
28 #define AAINA_IS_LIBRARY(obj) \
29 (G_TYPE_CHECK_INSTANCE_TYPE ((obj), \
32 #define AAINA_IS_LIBRARY_CLASS(klass) \
33 (G_TYPE_CHECK_CLASS_TYPE ((klass), \
36 #define AAINA_LIBRARY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj),\
46 GObjectClass parent_class;
48 void (*reordered) (AainaLibrary *library);
49 void (*filter_change) (AainaLibrary *library);
50 void (*photo_change) (AainaLibrary *library, AainaPhoto *photo);
51 void (*photo_added) (AainaLibrary *library, AainaPhoto *photo);
55 typedef gint (*AainaCompareRowFunc) (AainaPhoto *a,
59 typedef gboolean (*AainaFilterRowFunc) (AainaLibrary *library,
63 typedef gboolean (*AainaForeachRowFunc) (AainaLibrary *library,
67 GType aaina_library_get_type (void);
73 aaina_library_photo_count (AainaLibrary *library);
76 aaina_library_get_photo (AainaLibrary *library, gint index);
79 aaina_library_append_photo (AainaLibrary *library, AainaPhoto *photo);
82 aaina_library_remove_photo (AainaLibrary *library, const AainaPhoto *photo);
85 aaina_library_set_filter (AainaLibrary *library,
86 AainaFilterRowFunc filter,
90 aaina_library_set_sort_func (AainaLibrary *library,
91 AainaCompareRowFunc func,
95 aaina_library_foreach (AainaLibrary *library,
96 AainaForeachRowFunc func,
100 aaina_library_get_pending (AainaLibrary *library);
102 aaina_library_set_pending (AainaLibrary *library, gboolean pending);
105 aaina_library_is_full (AainaLibrary *library);
107 aaina_library_set_max (AainaLibrary *library, gint max_photos);