| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 define('serial_service', [ | 5 define('serial_service', [ |
| 6 'content/public/renderer/service_provider', | 6 'content/public/renderer/service_provider', |
| 7 'data_receiver', | 7 'data_receiver', |
| 8 'data_sender', | 8 'data_sender', |
| 9 'device/serial/serial.mojom', | 9 'device/serial/serial.mojom', |
| 10 'mojo/public/js/bindings/core', | 10 'mojo/public/js/bindings/core', |
| 11 'mojo/public/js/bindings/router', | 11 'mojo/public/js/bindings/router', |
| 12 ], function(serviceProvider, | 12 ], function(serviceProvider, |
| 13 dataReceiver, | 13 dataReceiver, |
| 14 dataSender, | 14 dataSender, |
| 15 serialMojom, | 15 serialMojom, |
| 16 core, | 16 core, |
| 17 routerModule) { | 17 routerModule) { |
| 18 /** | 18 /** |
| 19 * A Javascript client for the serial service and connection Mojo services. | 19 * A Javascript client for the serial service and connection Mojo services. |
| 20 * | 20 * |
| 21 * This provides a thick client around the Mojo services, exposing a JS-style | 21 * This provides a thick client around the Mojo services, exposing a JS-style |
| 22 * interface to serial connections and information about serial devices. This | 22 * interface to serial connections and information about serial devices. This |
| 23 * converts parameters and result between the Apps serial API types and the | 23 * converts parameters and result between the Apps serial API types and the |
| 24 * Mojo types. | 24 * Mojo types. |
| 25 */ | 25 */ |
| 26 | 26 |
| 27 var service = new serialMojom.SerialServiceProxy(new routerModule.Router( | 27 var service = new serialMojom.SerialService.proxyClass( |
| 28 serviceProvider.connectToService(serialMojom.SerialServiceProxy.NAME_))); | 28 new routerModule.Router( |
| 29 serviceProvider.connectToService(serialMojom.SerialService.name))); |
| 29 | 30 |
| 30 function getDevices() { | 31 function getDevices() { |
| 31 return service.getDevices().then(function(response) { | 32 return service.getDevices().then(function(response) { |
| 32 return $Array.map(response.devices, function(device) { | 33 return $Array.map(response.devices, function(device) { |
| 33 var result = {path: device.path}; | 34 var result = {path: device.path}; |
| 34 if (device.has_vendor_id) | 35 if (device.has_vendor_id) |
| 35 result.vendorId = device.vendor_id; | 36 result.vendorId = device.vendor_id; |
| 36 if (device.has_product_id) | 37 if (device.has_product_id) |
| 37 result.productId = device.product_id; | 38 result.productId = device.product_id; |
| 38 if (device.display_name) | 39 if (device.display_name) |
| (...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 165 var serviceOptions = getServiceOptions(options); | 166 var serviceOptions = getServiceOptions(options); |
| 166 var pipe = core.createMessagePipe(); | 167 var pipe = core.createMessagePipe(); |
| 167 var sendPipe = core.createMessagePipe(); | 168 var sendPipe = core.createMessagePipe(); |
| 168 var receivePipe = core.createMessagePipe(); | 169 var receivePipe = core.createMessagePipe(); |
| 169 service.connect(path, | 170 service.connect(path, |
| 170 serviceOptions, | 171 serviceOptions, |
| 171 pipe.handle0, | 172 pipe.handle0, |
| 172 sendPipe.handle0, | 173 sendPipe.handle0, |
| 173 receivePipe.handle0); | 174 receivePipe.handle0); |
| 174 var router = new routerModule.Router(pipe.handle1); | 175 var router = new routerModule.Router(pipe.handle1); |
| 175 var connection = new serialMojom.ConnectionProxy(router); | 176 var connection = new serialMojom.Connection.proxyClass(router); |
| 176 return connection.getInfo().then(convertServiceInfo).then(function(info) { | 177 return connection.getInfo().then(convertServiceInfo).then(function(info) { |
| 177 return Promise.all([info, allocateConnectionId()]); | 178 return Promise.all([info, allocateConnectionId()]); |
| 178 }).catch(function(e) { | 179 }).catch(function(e) { |
| 179 router.close(); | 180 router.close(); |
| 180 core.close(sendPipe.handle1); | 181 core.close(sendPipe.handle1); |
| 181 core.close(receivePipe.handle1); | 182 core.close(receivePipe.handle1); |
| 182 throw e; | 183 throw e; |
| 183 }).then(function(results) { | 184 }).then(function(results) { |
| 184 var info = results[0]; | 185 var info = results[0]; |
| 185 var id = results[1]; | 186 var id = results[1]; |
| (...skipping 231 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 417 | 418 |
| 418 return { | 419 return { |
| 419 getDevices: getDevices, | 420 getDevices: getDevices, |
| 420 createConnection: Connection.create, | 421 createConnection: Connection.create, |
| 421 getConnection: getConnection, | 422 getConnection: getConnection, |
| 422 getConnections: getConnections, | 423 getConnections: getConnections, |
| 423 // For testing. | 424 // For testing. |
| 424 Connection: Connection, | 425 Connection: Connection, |
| 425 }; | 426 }; |
| 426 }); | 427 }); |
| OLD | NEW |