Audacious  $Id:Doxyfile42802007-03-2104:39:00Znenolod$
plugins.h
Go to the documentation of this file.
1 /*
2  * plugins.h
3  * Copyright 2010 John Lindgren
4  *
5  * This file is part of Audacious.
6  *
7  * Audacious is free software: you can redistribute it and/or modify it under
8  * the terms of the GNU General Public License as published by the Free Software
9  * Foundation, version 2 or version 3 of the License.
10  *
11  * Audacious is distributed in the hope that it will be useful, but WITHOUT ANY
12  * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
13  * A PARTICULAR PURPOSE. See the GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License along with
16  * Audacious. If not, see <http://www.gnu.org/licenses/>.
17  *
18  * The Audacious team does not consider modular code linking to Audacious or
19  * using our public API to be a derived work.
20  */
21 
22 #ifndef AUDACIOUS_PLUGINS_H
23 #define AUDACIOUS_PLUGINS_H
24 
25 #include <audacious/api.h>
26 #include <audacious/types.h>
27 #include <libaudcore/core.h>
28 
30 
31 #define AUD_API_NAME PluginsAPI
32 #define AUD_API_SYMBOL plugins_api
33 
34 #ifdef _AUDACIOUS_CORE
35 
36 #include "api-local-begin.h"
37 #include "plugins-api.h"
38 #include "api-local-end.h"
39 
40 enum {
41  INPUT_KEY_SCHEME,
42  INPUT_KEY_EXTENSION,
43  INPUT_KEY_MIME,
44  INPUT_KEYS};
45 
46 /* plugin-init.c */
47 void start_plugins_one (void);
48 void start_plugins_two (void);
49 void stop_plugins_two (void);
50 void stop_plugins_one (void);
51 
52 /* plugin-registry.c */
53 void plugin_registry_load (void);
54 void plugin_registry_prune (void);
55 void plugin_registry_save (void);
56 
57 void plugin_register (const char * path);
58 void plugin_register_loaded (const char * path, Plugin * header);
59 
61 
62 PluginHandle * transport_plugin_for_scheme (const char * scheme);
63 PluginHandle * playlist_plugin_for_extension (const char * extension);
64 void input_plugin_for_key (int key, const char * value, PluginForEachFunc
65  func, void * data);
70 
71 /* pluginenum.c */
72 void plugin_system_init (void);
73 void plugin_system_cleanup (void);
74 void plugin_load (const char * path);
75 
76 #else
77 
79 #include <audacious/plugins-api.h>
81 
83 #include <audacious/plugins-api.h>
85 
86 #endif
87 
88 #undef AUD_API_NAME
89 #undef AUD_API_SYMBOL
90 
91 #endif
92 
93 #ifdef AUD_API_DECLARE
94 
95 #define AUD_API_NAME PluginsAPI
96 #define AUD_API_SYMBOL plugins_api
97 
98 #include "api-define-begin.h"
99 #include "plugins-api.h"
100 #include "api-define-end.h"
101 
102 #include "api-declare-begin.h"
103 #include "plugins-api.h"
104 #include "api-declare-end.h"
105 
106 #undef AUD_API_NAME
107 #undef AUD_API_SYMBOL
108 
109 #endif