[BluetoothLE] Updated BluetoothLEScanCallback to match changed WIDL.
authorPawel Andruszkiewicz <p.andruszkie@samsung.com>
Tue, 23 Jun 2015 12:21:09 +0000 (14:21 +0200)
committerPawel Andruszkiewicz <p.andruszkie@samsung.com>
Tue, 23 Jun 2015 12:21:09 +0000 (14:21 +0200)
Change was specified in: http://168.219.209.56/gerrit/#/c/55030/1

[Verification] Code compiles.

Change-Id: Ib1d337951b1f354996da240ef08c4e841417397f
Signed-off-by: Pawel Andruszkiewicz <p.andruszkie@samsung.com>
src/bluetooth/bluetooth_api.js
src/bluetooth/bluetooth_le_adapter.cc
src/bluetooth/bluetooth_le_adapter.h

index e9d6a5a0d0cc51f5f4ff629f1ba9b92fe7ecfdd9..540058df0c487ef553fddf3dac358bc1092ce827 100755 (executable)
@@ -1313,23 +1313,10 @@ var _bleScanListener = _singleListenerBuilder('BluetoothLEScanCallback',
   var ret = true;
 
   switch (event.action) {
-    case 'onstarted':
-      break;
-
-    case 'ondevicefound':
+    case 'onsuccess':
       d = new BluetoothLEDevice(event.data);
       break;
 
-    case 'onfinished':
-      d = [];
-      event.data.forEach(function(data) {
-        d.push(new BluetoothLEDevice(data));
-      });
-
-      // stop listening
-      ret = false;
-      break;
-
     case 'onerror':
       if (errorCallback) {
         errorCallback(native.getErrorObject(event));
@@ -1384,7 +1371,7 @@ BluetoothLEAdapter.prototype.startScan = function() {
   var args = AV.validateMethod(arguments, [{
     name: 'successCallback',
     type: AV.Types.LISTENER,
-    values: ['onstarted', 'ondevicefound', 'onfinished']
+    values: ['onsuccess']
   }, {
     name: 'errorCallback',
     type: AV.Types.FUNCTION,
@@ -1406,12 +1393,11 @@ BluetoothLEAdapter.prototype.stopScan = function() {
 
   xwalk.utils.checkPrivilegeAccess(Privilege.BLUETOOTH);
 
-  // _bleScanListener.removeListener() is going to be called in 'onfinished' handler
+  _bleScanListener.removeListener();
 
   var result = native.callSync('BluetoothLEAdapter_stopScan', {});
 
   if (native.isFailure(result)) {
-    _bleScanListener.removeListener();
     throw native.getErrorObject(result);
   }
 };
index c8d7a0d285e3bd51cd48fb2e998bbd5dba1252e0..b0a182177bef07f5f701fe5f3cf74c205d61f173 100755 (executable)
@@ -356,9 +356,7 @@ bool ToBool(bt_adapter_le_state_e state) {
 const std::string kAction = "action";
 const std::string kData = "data";
 // scan-related
-const std::string kOnScanStarted = "onstarted";
-const std::string kOnScanDeviceFound = "ondevicefound";
-const std::string kOnScanFinished = "onfinished";
+const std::string kOnScanSuccess = "onsuccess";
 const std::string kOnScanError = "onerror";
 const std::string kScanEvent = "BluetoothLEScanCallback";
 // advertise-related
@@ -695,26 +693,14 @@ void BluetoothLEAdapter::OnScanResult(
     data_obj->insert(std::make_pair(kAction, picojson::value(kOnScanError)));
   } else {
     // TODO: this is probably capi-network-bluetooth error: when scan is stopped info has 0x1 value
-    if (nullptr == info || reinterpret_cast<void*>(0x1) == info) {
-      // info is empty, so this is start/stop callback
-      if (!adapter->scanning_) { // scanning has to be stopped by the user, it is not stopped by the platform
-        LoggerD("Scan finished");
-        data_obj->insert(std::make_pair(kAction, picojson::value(kOnScanFinished)));
-        data_obj->insert(std::make_pair(kData, picojson::value(adapter->discovered_devices_)));
-      } else {
-        LoggerD("Scan started");
-        adapter->discovered_devices_.clear();
-        data_obj->insert(std::make_pair(kAction, picojson::value(kOnScanStarted)));
-      }
-    } else {
+    if (nullptr != info && reinterpret_cast<void*>(0x1) != info) {
       // device found
       LoggerD("Device found");
       picojson::value data{picojson::object{}};
       const auto& r = BluetoothLEDevice::ToJson(info, &data.get<picojson::object>());
       if (r) {
-        data_obj->insert(std::make_pair(kAction, picojson::value(kOnScanDeviceFound)));
+        data_obj->insert(std::make_pair(kAction, picojson::value(kOnScanSuccess)));
         data_obj->insert(std::make_pair(kData, data));
-        adapter->discovered_devices_.push_back(data);
       } else {
         LoggerE("Failed to parse Bluetooth LE device");
         ReportError(r, data_obj);
index 01157bc8b3c2df66236bf2d8810e04969f9bdb85..20ada03118e432d901e7306e04252b7c1f1ff4ad 100755 (executable)
@@ -56,7 +56,6 @@ class BluetoothLEAdapter {
   BluetoothInstance& instance_;
   bool enabled_;
   bool scanning_;
-  picojson::array discovered_devices_;
   bt_advertiser_h bt_advertiser_;
 };