/* Copyright (c) 2013 The Chromium OS Authors. All rights reserved. * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ #ifndef CRAS_BT_ENDPOINT_H_ #define CRAS_BT_ENDPOINT_H_ #include #include #include "cras_bt_adapter.h" struct cras_bt_transport; struct cras_bt_endpoint { const char *object_path; const char *uuid; uint8_t codec; int (*get_capabilities)(struct cras_bt_endpoint *endpoint, void *capabilities, int *len); int (*select_configuration)(struct cras_bt_endpoint *endpoint, void *capabilities, int len, void *configuration); void (*set_configuration)(struct cras_bt_endpoint *endpoint, struct cras_bt_transport *transport); void (*suspend)(struct cras_bt_endpoint *endpoint, struct cras_bt_transport *transport); void (*transport_state_changed)(struct cras_bt_endpoint *endpoint, struct cras_bt_transport *transport); struct cras_bt_transport *transport; struct cras_bt_endpoint *prev, *next; }; int cras_bt_register_endpoint(DBusConnection *conn, const struct cras_bt_adapter *adapter, struct cras_bt_endpoint *endpoint); int cras_bt_unregister_endpoint(DBusConnection *conn, const struct cras_bt_adapter *adapter, struct cras_bt_endpoint *endpoint); int cras_bt_register_endpoints(DBusConnection *conn, const struct cras_bt_adapter *adapter); int cras_bt_endpoint_add(DBusConnection *conn, struct cras_bt_endpoint *endpoint); void cras_bt_endpoint_rm(DBusConnection *conn, struct cras_bt_endpoint *endpoint); void cras_bt_endpoint_reset(); struct cras_bt_endpoint *cras_bt_endpoint_get(const char *object_path); #endif /* CRAS_BT_ENDPOINT_H_ */