Audacious
$Id:Doxyfile42802007-03-2104:39:00Znenolod$
Main Page
Related Pages
Classes
Files
File List
File Members
src
audacious
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
29
typedef
bool_t
(*
PluginForEachFunc
) (
PluginHandle
*
plugin
,
void
*
data
);
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
60
void
plugin_set_enabled
(
PluginHandle
*
plugin
,
bool_t
enabled
);
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
);
66
bool_t
input_plugin_has_images
(
PluginHandle
*
plugin
);
67
bool_t
input_plugin_has_subtunes
(
PluginHandle
*
plugin
);
68
bool_t
input_plugin_can_write_tuple
(
PluginHandle
*
plugin
);
69
bool_t
input_plugin_has_infowin
(
PluginHandle
*
plugin
);
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
78
#include <
audacious/api-define-begin.h
>
79
#include <
audacious/plugins-api.h
>
80
#include <
audacious/api-define-end.h
>
81
82
#include <
audacious/api-alias-begin.h
>
83
#include <
audacious/plugins-api.h
>
84
#include <
audacious/api-alias-end.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
Generated by
1.8.1.1