diff options
| author | Szymon Janc <szymon.janc@gmail.com> | 2013-11-25 22:15:51 +0000 |
|---|---|---|
| committer | Johan Hedberg <johan.hedberg@intel.com> | 2013-11-27 11:29:31 +0200 |
| commit | 7c6acd4cad31994c5a4b3ba623f6d9eb39304ca2 (patch) | |
| tree | 0180a93a6fa76c74be165834f0e93c3f03adb79d /src | |
| parent | 8b9bd382ec06ff8c6966ccf1b090ce566e2824b0 (diff) | |
device: Add device_discover_services function
This will allow to query remote services from plugins for not yet
discovered devices.
Diffstat (limited to 'src')
| -rw-r--r-- | src/device.c | 17 | ||||
| -rw-r--r-- | src/device.h | 2 |
2 files changed, 19 insertions, 0 deletions
diff --git a/src/device.c b/src/device.c index 4e952c5b4..847ffad5b 100644 --- a/src/device.c +++ b/src/device.c @@ -3524,6 +3524,23 @@ static int device_browse_sdp(struct btd_device *device, DBusMessage *msg) return err; } +int device_discover_services(struct btd_device *device) +{ + int err; + + if (device_is_bredr(device)) + err = device_browse_sdp(device, NULL); + else + err = device_browse_primary(device, NULL); + + if (err == 0 && device->discov_timer) { + g_source_remove(device->discov_timer); + device->discov_timer = 0; + } + + return err; +} + struct btd_adapter *device_get_adapter(struct btd_device *device) { if (!device) diff --git a/src/device.h b/src/device.h index a0d25fedb..c3fea4ab7 100644 --- a/src/device.h +++ b/src/device.h @@ -131,5 +131,7 @@ bool device_remove_svc_complete_callback(struct btd_device *dev, struct btd_service *btd_device_get_service(struct btd_device *dev, const char *remote_uuid); +int device_discover_services(struct btd_device *device); + void btd_device_init(void); void btd_device_cleanup(void); |
