function Device(id_, name_, type_, services_) {
validator_.isConstructorCall(this, Device);
+
+ var services = [];
+ if (services_) {
+ services = services_;
+ }
+
Object.defineProperties(this, {
id: {
value: id_,
enumerable: true
},
services: {
- value: services_,
- writable: false,
- enumerable: true
+ enumerable: true,
+ set : function(){},
+ get : function(){ return services.slice(); }
},
});
}
return;
}
- // Create an instance of the device
- var d = new Device(result.device.id, result.device.name, result.device.type, []);
-
console.log('Service number: ' + result.device.services.length);
+ var services = [];
+ var id = result.device.id;
for (var i = 0; i < result.device.services.length; ++i) {
var service_data = result.device.services[i];
var s;
s.connectionState = getServiceConnectionStateName(
result.device.services[i].connectionState);
- s._deviceId = d.id;
- d.services.push(s);
+ s._deviceId = id;
+ services.push(s);
}
+ // Create an instance of the device
+ var d = new Device(id, result.device.name, result.device.type, services);
+
// Store newly found device internally
convergenceDevices.push(d);