![]() | ![]() | ![]() | GObject Bluetooth Controller Reference Manual | ![]() |
---|
BtctlController —
BtctlController* btctl_controller_new (void); #define BTCTL_RFCOMM_NO_DEVICE #define BTCTL_RFCOMM_DEVICE_IN_USE void btctl_controller_discover_devices (BtctlController *bc); void btctl_controller_list_rfcomm_connections (BtctlController *bc); gint btctl_controller_establish_rfcomm_connection (BtctlController *bc, const gchar *bdstr, guint channel); gint btctl_controller_get_established_rfcomm_connection (BtctlController *bc, const gchar *bdstr, guint channel); void btctl_controller_scan_for_service (BtctlController *bc, const gchar *bdstr, guint clsid); void btctl_controller_cancel_discovery (BtctlController *bc); void btctl_controller_discover_async (BtctlController *bc); gboolean btctl_controller_is_initialised (BtctlController *bc); int btctl_controller_get_signal_strength (BtctlController *bc, const char *bdaddr, GError **err);
BtctlController* btctl_controller_new (void);
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.
Returns : | a pointer to the controller object if successful, otherwise NULL. |
void btctl_controller_discover_devices (BtctlController *bc);
Commence a synchronous device discovery cycle.
bc : | Bluetooth controller object. |
void btctl_controller_list_rfcomm_connections (BtctlController *bc);
Dump established rfcomm connections to the terminal.
bc : | Bluetooth controller object. |
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.
bc : | Bluetooth controller object. |
bdstr : | Bluetooth address of destination device. |
channel : | RFCOMM channel. |
Returns : | rfcomm device number. |
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.
bc : | Bluetooth controller object. |
bdstr : | Bluetooth address of destination device. |
channel : | RFCOMM channel. |
Returns : | rfcomm device number. |
void btctl_controller_scan_for_service (BtctlController *bc, const gchar *bdstr, guint clsid);
Performs a specific SDP scan for the service specified. The service class identifiers can be found in /usr/include/bluetooth/sdp.h
bc : | Bluetooth controller object. |
bdstr : | Bluetooth address of destination device. |
clsid : | SDP service class ID. |
void btctl_controller_cancel_discovery (BtctlController *bc);
Cancel an asynchronous discovery cycle. Will only work if inquiry cancellation support is present in the kernel.
bc : | Bluetooth controller object. |
void btctl_controller_discover_async (BtctlController *bc);
Commence an asychronous device discovery cycle. Signals will be sent on device discovery.
bc : | Bluetooth controller object. |
gboolean btctl_controller_is_initialised (BtctlController *bc);
Check if controller was able to get the Bluetooth HCI connection. If not, we won't be able to do anything like discovery.
bc : | Bluetooth controller object. |
Returns : | TRUE if initialised OK. |
int btctl_controller_get_signal_strength (BtctlController *bc, const char *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.
bc : | Bluetooth controller object. |
bdaddr : | Destination device address. |
err : | GError |
Returns : | integer representing the signal strength. |
<< GObject Bluetooth Controller | btctl-discovery-source >> |