diff options
Diffstat (limited to 'hcid/dbus.h')
-rw-r--r-- | hcid/dbus.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/hcid/dbus.h b/hcid/dbus.h index da6eeba7..aab6f354 100644 --- a/hcid/dbus.h +++ b/hcid/dbus.h @@ -27,7 +27,9 @@ #include <stdint.h> #include <dbus/dbus.h> #include <bluetooth/bluetooth.h> +#include <bluetooth/sdp.h> #include "list.h" +#include "glib-ectomy.h" #define BASE_PATH "/org/bluez" #define BASE_INTERFACE "org.bluez" @@ -44,6 +46,8 @@ #define RFCOMM_INTERFACE BASE_INTERFACE ".RFCOMM" +#define SDP_INTERFACE BASE_INTERFACE ".SDP" + #define MANAGER_PATH_MASK (1 << 15) #define ADAPTER_PATH_MASK (1 << 14) @@ -97,6 +101,13 @@ struct bonding_request_info { int disconnect; /* disconnect after finish */ }; +struct search_request_info { + bdaddr_t bdaddr; + DBusMessage *rq; + GIOChannel *io; + sdp_session_t *session; +}; + struct active_conn_info { bdaddr_t bdaddr; uint16_t handle; @@ -115,6 +126,7 @@ struct hci_dbus_data { char *requestor_name; /* requestor unique name */ struct slist *passkey_agents; struct bonding_request_info *bonding; + struct search_request_info *search; struct slist *active_conn; int pairing_active; }; @@ -166,6 +178,9 @@ DBusHandlerResult error_record_does_not_exist(DBusConnection *conn, DBusMessage DBusHandlerResult error_passkey_agent_already_exists(DBusConnection *conn, DBusMessage *msg); DBusHandlerResult error_passkey_agent_does_not_exist(DBusConnection *conn, DBusMessage *msg); DBusHandlerResult error_binding_does_not_exist(DBusConnection *conn, DBusMessage *msg); +DBusHandlerResult error_service_already_exists(DBusConnection *conn, DBusMessage *msg); +DBusHandlerResult error_service_does_not_exist(DBusConnection *conn, DBusMessage *msg); +DBusHandlerResult error_service_search_in_progress(DBusConnection *conn, DBusMessage *msg); DBusHandlerResult error_connect_canceled(DBusConnection *conn, DBusMessage *msg); typedef void (*name_cb_t)(const char *name, void *user_data); @@ -179,6 +194,8 @@ DBusHandlerResult handle_security_method(DBusConnection *conn, DBusMessage *msg, DBusHandlerResult handle_rfcomm_method(DBusConnection *conn, DBusMessage *msg, void *data); +DBusHandlerResult handle_sdp_method(DBusConnection *conn, DBusMessage *msg, void *data); + service_handler_func_t find_service_handler(struct service_data *services, DBusMessage *msg); int handle_passkey_request(int dev, const char *path, bdaddr_t *sba, bdaddr_t *dba); |