1 /* 2 * Copyright (C) 2008, Nokia <ivan.frade@nokia.com> 3 * 4 * This library is free software; you can redistribute it and/or 5 * modify it under the terms of the GNU Lesser General Public 6 * License as published by the Free Software Foundation; either 7 * version 2.1 of the License, or (at your option) any later version. 8 * 9 * This library is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 * Lesser General Public License for more details. 13 * 14 * You should have received a copy of the GNU Lesser General Public 15 * License along with this library; if not, write to the Free Software 16 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 17 * 02110-1301 USA 18 */ 19 20 #ifndef __LIBTRACKER_MINER_THUMBNAILER_H__ 21 #define __LIBTRACKER_MINER_THUMBNAILER_H__ 22 23 #if !defined (__LIBTRACKER_MINER_H_INSIDE__) && !defined (TRACKER_COMPILATION) 24 #error "Only <libtracker-miner/tracker-miner.h> can be included directly." 25 #endif 26 27 #include <glib-object.h> 28 29 G_BEGIN_DECLS 30 31 #define TRACKER_TYPE_THUMBNAILER (tracker_thumbnailer_get_type()) 32 #define TRACKER_THUMBNAILER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), TRACKER_TYPE_THUMBNAILER, TrackerThumbnailer)) 33 #define TRACKER_THUMBNAILER_CLASS(c) (G_TYPE_CHECK_CLASS_CAST ((c), TRACKER_TYPE_THUMBNAILER, TrackerThumbnailerClass)) 34 #define TRACKER_IS_THUMBNAILER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), TRACKER_TYPE_THUMBNAILER)) 35 #define TRACKER_IS_THUMBNAILER_CLASS(c) (G_TYPE_CHECK_CLASS_TYPE ((c), TRACKER_TYPE_THUMBNAILER)) 36 #define TRACKER_THUMBNAILER_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), TRACKER_TYPE_THUMBNAILER, TrackerThumbnailerClass)) 37 38 typedef struct _TrackerThumbnailer TrackerThumbnailer; 39 typedef struct _TrackerThumbnailerClass TrackerThumbnailerClass; 40 41 /** 42 * TrackerThumbnailer: 43 * @parent: parent object 44 * 45 * A class implementation for managing thumbnails when mining content. 46 **/ 47 struct _TrackerThumbnailer { 48 GObject parent; 49 }; 50 51 /** 52 * TrackerThumbnailerClass: 53 * @parent: parent object class 54 * 55 * Prototype for the class. 56 **/ 57 struct _TrackerThumbnailerClass { 58 GObjectClass parent; 59 }; 60 61 62 GType tracker_thumbnailer_get_type (void) G_GNUC_CONST; 63 TrackerThumbnailer * 64 tracker_thumbnailer_new (void); 65 66 void tracker_thumbnailer_send (TrackerThumbnailer *thumbnailer); 67 gboolean tracker_thumbnailer_move_add (TrackerThumbnailer *thumbnailer, 68 const gchar *from_uri, 69 const gchar *mime_type, 70 const gchar *to_uri); 71 gboolean tracker_thumbnailer_remove_add (TrackerThumbnailer *thumbnailer, 72 const gchar *uri, 73 const gchar *mime_type); 74 gboolean tracker_thumbnailer_cleanup (TrackerThumbnailer *thumbnailer, 75 const gchar *uri_prefix); 76 77 G_END_DECLS 78 79 #endif /* __LIBTRACKER_MINER_THUMBNAILER_H__ */ 80