comparison src/libaudtag/tag_module.h @ 4887:0ddbd0025174 default tip

added libaudtag. (not used yet.)
author Yoshiki Yazawa <yaz@honeyplanet.jp>
date Wed, 05 May 2010 18:26:06 +0900
parents
children
comparison
equal deleted inserted replaced
4886:54b4f7aaca24 4887:0ddbd0025174
1 /*
2 * Copyright 2009 Paula Stanciu
3 *
4 * This file is part of Audacious.
5 *
6 * Audacious is free software: you can redistribute it and/or modify it under
7 * the terms of the GNU General Public License as published by the Free Software
8 * Foundation, version 3 of the License.
9 *
10 * Audacious is distributed in the hope that it will be useful, but WITHOUT ANY
11 * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
12 * A PARTICULAR PURPOSE. See the GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License along with
15 * Audacious. If not, see <http://www.gnu.org/licenses/>.
16 *
17 * The Audacious team does not consider modular code linking to Audacious or
18 * using our public API to be a derived work.
19 */
20
21 /* Interface of the tagging library */
22
23 #ifndef TAG_MODULE_H
24 #define TAG_MODULE_H
25
26 G_BEGIN_DECLS
27
28 #include <glib.h>
29 #include <mowgli.h>
30 #include "audlegacy/tuple.h"
31 #include "audlegacy/vfs.h"
32
33 mowgli_list_t tag_modules;
34 int number_of_modules;
35 typedef Tuple* pTuple;
36
37 typedef struct _module {
38 gchar *name;
39 gboolean(*can_handle_file) (VFSFile *fd);
40 pTuple(*populate_tuple_from_file)(Tuple *tuple, VFSFile* fd);
41 gboolean(*write_tuple_to_file) (Tuple * tuple, VFSFile *fd);
42 } tag_module_t;
43
44 /* this function must be modified when including new modules */
45 void init_tag_modules(void);
46
47 tag_module_t *find_tag_module(VFSFile *fd);
48
49 G_END_DECLS
50 #endif /* TAG_MODULE_H */