/usr/include/rhythmbox/metadata/rb-ext-db.h is in rhythmbox-dev 3.0.2-0ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 | /*
* Copyright (C) 2011 Jonathan Matthew <jonathan@d14n.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* The Rhythmbox authors hereby grant permission for non-GPL compatible
* GStreamer plugins to be used and distributed together with GStreamer
* and Rhythmbox. This permission is above and beyond the permissions granted
* by the GPL license by which Rhythmbox is covered. If you modify this code
* you may extend this exception to your version of the code, but you are not
* obligated to do so. If you do not wish to do so, delete this exception
* statement from your version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
*/
#ifndef RB_EXT_DB_H
#define RB_EXT_DB_H
#include <glib-object.h>
#include <metadata/rb-ext-db-key.h>
G_BEGIN_DECLS
typedef struct _RBExtDB RBExtDB;
typedef struct _RBExtDBClass RBExtDBClass;
typedef struct _RBExtDBPrivate RBExtDBPrivate;
#define RB_TYPE_EXT_DB (rb_ext_db_get_type ())
#define RB_EXT_DB(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), RB_TYPE_EXT_DB, RBExtDB))
#define RB_EXT_DB_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), RB_TYPE_EXT_DB, RBExtDBClass))
#define RB_IS_EXT_DB(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), RB_TYPE_EXT_DB))
#define RB_IS_EXT_DB_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), RB_TYPE_EXT_DB))
#define RB_EXT_DB_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), RB_TYPE_EXT_DB, RBExtDBClass))
/* these are in priority order - higher is preferred to lower */
typedef enum {
RB_EXT_DB_SOURCE_NONE, /* nothing */
RB_EXT_DB_SOURCE_SEARCH, /* found by external search */
RB_EXT_DB_SOURCE_EMBEDDED, /* embedded in media itself */
RB_EXT_DB_SOURCE_USER, /* provided by user (eg image in same dir) */
RB_EXT_DB_SOURCE_USER_EXPLICIT /* provided explicitly by user */
} RBExtDBSourceType;
GType rb_ext_db_source_type_get_type (void);
#define RB_TYPE_EXT_DB_SOURCE_TYPE (rb_ext_db_source_type_get_type ())
struct _RBExtDB
{
GObject parent;
RBExtDBPrivate *priv;
};
struct _RBExtDBClass
{
GObjectClass parent;
/* requestor signals */
void (*added) (RBExtDB *store,
RBExtDBKey *key,
const char *filename,
GValue *data);
/* provider signals */
gboolean (*request) (RBExtDB *store,
RBExtDBKey *key,
guint64 last_time);
/* data format conversion signals */
GValue * (*store) (RBExtDB *store,
GValue *data);
GValue * (*load) (RBExtDB *store,
GValue *data);
};
typedef void (*RBExtDBRequestCallback) (RBExtDBKey *key, const char *filename, GValue *data, gpointer user_data);
GType rb_ext_db_get_type (void);
RBExtDB * rb_ext_db_new (const char *name);
/* for requestors */
char * rb_ext_db_lookup (RBExtDB *store,
RBExtDBKey *key);
gboolean rb_ext_db_request (RBExtDB *store,
RBExtDBKey *key,
RBExtDBRequestCallback callback,
gpointer user_data,
GDestroyNotify destroy);
/* for providers */
void rb_ext_db_store_uri (RBExtDB *store,
RBExtDBKey *key,
RBExtDBSourceType source_type,
const char *uri);
void rb_ext_db_store (RBExtDB *store,
RBExtDBKey *key,
RBExtDBSourceType source_type,
GValue *data);
void rb_ext_db_store_raw (RBExtDB *store,
RBExtDBKey *key,
RBExtDBSourceType source_type,
GValue *data);
G_END_DECLS
#endif /* RB_EXT_DB_H */
|