Clean up mess with header files

This commit is contained in:
Johan Hedberg 2007-08-12 23:58:15 +00:00
parent f9d8837aba
commit d013a1eaa7
12 changed files with 87 additions and 85 deletions

View File

@ -35,6 +35,7 @@
#include "logging.h"
#include "manager.h"
#include "device.h"
#include "avdtp.h"
#include "sink.h"
#include "a2dp.h"
@ -72,7 +73,7 @@ static gboolean setconf_ind(struct avdtp *session,
return FALSE;
}
sink_new_stream(session, stream, dev);
sink_new_stream(dev, session, stream);
return TRUE;
}

View File

@ -43,6 +43,8 @@
#include "logging.h"
#include "textfile.h"
#include "headset.h"
#include "sink.h"
#include "device.h"
static DBusHandlerResult device_get_address(DBusConnection *conn,

View File

@ -20,12 +20,14 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*
*/
#ifndef __AUDIO_DEVICE_H__
#define __AUDIO_DEVICE_H__
#include <bluetooth/bluetooth.h>
#include <dbus/dbus.h>
#include <glib.h>
#include "headset.h"
#include "gateway.h"
#include "sink.h"
#include "ipc.h"
#define AUDIO_DEVICE_INTERFACE "org.bluez.audio.Device"
@ -53,6 +55,9 @@
struct source;
struct control;
struct target;
struct sink;
struct headset;
struct gateway;
struct device {
DBusConnection *conn;
@ -82,3 +87,5 @@ int device_get_config(struct device *dev, int sock, struct ipc_packet *req,
void device_set_state(struct device *dev, uint8_t state);
uint8_t device_get_state(struct device *dev);
#endif

View File

@ -24,3 +24,5 @@
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include "gateway.h"

View File

@ -21,9 +21,9 @@
*
*/
#define AUDIO_GATEWAY_INTERFACE "org.bluez.audio.Gateway"
#include "device.h"
struct gateway;
#define AUDIO_GATEWAY_INTERFACE "org.bluez.audio.Gateway"
int gateway_init(DBusConnection *conn, gboolean disable_hfp, gboolean sco_hci);

View File

@ -51,9 +51,11 @@
#include "dbus.h"
#include "dbus-helper.h"
#include "logging.h"
#include "device.h"
#include "manager.h"
#include "error.h"
#include "unix.h"
#include "headset.h"
#define RING_INTERVAL 3000
@ -1291,9 +1293,9 @@ static void headset_set_channel(struct headset *headset, sdp_record_t *record)
error("Unable to get RFCOMM channel from Headset record");
}
void headset_update(void *device, sdp_record_t *record, uint16_t svc)
void headset_update(struct device *dev, sdp_record_t *record, uint16_t svc)
{
struct headset *headset = ((struct device *) device)->headset;
struct headset *headset = dev->headset;
switch (svc) {
case HANDSFREE_SVCLASS_ID:
@ -1329,10 +1331,9 @@ void headset_update(void *device, sdp_record_t *record, uint16_t svc)
headset_set_channel(headset, record);
}
struct headset *headset_init(void *device, sdp_record_t *record,
uint16_t svc)
struct headset *headset_init(struct device *dev, sdp_record_t *record,
uint16_t svc)
{
struct device *dev = (struct device *) device;
struct headset *hs;
hs = g_new0(struct headset, 1);
@ -1371,9 +1372,8 @@ register_iface:
return hs;
}
void headset_free(void *device)
void headset_free(struct device *dev)
{
struct device *dev = device;
struct headset *hs = dev->headset;
if (hs->sco) {
@ -1390,10 +1390,10 @@ void headset_free(void *device)
dev->headset = NULL;
}
int headset_get_config(void *device, int sock, struct ipc_packet *pkt,
int headset_get_config(struct device *dev, int sock, struct ipc_packet *pkt,
int pkt_len, struct ipc_data_cfg **cfg, int *fd)
{
struct headset *hs = ((struct device *) device)->headset;
struct headset *hs = dev->headset;
int err = EINVAL;
struct pending_connect *c;
@ -1406,9 +1406,9 @@ int headset_get_config(void *device, int sock, struct ipc_packet *pkt,
memcpy(c->pkt, pkt, pkt_len);
if (hs->rfcomm == NULL)
err = rfcomm_connect(device, c);
err = rfcomm_connect(dev, c);
else if (hs->sco == NULL)
err = sco_connect(device, c);
err = sco_connect(dev, c);
else
goto error;
@ -1436,32 +1436,31 @@ error:
return -err;
}
headset_type_t headset_get_type(void *device)
headset_type_t headset_get_type(struct device *dev)
{
struct headset *hs = ((struct device *) device)->headset;
struct headset *hs = dev->headset;
return hs->type;
}
void headset_set_type(void *device, headset_type_t type)
void headset_set_type(struct device *dev, headset_type_t type)
{
struct headset *hs = ((struct device *) device)->headset;
struct headset *hs = dev->headset;
hs->type = type;
}
int headset_connect_rfcomm(void *device, int sock)
int headset_connect_rfcomm(struct device *dev, int sock)
{
struct headset *hs = ((struct device *) device)->headset;
struct headset *hs = dev->headset;
hs->rfcomm = g_io_channel_unix_new(sock);
return hs->rfcomm ? 0 : -EINVAL;
}
int headset_close_rfcomm(void *device)
int headset_close_rfcomm(struct device *dev)
{
struct device *dev = (struct device *) device;
struct headset *hs = dev->headset;
if (hs->ring_timer) {
@ -1480,9 +1479,8 @@ int headset_close_rfcomm(void *device)
return 0;
}
void headset_set_state(void *device, headset_state_t state)
void headset_set_state(struct device *dev, headset_state_t state)
{
struct device *dev = (struct device *) device;
struct headset *hs = dev->headset;
char str[13];
@ -1491,8 +1489,8 @@ void headset_set_state(void *device, headset_state_t state)
switch(state) {
case HEADSET_STATE_DISCONNECTED:
close_sco(device);
headset_close_rfcomm(device);
close_sco(dev);
headset_close_rfcomm(dev);
dbus_connection_emit_signal(dev->conn, dev->path,
AUDIO_HEADSET_INTERFACE,
"Disconnected",
@ -1504,7 +1502,7 @@ void headset_set_state(void *device, headset_state_t state)
if (hs->state < state) {
g_io_add_watch(hs->rfcomm,
G_IO_IN | G_IO_HUP | G_IO_ERR | G_IO_NVAL,
(GIOFunc) rfcomm_io_cb, device);
(GIOFunc) rfcomm_io_cb, dev);
dbus_connection_emit_signal(dev->conn, dev->path,
AUDIO_HEADSET_INTERFACE,
@ -1512,7 +1510,7 @@ void headset_set_state(void *device, headset_state_t state)
DBUS_TYPE_INVALID);
}
else {
close_sco(device);
close_sco(dev);
dbus_connection_emit_signal(dev->conn, dev->path,
AUDIO_HEADSET_INTERFACE,
"Stopped",
@ -1523,7 +1521,7 @@ void headset_set_state(void *device, headset_state_t state)
break;
case HEADSET_STATE_PLAYING:
g_io_add_watch(hs->sco, G_IO_ERR | G_IO_HUP | G_IO_NVAL,
(GIOFunc) sco_cb, device);
(GIOFunc) sco_cb, dev);
dbus_connection_emit_signal(dev->conn, dev->path,
AUDIO_HEADSET_INTERFACE,
@ -1548,23 +1546,22 @@ void headset_set_state(void *device, headset_state_t state)
hs->state = state;
}
headset_state_t headset_get_state(void *device)
headset_state_t headset_get_state(struct device *dev)
{
struct headset *hs = ((struct device *) device)->headset;
struct headset *hs = dev->headset;
return hs->state;
}
int headset_get_channel(void *device)
int headset_get_channel(struct device *dev)
{
struct headset *hs = ((struct device *) device)->headset;
struct headset *hs = dev->headset;
return hs->rfcomm_ch;
}
gboolean headset_is_active(void *device)
gboolean headset_is_active(struct device *dev)
{
struct device *dev = device;
struct headset *hs = dev->headset;
if (hs->state != HEADSET_STATE_DISCONNECTED)

View File

@ -20,15 +20,13 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*
*/
#ifndef __AUDIO_HEADSET_H__
#define __AUDIO_HEADSET_H__
#include <bluetooth/sdp.h>
#include <bluetooth/sdp_lib.h>
#include <dbus/dbus.h>
#include "ipc.h"
#include "device.h"
#define AUDIO_HEADSET_INTERFACE "org.bluez.audio.Headset"
@ -55,29 +53,25 @@ typedef enum {
SVC_HANDSFREE
} headset_type_t;
struct headset;
struct headset *headset_init(void *device, sdp_record_t *record,
struct headset *headset_init(struct device *dev, sdp_record_t *record,
uint16_t svc);
void headset_free(void *device);
void headset_free(struct device *dev);
void headset_update(void *device, sdp_record_t *record, uint16_t svc);
void headset_update(struct device *dev, sdp_record_t *record, uint16_t svc);
int headset_get_config(void *device, int sock, struct ipc_packet *pkt,
int headset_get_config(struct device *dev, int sock, struct ipc_packet *pkt,
int pkt_len, struct ipc_data_cfg **rsp, int *fd);
headset_type_t headset_get_type(void *device);
void headset_set_type(void *device, headset_type_t type);
headset_type_t headset_get_type(struct device *dev);
void headset_set_type(struct device *dev, headset_type_t type);
int headset_connect_rfcomm(void *device, int sock);
int headset_close_rfcomm(void *device);
int headset_connect_rfcomm(struct device *dev, int sock);
int headset_close_rfcomm(struct device *dev);
headset_state_t headset_get_state(void *device);
void headset_set_state(void *device, headset_state_t state);
headset_state_t headset_get_state(struct device *dev);
void headset_set_state(struct device *dev, headset_state_t state);
int headset_get_channel(void *device);
int headset_get_channel(struct device *dev);
gboolean headset_is_active(void *device);
#endif
gboolean headset_is_active(struct device *dev);

View File

@ -50,10 +50,14 @@
#include "dbus-helper.h"
#include "logging.h"
#include "textfile.h"
#include "manager.h"
#include "device.h"
#include "error.h"
#include "a2dp.h"
#include "avdtp.h"
#include "headset.h"
#include "gateway.h"
#include "sink.h"
#include "manager.h"
typedef enum {
HEADSET = 1 << 0,

View File

@ -21,6 +21,7 @@
*
*/
#include <bluetooth/sdp.h>
#include <dbus/dbus.h>
#include "device.h"

View File

@ -39,6 +39,7 @@
#include "a2dp.h"
#include "error.h"
#include "unix.h"
#include "sink.h"
struct pending_connect {
DBusMessage *msg;
@ -328,10 +329,8 @@ static DBusSignalVTable sink_signals[] = {
{ NULL, NULL }
};
struct sink *sink_init(void *device)
struct sink *sink_init(struct device *dev)
{
struct device *dev = device;
if (!dbus_connection_register_interface(dev->conn, dev->path,
AUDIO_SINK_INTERFACE,
sink_methods,
@ -341,9 +340,8 @@ struct sink *sink_init(void *device)
return g_new0(struct sink, 1);
}
void sink_free(void *device)
void sink_free(struct device *dev)
{
struct device *dev = device;
struct sink *sink = dev->sink;
if (sink->session)
@ -356,10 +354,9 @@ void sink_free(void *device)
dev->sink = NULL;
}
int sink_get_config(void *device, int sock, struct ipc_packet *req,
int sink_get_config(struct device *dev, int sock, struct ipc_packet *req,
int pkt_len, struct ipc_data_cfg **rsp, int *fd)
{
struct device *dev = device;
struct sink *sink = dev->sink;
int err = EINVAL;
struct pending_connect *c = NULL;
@ -377,7 +374,7 @@ int sink_get_config(void *device, int sock, struct ipc_packet *req,
sink->c = c;
if (sink->state == AVDTP_STATE_IDLE)
err = avdtp_discover(sink->session, discovery_complete, device);
err = avdtp_discover(sink->session, discovery_complete, dev);
else if (sink->state < AVDTP_STATE_STREAMING)
err = avdtp_start(sink->session, sink->stream);
else
@ -400,9 +397,8 @@ error:
return -err;
}
gboolean sink_is_active(void *device)
gboolean sink_is_active(struct device *dev)
{
struct device *dev = device;
struct sink *sink = dev->sink;
if (sink->session)
@ -411,9 +407,8 @@ gboolean sink_is_active(void *device)
return FALSE;
}
void sink_set_state(void *device, avdtp_state_t state)
void sink_set_state(struct device *dev, avdtp_state_t state)
{
struct device *dev = device;
struct sink *sink = dev->sink;
int err = 0;
@ -455,18 +450,17 @@ failed:
error("%s: Error changing states", dev->path);
}
avdtp_state_t sink_get_state(void *device)
avdtp_state_t sink_get_state(struct device *dev)
{
struct device *dev = device;
struct sink *sink = dev->sink;
return sink->state;
}
gboolean sink_new_stream(struct avdtp *session, struct avdtp_stream *stream,
void *dev)
gboolean sink_new_stream(struct device *dev, struct avdtp *session,
struct avdtp_stream *stream)
{
struct sink *sink = ((struct device *) (dev))->sink;
struct sink *sink = dev->sink;
if (sink->stream)
return FALSE;

View File

@ -23,17 +23,16 @@
#include "ipc.h"
#include "avdtp.h"
#include "device.h"
#define AUDIO_SINK_INTERFACE "org.bluez.audio.Sink"
struct sink;
struct sink *sink_init(void *device);
void sink_free(void *device);
int sink_get_config(void *device, int sock, struct ipc_packet *req,
struct sink *sink_init(struct device *dev);
void sink_free(struct device *dev);
int sink_get_config(struct device *dev, int sock, struct ipc_packet *req,
int pkt_len, struct ipc_data_cfg **rsp, int *fd);
gboolean sink_is_active(void *device);
void sink_set_state(void *device, avdtp_state_t state);
avdtp_state_t sink_get_state(void *device);
gboolean sink_new_stream(struct avdtp *session, struct avdtp_stream *stream,
void *dev);
gboolean sink_is_active(struct device *dev);
void sink_set_state(struct device *dev, avdtp_state_t state);
avdtp_state_t sink_get_state(struct device *dev);
gboolean sink_new_stream(struct device *dev, struct avdtp *session,
struct avdtp_stream *stream);

View File

@ -37,6 +37,7 @@
#include "logging.h"
#include "dbus.h"
#include "device.h"
#include "manager.h"
#include "ipc.h"
#include "unix.h"