From: Piotr Kosko Date: Thu, 16 Jul 2015 09:05:00 +0000 (+0200) Subject: [BluetoothLE] Added public constructor for BluetoothLEServiceData and BluetoothLEManu... X-Git-Tag: submit/tizen_tv/20150803.021740^2^2~52 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=eb1c96ecab944e8fb914a1e0e8c02c13925fe50a;p=platform%2Fcore%2Fapi%2Fwebapi-plugins.git [BluetoothLE] Added public constructor for BluetoothLEServiceData and BluetoothLEManufacturerData [Verification] TCT passrate didn't change. Change-Id: I27f3224d98d61ef8b2d372272495e8bf66b01c7a Signed-off-by: Piotr Kosko --- diff --git a/src/bluetooth/bluetooth_api.js b/src/bluetooth/bluetooth_api.js index 455bd6e3..0e963bfb 100755 --- a/src/bluetooth/bluetooth_api.js +++ b/src/bluetooth/bluetooth_api.js @@ -142,8 +142,9 @@ var BluetoothClassDeviceService = function() { }); }; -//class BluetoothLEServiceData //////////////////////////////////////////////////// -var BluetoothLEServiceData = function(d) { +//class tizen.BluetoothLEServiceData //////////////////////////////////////////////////// +tizen.BluetoothLEServiceData = function(d) { + AV.isConstructorCall(this, tizen.BluetoothLEServiceData); var uuid_ = ''; var data_ = ''; @@ -168,9 +169,15 @@ var BluetoothLEServiceData = function(d) { } }); - if (d) { + if (arguments.length >= 2) { // public constructor + this.serviceuuid = arguments[0]; + this.data = arguments[1]; + } else if (d && T.isObject(d)) { // internal constructor this.serviceuuid = d.serviceuuid; this.data = d.data; + } else { + uuid_ = undefined; + data_ = undefined; } }; @@ -259,7 +266,7 @@ tizen.BluetoothLEAdvertiseData = function(dict) { serviceData_ = v; } else if (T.isArray(v)) { for (var i = 0; i < v.length; ++i) { - if (!(v[i] instanceof BluetoothLEServiceData)) { + if (!(v[i] instanceof tizen.BluetoothLEServiceData)) { return; } } @@ -273,7 +280,7 @@ tizen.BluetoothLEAdvertiseData = function(dict) { return manufacturerData_; }, set: function(v) { - if (T.isNull(v) || (v instanceof BluetoothLEManufacturerData)) { + if (T.isNull(v) || (v instanceof tizen.BluetoothLEManufacturerData)) { manufacturerData_ = v; } } @@ -337,7 +344,7 @@ tizen.BluetoothLEAdvertiseData = function(dict) { o.serviceData = dict.serviceData; } else if (T.isArray(dict.serviceData)) { for (var i = 0; i < dict.serviceData.length; ++i) { - if (!(dict.serviceData[i] instanceof BluetoothLEServiceData)) { + if (!(dict.serviceData[i] instanceof tizen.BluetoothLEServiceData)) { return; } } @@ -348,7 +355,7 @@ tizen.BluetoothLEAdvertiseData = function(dict) { // manufacturerData if (T.isNull(dict.manufacturerData) || - (dict.manufacturerData instanceof BluetoothLEManufacturerData)) { + (dict.manufacturerData instanceof tizen.BluetoothLEManufacturerData)) { o.manufacturerData = dict.manufacturerData; } else if (!T.isUndefined(dict.manufacturerData)) { return; @@ -362,8 +369,9 @@ tizen.BluetoothLEAdvertiseData = function(dict) { } }; -//class BluetoothLEManufacturerData //////////////////////////////////////////////////// -var BluetoothLEManufacturerData = function(d) { +//class tizen.BluetoothLEManufacturerData //////////////////////////////////////////////////// +tizen.BluetoothLEManufacturerData = function(d) { + AV.isConstructorCall(this, tizen.BluetoothLEManufacturerData); var id_ = ''; var data_ = ''; @@ -388,9 +396,15 @@ var BluetoothLEManufacturerData = function(d) { } }); - if (d) { + if (arguments.length >= 2) { // public constructor + this.id = arguments[0]; + this.data = arguments[1]; + } else if (d && T.isObject(d)) { // internal constructor this.id = d.id; this.data = d.data; + } else { + id_ = undefined; + data_ = undefined; } }; @@ -569,9 +583,9 @@ var BluetoothLEDevice = function(data) { uuids = data.uuids; solicitationuuids = data.solicitationuuids; data.serviceData.forEach(function(d) { - serviceData.push(new BluetoothLEServiceData(d)); + serviceData.push(new tizen.BluetoothLEServiceData(d)); }); - manufacturerData = new BluetoothLEManufacturerData(data.manufacturerData); + manufacturerData = new tizen.BluetoothLEManufacturerData(data.manufacturerData); } Object.defineProperties(this, { diff --git a/src/bluetooth/bluetooth_extension.cc b/src/bluetooth/bluetooth_extension.cc index 5f21b96a..d9efdd1f 100755 --- a/src/bluetooth/bluetooth_extension.cc +++ b/src/bluetooth/bluetooth_extension.cc @@ -20,6 +20,8 @@ namespace { const char* kBluetooth = "tizen.bluetooth"; const char* kBluetoothLEAdvertiseData = "tizen.BluetoothLEAdvertiseData"; +const char* kBluetoothLEServiceData = "tizen.BluetoothLEServiceData"; +const char* kBluetoothLEManufacturerData = "tizen.BluetoothLEManufacturerData"; } // This will be generated from bluetooth_api.js. extern const char kSource_bluetooth_api[]; @@ -33,6 +35,8 @@ BluetoothExtension::BluetoothExtension() { SetJavaScriptAPI(kSource_bluetooth_api); const char* entry_points[] = { kBluetoothLEAdvertiseData, + kBluetoothLEServiceData, + kBluetoothLEManufacturerData, NULL }; SetExtraJSEntryPoints(entry_points);