| Top |
| BtctlController * | btctl_controller_new () |
| void | btctl_controller_discover_devices () |
| void | btctl_controller_list_rfcomm_connections () |
| gint | btctl_controller_establish_rfcomm_connection () |
| gint | btctl_controller_get_established_rfcomm_connection () |
| gboolean | btctl_controller_scan_for_service () |
| void | btctl_controller_cancel_discovery () |
| void | btctl_controller_discover_async () |
| gboolean | btctl_controller_is_initialised () |
| int | btctl_controller_get_signal_strength () |
| void | add-device | Run First |
| void | add-device-service | Run First |
| void | device-name | Run First |
| void | status-change | Run First |
| struct | BtctlController |
| #define | BTCTL_RFCOMM_NO_DEVICE |
| #define | BTCTL_RFCOMM_DEVICE_IN_USE |
BtctlController *
btctl_controller_new (const char *hci_device);
Create a new Bluetooth controller object. This will attempt to open
an HCI socket to the default Bluetooth device. Use
btctl_controller_is_initialised() to check whether this was successful.
void btctl_controller_discover_devices (BtctlController *bc,GError **err);
Commence a synchronous device discovery cycle.
void
btctl_controller_list_rfcomm_connections
(BtctlController *bc);
Dump established rfcomm connections to the terminal.
gint btctl_controller_establish_rfcomm_connection (BtctlController *bc,const gchar *bdstr,guint channel);
Link an rfcomm device to the destination device. Returns BTCTL_RFCOMM_NO_DEVICE if the connection cannot be made.
gint btctl_controller_get_established_rfcomm_connection (BtctlController *bc,const gchar *bdstr,guint channel);
Find rfcomm device number (ie. N for /dev/rfcommN) connected to the destination device on the specified channel. Returns BTCTL_RFCOMM_NO_DEVICE is no device is available, or BTCTL_RFCOMM_DEVICE_IN_USE if a device is available but already in use.
gboolean btctl_controller_scan_for_service (BtctlController *bc,const gchar *bdstr,guint clsid,GError **err);
Performs a specific SDP scan for the service specified. The service class identifiers can be found in /usr/include/bluetooth/sdp.h
void
btctl_controller_cancel_discovery (BtctlController *bc);
Cancel an asynchronous discovery cycle. Will only work if inquiry cancellation support is present in the kernel.
void
btctl_controller_discover_async (BtctlController *bc);
Commence an asychronous device discovery cycle. Signals will be sent on device discovery, but no SDP discovery is being done. The status-change signal will send information about the completion of the scan.
gboolean btctl_controller_is_initialised (BtctlController *bc,GError **err);
Check if controller was able to get the Bluetooth HCI connection. If not, we won't be able to do anything like discovery.
int btctl_controller_get_signal_strength (BtctlController *bc,const gchar *bdaddr,GError **err);
Bluetooth allows the monitoring of the signal strength of an established connection. There must be an existing connection for this function to work.
“add-device” signalvoid user_function (BtctlController *btctlcontroller, char *arg1, guint arg2, gpointer user_data)
Flags: Run First
“add-device-service” signalvoid user_function (BtctlController *btctlcontroller, char *arg1, char *arg2, guint arg3, guint arg4, gpointer user_data)
Flags: Run First
“device-name” signalvoid user_function (BtctlController *btctlcontroller, char *arg1, char *arg2, gpointer user_data)
Flags: Run First
“status-change” signalvoid user_function (BtctlController *btctlcontroller, int arg1, gpointer user_data)
Flags: Run First