Tizen 2.0 Release
[profile/ivi/bluez.git] / audio / manager.h
1 /*
2  *
3  *  BlueZ - Bluetooth protocol stack for Linux
4  *
5  *  Copyright (C) 2006-2010  Nokia Corporation
6  *  Copyright (C) 2004-2010  Marcel Holtmann <marcel@holtmann.org>
7  *
8  *
9  *  This program is free software; you can redistribute it and/or modify
10  *  it under the terms of the GNU General Public License as published by
11  *  the Free Software Foundation; either version 2 of the License, or
12  *  (at your option) any later version.
13  *
14  *  This program is distributed in the hope that it will be useful,
15  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
16  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17  *  GNU General Public License for more details.
18  *
19  *  You should have received a copy of the GNU General Public License
20  *  along with this program; if not, write to the Free Software
21  *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
22  *
23  */
24
25 struct enabled_interfaces {
26         gboolean hfp;
27         gboolean headset;
28         gboolean gateway;
29         gboolean sink;
30         gboolean source;
31         gboolean control;
32         gboolean socket;
33         gboolean media;
34         gboolean media_player;
35 };
36
37 int audio_manager_init(DBusConnection *conn, GKeyFile *config,
38                                                         gboolean *enable_sco);
39 void audio_manager_exit(void);
40
41 gboolean server_is_enabled(bdaddr_t *src, uint16_t svc);
42
43 struct audio_device *manager_find_device(const char *path,
44                                         const bdaddr_t *src,
45                                         const bdaddr_t *dst,
46                                         const char *interface,
47                                         gboolean connected);
48
49 GSList *manager_find_devices(const char *path,
50                                         const bdaddr_t *src,
51                                         const bdaddr_t *dst,
52                                         const char *interface,
53                                         gboolean connected);
54
55 struct audio_device *manager_get_device(const bdaddr_t *src,
56                                         const bdaddr_t *dst,
57                                         gboolean create);
58
59 gboolean manager_allow_headset_connection(struct audio_device *device);
60
61 /* TRUE to enable fast connectable and FALSE to disable fast connectable for all
62  * audio adapters. */
63 void manager_set_fast_connectable(gboolean enable);