bluez/audio/device.h
Johan Hedberg 548026e08b Make device driver probe calls take UUID's instead of full records
This is preparation for allowing the device object to be correctly set up even
when we don't have the full service records but only the remote UUID's.
2008-10-09 15:13:28 +02:00

75 lines
2.3 KiB
C

/*
*
* BlueZ - Bluetooth protocol stack for Linux
*
* Copyright (C) 2006-2007 Nokia Corporation
* Copyright (C) 2004-2008 Marcel Holtmann <marcel@holtmann.org>
*
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*
*/
#define GENERIC_AUDIO_UUID "00001203-0000-1000-8000-00805F9B34FB"
#define HSP_HS_UUID "00001108-0000-1000-8000-00805F9B34FB"
#define HSP_AG_UUID "00001112-0000-1000-8000-00805F9B34FB"
#define HFP_HS_UUID "0000111E-0000-1000-8000-00805F9B34FB"
#define HFP_AG_UUID "0000111F-0000-1000-8000-00805F9B34FB"
#define ADVANCED_AUDIO_UUID "0000110D-0000-1000-8000-00805F9B34FB"
#define A2DP_SOURCE_UUID "0000110A-0000-1000-8000-00805F9B34FB"
#define A2DP_SINK_UUID "0000110B-0000-1000-8000-00805F9B34FB"
#define AVRCP_REMOTE_UUID "0000110E-0000-1000-8000-00805F9B34FB"
#define AVRCP_TARGET_UUID "0000110C-0000-1000-8000-00805F9B34FB"
/* Move these to respective .h files once they exist */
#define AUDIO_SOURCE_INTERFACE "org.bluez.AudioSource"
#define AUDIO_CONTROL_INTERFACE "org.bluez.Control"
struct source;
struct control;
struct target;
struct sink;
struct headset;
struct gateway;
struct audio_device {
struct btd_device *btd_dev;
DBusConnection *conn;
char *path;
bdaddr_t src;
bdaddr_t dst;
struct headset *headset;
struct gateway *gateway;
struct sink *sink;
struct source *source;
struct control *control;
struct target *target;
};
struct audio_device *device_register(DBusConnection *conn,
const char *path, const bdaddr_t *src,
const bdaddr_t *dst);
void device_unregister(struct audio_device *device);
gboolean device_is_connected(struct audio_device *dev, const char *interface);