]> git.sesse.net Git - vlc/blob - bindings/phonon/vlc/vlcloader.h
Phonon Backend using VLC
[vlc] / bindings / phonon / vlc / vlcloader.h
1 /*****************************************************************************
2  * VLC backend for the Phonon library                                        *
3  * Copyright (C) 2007-2008 Tanguy Krotoff <tkrotoff@gmail.com>               *
4  * Copyright (C) 2008 Lukas Durfina <lukas.durfina@gmail.com>                *
5  * Copyright (C) 2009 Fathi Boudra <fabo@kde.org>                            *
6  *                                                                           *
7  * This program is free software; you can redistribute it and/or             *
8  * modify it under the terms of the GNU Lesser General Public                *
9  * License as published by the Free Software Foundation; either              *
10  * version 3 of the License, or (at your option) any later version.          *
11  *                                                                           *
12  * This program is distributed in the hope that it will be useful,           *
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of            *
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU         *
15  * Lesser General Public License for more details.                           *
16  *                                                                           *
17  * You should have received a copy of the GNU Lesser General Public          *
18  * License along with this package; if not, write to the Free Software       *
19  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA *
20  *****************************************************************************/
21
22 #ifndef PHONON_VLC_VLC_LOADER_H
23 #define PHONON_VLC_VLC_LOADER_H
24
25 #include <vlc/vlc.h>
26
27 class QString;
28
29 /**
30  * VLC library instance global variable.
31  */
32 extern libvlc_instance_t *vlc_instance;
33
34 /**
35  * VLC library exception handling global variable.
36  */
37 extern libvlc_exception_t *vlc_exception;
38
39 /**
40  * VLC library media player global variable.
41  */
42 extern libvlc_media_player_t *vlc_current_media_player;
43
44 namespace Phonon
45 {
46 namespace VLC {
47
48 /**
49  * Get VLC path.
50  *
51  * @return the VLC path
52  */
53 QString vlcPath();
54
55 /**
56  * Unload VLC library.
57  */
58 void vlcUnload();
59
60 /**
61  * Check for a VLC library exception.
62  *
63  * show an error message when an exception has been raised.
64  */
65 void vlcExceptionRaised();
66
67 /**
68  * Initialize and launch VLC library.
69  *
70  * instance and exception handling global variables are initialized.
71  *
72  * @return VLC initialization result
73  */
74 bool vlcInit();
75
76 /**
77  * Stop VLC library.
78  */
79 void vlcRelease();
80
81 }
82 } // Namespace Phonon::VLC
83
84 #endif // PHONON_VLC_VLC_LOADER_H