| 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 /** | 5 /** |
| 6 * @fileoverview | 6 * @fileoverview |
| 7 * Class to communicate with the host daemon via Native Messaging. | 7 * Class to communicate with the host daemon via Native Messaging. |
| 8 */ | 8 */ |
| 9 | 9 |
| 10 'use strict'; | 10 'use strict'; |
| (...skipping 30 matching lines...) Expand all Loading... |
| 41 this.afterInitializationTasks_ = []; | 41 this.afterInitializationTasks_ = []; |
| 42 | 42 |
| 43 /** | 43 /** |
| 44 * A promise that fulfills when the daemon finishes initializing. | 44 * A promise that fulfills when the daemon finishes initializing. |
| 45 * It will be set to null when the promise fulfills. | 45 * It will be set to null when the promise fulfills. |
| 46 * @type {Promise} | 46 * @type {Promise} |
| 47 * @private | 47 * @private |
| 48 */ | 48 */ |
| 49 this.initializingPromise_ = null; | 49 this.initializingPromise_ = null; |
| 50 | 50 |
| 51 /** @type {remoting.Error} @private */ | 51 /** @type {!remoting.Error} @private */ |
| 52 this.error_ = remoting.Error.NONE; | 52 this.error_ = remoting.Error.NONE; |
| 53 | 53 |
| 54 /** @private */ | 54 /** @private */ |
| 55 this.onIncomingMessageCallback_ = this.onIncomingMessage_.bind(this); | 55 this.onIncomingMessageCallback_ = this.onIncomingMessage_.bind(this); |
| 56 | 56 |
| 57 /** @private */ | 57 /** @private */ |
| 58 this.onDisconnectCallback_ = this.onDisconnect_.bind(this); | 58 this.onDisconnectCallback_ = this.onDisconnect_.bind(this); |
| 59 | 59 |
| 60 this.initialize_(); | 60 this.initialize_(); |
| 61 }; | 61 }; |
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 111 | 111 |
| 112 return new Promise(connect.bind(this)); | 112 return new Promise(connect.bind(this)); |
| 113 }; | 113 }; |
| 114 | 114 |
| 115 /** | 115 /** |
| 116 * Type used for entries of |pendingReplies_| list. | 116 * Type used for entries of |pendingReplies_| list. |
| 117 * | 117 * |
| 118 * @param {string} type Type of the originating request. | 118 * @param {string} type Type of the originating request. |
| 119 * @param {function(...):void} onDone Response callback. Parameters depend on | 119 * @param {function(...):void} onDone Response callback. Parameters depend on |
| 120 * the request type. | 120 * the request type. |
| 121 * @param {function(remoting.Error):void} onError Callback to call on error. | 121 * @param {function(!remoting.Error):void} onError Callback to call on error. |
| 122 * @constructor | 122 * @constructor |
| 123 */ | 123 */ |
| 124 remoting.HostDaemonFacade.PendingReply = function(type, onDone, onError) { | 124 remoting.HostDaemonFacade.PendingReply = function(type, onDone, onError) { |
| 125 this.type = type; | 125 this.type = type; |
| 126 this.onDone = onDone; | 126 this.onDone = onDone; |
| 127 this.onError = onError; | 127 this.onError = onError; |
| 128 }; | 128 }; |
| 129 | 129 |
| 130 /** | 130 /** |
| 131 * @param {remoting.HostController.Feature} feature The feature to test for. | 131 * @param {remoting.HostController.Feature} feature The feature to test for. |
| 132 * @param {function(boolean):void} onDone Callback to return result. | 132 * @param {function(boolean):void} onDone Callback to return result. |
| 133 * @return {boolean} True if the implementation supports the named feature. | 133 * @return {boolean} True if the implementation supports the named feature. |
| 134 */ | 134 */ |
| 135 remoting.HostDaemonFacade.prototype.hasFeature = function(feature, onDone) { | 135 remoting.HostDaemonFacade.prototype.hasFeature = function(feature, onDone) { |
| 136 /** @type {remoting.HostDaemonFacade} */ | 136 /** @type {remoting.HostDaemonFacade} */ |
| 137 var that = this; | 137 var that = this; |
| 138 this.initialize_().then(function() { | 138 this.initialize_().then(function() { |
| 139 onDone(that.supportedFeatures_.indexOf(feature) >= 0); | 139 onDone(that.supportedFeatures_.indexOf(feature) >= 0); |
| 140 }, function (){ | 140 }, function (){ |
| 141 onDone(false); | 141 onDone(false); |
| 142 }); | 142 }); |
| 143 }; | 143 }; |
| 144 | 144 |
| 145 /** | 145 /** |
| 146 * Initializes that the Daemon if necessary and posts the supplied message. | 146 * Initializes that the Daemon if necessary and posts the supplied message. |
| 147 * | 147 * |
| 148 * @param {{type: string}} message The message to post. | 148 * @param {{type: string}} message The message to post. |
| 149 * @param {function(...):void} onDone The callback, if any, to be triggered | 149 * @param {function(...):void} onDone The callback, if any, to be triggered |
| 150 * on response. | 150 * on response. |
| 151 * @param {function(remoting.Error):void} onError Callback to call on error. | 151 * @param {function(!remoting.Error):void} onError Callback to call on error. |
| 152 * @private | 152 * @private |
| 153 */ | 153 */ |
| 154 remoting.HostDaemonFacade.prototype.postMessage_ = | 154 remoting.HostDaemonFacade.prototype.postMessage_ = |
| 155 function(message, onDone, onError) { | 155 function(message, onDone, onError) { |
| 156 /** @type {remoting.HostDaemonFacade} */ | 156 /** @type {remoting.HostDaemonFacade} */ |
| 157 var that = this; | 157 var that = this; |
| 158 this.initialize_().then(function() { | 158 this.initialize_().then(function() { |
| 159 that.postMessageInternal_(message, onDone, onError); | 159 that.postMessageInternal_(message, onDone, onError); |
| 160 }, function() { | 160 }, function() { |
| 161 onError(that.error_); | 161 onError(that.error_); |
| 162 }); | 162 }); |
| 163 }; | 163 }; |
| 164 | 164 |
| 165 /** | 165 /** |
| 166 * Attaches a new ID to the supplied message, and posts it to the Native | 166 * Attaches a new ID to the supplied message, and posts it to the Native |
| 167 * Messaging port, adding |onDone| to the list of pending replies. | 167 * Messaging port, adding |onDone| to the list of pending replies. |
| 168 * |message| should have its 'type' field set, and any other fields set | 168 * |message| should have its 'type' field set, and any other fields set |
| 169 * depending on the message type. | 169 * depending on the message type. |
| 170 * | 170 * |
| 171 * @param {{type: string}} message The message to post. | 171 * @param {{type: string}} message The message to post. |
| 172 * @param {function(...):void} onDone The callback, if any, to be triggered | 172 * @param {function(...):void} onDone The callback, if any, to be triggered |
| 173 * on response. | 173 * on response. |
| 174 * @param {function(remoting.Error):void} onError Callback to call on error. | 174 * @param {function(!remoting.Error):void} onError Callback to call on error. |
| 175 * @return {void} Nothing. | 175 * @return {void} Nothing. |
| 176 * @private | 176 * @private |
| 177 */ | 177 */ |
| 178 remoting.HostDaemonFacade.prototype.postMessageInternal_ = | 178 remoting.HostDaemonFacade.prototype.postMessageInternal_ = |
| 179 function(message, onDone, onError) { | 179 function(message, onDone, onError) { |
| 180 var id = this.nextId_++; | 180 var id = this.nextId_++; |
| 181 message['id'] = id; | 181 message['id'] = id; |
| 182 this.pendingReplies_[id] = new remoting.HostDaemonFacade.PendingReply( | 182 this.pendingReplies_[id] = new remoting.HostDaemonFacade.PendingReply( |
| 183 message.type + 'Response', onDone, onError); | 183 message.type + 'Response', onDone, onError); |
| 184 this.port_.postMessage(message); | 184 this.port_.postMessage(message); |
| (...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 340 for (var id in pendingReplies) { | 340 for (var id in pendingReplies) { |
| 341 var num_id = parseInt(id, 10); | 341 var num_id = parseInt(id, 10); |
| 342 pendingReplies[num_id].onError(this.error_); | 342 pendingReplies[num_id].onError(this.error_); |
| 343 } | 343 } |
| 344 } | 344 } |
| 345 | 345 |
| 346 /** | 346 /** |
| 347 * Gets local hostname. | 347 * Gets local hostname. |
| 348 * | 348 * |
| 349 * @param {function(string):void} onDone Callback to return result. | 349 * @param {function(string):void} onDone Callback to return result. |
| 350 * @param {function(remoting.Error):void} onError Callback to call on error. | 350 * @param {function(!remoting.Error):void} onError Callback to call on error. |
| 351 * @return {void} Nothing. | 351 * @return {void} Nothing. |
| 352 */ | 352 */ |
| 353 remoting.HostDaemonFacade.prototype.getHostName = | 353 remoting.HostDaemonFacade.prototype.getHostName = |
| 354 function(onDone, onError) { | 354 function(onDone, onError) { |
| 355 this.postMessage_({type: 'getHostName'}, onDone, onError); | 355 this.postMessage_({type: 'getHostName'}, onDone, onError); |
| 356 }; | 356 }; |
| 357 | 357 |
| 358 /** | 358 /** |
| 359 * Calculates PIN hash value to be stored in the config, passing the resulting | 359 * Calculates PIN hash value to be stored in the config, passing the resulting |
| 360 * hash value base64-encoded to the callback. | 360 * hash value base64-encoded to the callback. |
| 361 * | 361 * |
| 362 * @param {string} hostId The host ID. | 362 * @param {string} hostId The host ID. |
| 363 * @param {string} pin The PIN. | 363 * @param {string} pin The PIN. |
| 364 * @param {function(string):void} onDone Callback to return result. | 364 * @param {function(string):void} onDone Callback to return result. |
| 365 * @param {function(remoting.Error):void} onError Callback to call on error. | 365 * @param {function(!remoting.Error):void} onError Callback to call on error. |
| 366 * @return {void} Nothing. | 366 * @return {void} Nothing. |
| 367 */ | 367 */ |
| 368 remoting.HostDaemonFacade.prototype.getPinHash = | 368 remoting.HostDaemonFacade.prototype.getPinHash = |
| 369 function(hostId, pin, onDone, onError) { | 369 function(hostId, pin, onDone, onError) { |
| 370 this.postMessage_({ | 370 this.postMessage_({ |
| 371 type: 'getPinHash', | 371 type: 'getPinHash', |
| 372 hostId: hostId, | 372 hostId: hostId, |
| 373 pin: pin | 373 pin: pin |
| 374 }, onDone, onError); | 374 }, onDone, onError); |
| 375 }; | 375 }; |
| 376 | 376 |
| 377 /** | 377 /** |
| 378 * Generates new key pair to use for the host. The specified callback is called | 378 * Generates new key pair to use for the host. The specified callback is called |
| 379 * when the key is generated. The key is returned in format understood by the | 379 * when the key is generated. The key is returned in format understood by the |
| 380 * host (PublicKeyInfo structure encoded with ASN.1 DER, and then BASE64). | 380 * host (PublicKeyInfo structure encoded with ASN.1 DER, and then BASE64). |
| 381 * | 381 * |
| 382 * @param {function(string, string):void} onDone Callback to return result. | 382 * @param {function(string, string):void} onDone Callback to return result. |
| 383 * @param {function(remoting.Error):void} onError Callback to call on error. | 383 * @param {function(!remoting.Error):void} onError Callback to call on error. |
| 384 * @return {void} Nothing. | 384 * @return {void} Nothing. |
| 385 */ | 385 */ |
| 386 remoting.HostDaemonFacade.prototype.generateKeyPair = | 386 remoting.HostDaemonFacade.prototype.generateKeyPair = |
| 387 function(onDone, onError) { | 387 function(onDone, onError) { |
| 388 this.postMessage_({type: 'generateKeyPair'}, onDone, onError); | 388 this.postMessage_({type: 'generateKeyPair'}, onDone, onError); |
| 389 }; | 389 }; |
| 390 | 390 |
| 391 /** | 391 /** |
| 392 * Updates host config with the values specified in |config|. All | 392 * Updates host config with the values specified in |config|. All |
| 393 * fields that are not specified in |config| remain | 393 * fields that are not specified in |config| remain |
| 394 * unchanged. Following parameters cannot be changed using this | 394 * unchanged. Following parameters cannot be changed using this |
| 395 * function: host_id, xmpp_login. Error is returned if |config| | 395 * function: host_id, xmpp_login. Error is returned if |config| |
| 396 * includes these parameters. Changes take effect before the callback | 396 * includes these parameters. Changes take effect before the callback |
| 397 * is called. | 397 * is called. |
| 398 * | 398 * |
| 399 * @param {Object} config The new config parameters. | 399 * @param {Object} config The new config parameters. |
| 400 * @param {function(remoting.HostController.AsyncResult):void} onDone | 400 * @param {function(remoting.HostController.AsyncResult):void} onDone |
| 401 * Callback to be called when finished. | 401 * Callback to be called when finished. |
| 402 * @param {function(remoting.Error):void} onError Callback to call on error. | 402 * @param {function(!remoting.Error):void} onError Callback to call on error. |
| 403 * @return {void} Nothing. | 403 * @return {void} Nothing. |
| 404 */ | 404 */ |
| 405 remoting.HostDaemonFacade.prototype.updateDaemonConfig = | 405 remoting.HostDaemonFacade.prototype.updateDaemonConfig = |
| 406 function(config, onDone, onError) { | 406 function(config, onDone, onError) { |
| 407 this.postMessage_({ | 407 this.postMessage_({ |
| 408 type: 'updateDaemonConfig', | 408 type: 'updateDaemonConfig', |
| 409 config: config | 409 config: config |
| 410 }, onDone, onError); | 410 }, onDone, onError); |
| 411 }; | 411 }; |
| 412 | 412 |
| 413 /** | 413 /** |
| 414 * Loads daemon config. The config is passed as a JSON formatted string to the | 414 * Loads daemon config. The config is passed as a JSON formatted string to the |
| 415 * callback. | 415 * callback. |
| 416 * | 416 * |
| 417 * @param {function(Object):void} onDone Callback to return result. | 417 * @param {function(Object):void} onDone Callback to return result. |
| 418 * @param {function(remoting.Error):void} onError Callback to call on error. | 418 * @param {function(!remoting.Error):void} onError Callback to call on error. |
| 419 * @return {void} Nothing. | 419 * @return {void} Nothing. |
| 420 */ | 420 */ |
| 421 remoting.HostDaemonFacade.prototype.getDaemonConfig = | 421 remoting.HostDaemonFacade.prototype.getDaemonConfig = |
| 422 function(onDone, onError) { | 422 function(onDone, onError) { |
| 423 this.postMessage_({type: 'getDaemonConfig'}, onDone, onError); | 423 this.postMessage_({type: 'getDaemonConfig'}, onDone, onError); |
| 424 }; | 424 }; |
| 425 | 425 |
| 426 /** | 426 /** |
| 427 * Retrieves daemon version. The version is passed to onDone as a dotted decimal | 427 * Retrieves daemon version. The version is passed to onDone as a dotted decimal |
| 428 * string of the form major.minor.build.patch. | 428 * string of the form major.minor.build.patch. |
| 429 * | 429 * |
| 430 * @param {function(string):void} onDone Callback to be called to return result. | 430 * @param {function(string):void} onDone Callback to be called to return result. |
| 431 * @param {function(remoting.Error):void} onError Callback to call on error. | 431 * @param {function(!remoting.Error):void} onError Callback to call on error. |
| 432 * @return {void} | 432 * @return {void} |
| 433 */ | 433 */ |
| 434 remoting.HostDaemonFacade.prototype.getDaemonVersion = | 434 remoting.HostDaemonFacade.prototype.getDaemonVersion = |
| 435 function(onDone, onError) { | 435 function(onDone, onError) { |
| 436 /** @type {remoting.HostDaemonFacade} */ | 436 /** @type {remoting.HostDaemonFacade} */ |
| 437 var that = this; | 437 var that = this; |
| 438 this.initialize_().then(function() { | 438 this.initialize_().then(function() { |
| 439 onDone(that.version_); | 439 onDone(that.version_); |
| 440 }, function() { | 440 }, function() { |
| 441 onError(that.error_); | 441 onError(that.error_); |
| 442 }); | 442 }); |
| 443 }; | 443 }; |
| 444 | 444 |
| 445 /** | 445 /** |
| 446 * Get the user's consent to crash reporting. The consent flags are passed to | 446 * Get the user's consent to crash reporting. The consent flags are passed to |
| 447 * the callback as booleans: supported, allowed, set-by-policy. | 447 * the callback as booleans: supported, allowed, set-by-policy. |
| 448 * | 448 * |
| 449 * @param {function(boolean, boolean, boolean):void} onDone Callback to return | 449 * @param {function(boolean, boolean, boolean):void} onDone Callback to return |
| 450 * result. | 450 * result. |
| 451 * @param {function(remoting.Error):void} onError Callback to call on error. | 451 * @param {function(!remoting.Error):void} onError Callback to call on error. |
| 452 * @return {void} Nothing. | 452 * @return {void} Nothing. |
| 453 */ | 453 */ |
| 454 remoting.HostDaemonFacade.prototype.getUsageStatsConsent = | 454 remoting.HostDaemonFacade.prototype.getUsageStatsConsent = |
| 455 function(onDone, onError) { | 455 function(onDone, onError) { |
| 456 this.postMessage_({type: 'getUsageStatsConsent'}, onDone, onError); | 456 this.postMessage_({type: 'getUsageStatsConsent'}, onDone, onError); |
| 457 }; | 457 }; |
| 458 | 458 |
| 459 /** | 459 /** |
| 460 * Starts the daemon process with the specified configuration. | 460 * Starts the daemon process with the specified configuration. |
| 461 * | 461 * |
| 462 * @param {Object} config Host configuration. | 462 * @param {Object} config Host configuration. |
| 463 * @param {boolean} consent Consent to report crash dumps. | 463 * @param {boolean} consent Consent to report crash dumps. |
| 464 * @param {function(remoting.HostController.AsyncResult):void} onDone | 464 * @param {function(remoting.HostController.AsyncResult):void} onDone |
| 465 * Callback to return result. | 465 * Callback to return result. |
| 466 * @param {function(remoting.Error):void} onError Callback to call on error. | 466 * @param {function(!remoting.Error):void} onError Callback to call on error. |
| 467 * @return {void} Nothing. | 467 * @return {void} Nothing. |
| 468 */ | 468 */ |
| 469 remoting.HostDaemonFacade.prototype.startDaemon = | 469 remoting.HostDaemonFacade.prototype.startDaemon = |
| 470 function(config, consent, onDone, onError) { | 470 function(config, consent, onDone, onError) { |
| 471 this.postMessage_({ | 471 this.postMessage_({ |
| 472 type: 'startDaemon', | 472 type: 'startDaemon', |
| 473 config: config, | 473 config: config, |
| 474 consent: consent | 474 consent: consent |
| 475 }, onDone, onError); | 475 }, onDone, onError); |
| 476 }; | 476 }; |
| 477 | 477 |
| 478 /** | 478 /** |
| 479 * Stops the daemon process. | 479 * Stops the daemon process. |
| 480 * | 480 * |
| 481 * @param {function(remoting.HostController.AsyncResult):void} onDone | 481 * @param {function(remoting.HostController.AsyncResult):void} onDone |
| 482 * Callback to return result. | 482 * Callback to return result. |
| 483 * @param {function(remoting.Error):void} onError Callback to call on error. | 483 * @param {function(!remoting.Error):void} onError Callback to call on error. |
| 484 * @return {void} Nothing. | 484 * @return {void} Nothing. |
| 485 */ | 485 */ |
| 486 remoting.HostDaemonFacade.prototype.stopDaemon = | 486 remoting.HostDaemonFacade.prototype.stopDaemon = |
| 487 function(onDone, onError) { | 487 function(onDone, onError) { |
| 488 this.postMessage_({type: 'stopDaemon'}, onDone, onError); | 488 this.postMessage_({type: 'stopDaemon'}, onDone, onError); |
| 489 }; | 489 }; |
| 490 | 490 |
| 491 /** | 491 /** |
| 492 * Gets the installed/running state of the Host process. | 492 * Gets the installed/running state of the Host process. |
| 493 * | 493 * |
| 494 * @param {function(remoting.HostController.State):void} onDone Callback to | 494 * @param {function(remoting.HostController.State):void} onDone Callback to |
| 495 * return result. | 495 * return result. |
| 496 * @param {function(remoting.Error):void} onError Callback to call on error. | 496 * @param {function(!remoting.Error):void} onError Callback to call on error. |
| 497 * @return {void} Nothing. | 497 * @return {void} Nothing. |
| 498 */ | 498 */ |
| 499 remoting.HostDaemonFacade.prototype.getDaemonState = | 499 remoting.HostDaemonFacade.prototype.getDaemonState = |
| 500 function(onDone, onError) { | 500 function(onDone, onError) { |
| 501 this.postMessage_({type: 'getDaemonState'}, onDone, onError); | 501 this.postMessage_({type: 'getDaemonState'}, onDone, onError); |
| 502 } | 502 } |
| 503 | 503 |
| 504 /** | 504 /** |
| 505 * Retrieves the list of paired clients. | 505 * Retrieves the list of paired clients. |
| 506 * | 506 * |
| 507 * @param {function(Array<remoting.PairedClient>):void} onDone Callback to | 507 * @param {function(Array<remoting.PairedClient>):void} onDone Callback to |
| 508 * return result. | 508 * return result. |
| 509 * @param {function(remoting.Error):void} onError Callback to call on error. | 509 * @param {function(!remoting.Error):void} onError Callback to call on error. |
| 510 */ | 510 */ |
| 511 remoting.HostDaemonFacade.prototype.getPairedClients = | 511 remoting.HostDaemonFacade.prototype.getPairedClients = |
| 512 function(onDone, onError) { | 512 function(onDone, onError) { |
| 513 this.postMessage_({type: 'getPairedClients'}, onDone, onError); | 513 this.postMessage_({type: 'getPairedClients'}, onDone, onError); |
| 514 } | 514 } |
| 515 | 515 |
| 516 /** | 516 /** |
| 517 * Clears all paired clients from the registry. | 517 * Clears all paired clients from the registry. |
| 518 * | 518 * |
| 519 * @param {function(boolean):void} onDone Callback to be called when finished. | 519 * @param {function(boolean):void} onDone Callback to be called when finished. |
| 520 * @param {function(remoting.Error):void} onError Callback to call on error. | 520 * @param {function(!remoting.Error):void} onError Callback to call on error. |
| 521 */ | 521 */ |
| 522 remoting.HostDaemonFacade.prototype.clearPairedClients = | 522 remoting.HostDaemonFacade.prototype.clearPairedClients = |
| 523 function(onDone, onError) { | 523 function(onDone, onError) { |
| 524 this.postMessage_({type: 'clearPairedClients'}, onDone, onError); | 524 this.postMessage_({type: 'clearPairedClients'}, onDone, onError); |
| 525 } | 525 } |
| 526 | 526 |
| 527 /** | 527 /** |
| 528 * Deletes a paired client referenced by client id. | 528 * Deletes a paired client referenced by client id. |
| 529 * | 529 * |
| 530 * @param {string} client Client to delete. | 530 * @param {string} client Client to delete. |
| 531 * @param {function(boolean):void} onDone Callback to be called when finished. | 531 * @param {function(boolean):void} onDone Callback to be called when finished. |
| 532 * @param {function(remoting.Error):void} onError Callback to call on error. | 532 * @param {function(!remoting.Error):void} onError Callback to call on error. |
| 533 */ | 533 */ |
| 534 remoting.HostDaemonFacade.prototype.deletePairedClient = | 534 remoting.HostDaemonFacade.prototype.deletePairedClient = |
| 535 function(client, onDone, onError) { | 535 function(client, onDone, onError) { |
| 536 this.postMessage_({ | 536 this.postMessage_({ |
| 537 type: 'deletePairedClient', | 537 type: 'deletePairedClient', |
| 538 clientId: client | 538 clientId: client |
| 539 }, onDone, onError); | 539 }, onDone, onError); |
| 540 } | 540 } |
| 541 | 541 |
| 542 /** | 542 /** |
| 543 * Gets the API keys to obtain/use service account credentials. | 543 * Gets the API keys to obtain/use service account credentials. |
| 544 * | 544 * |
| 545 * @param {function(string):void} onDone Callback to return result. | 545 * @param {function(string):void} onDone Callback to return result. |
| 546 * @param {function(remoting.Error):void} onError Callback to call on error. | 546 * @param {function(!remoting.Error):void} onError Callback to call on error. |
| 547 * @return {void} Nothing. | 547 * @return {void} Nothing. |
| 548 */ | 548 */ |
| 549 remoting.HostDaemonFacade.prototype.getHostClientId = | 549 remoting.HostDaemonFacade.prototype.getHostClientId = |
| 550 function(onDone, onError) { | 550 function(onDone, onError) { |
| 551 this.postMessage_({type: 'getHostClientId'}, onDone, onError); | 551 this.postMessage_({type: 'getHostClientId'}, onDone, onError); |
| 552 }; | 552 }; |
| 553 | 553 |
| 554 /** | 554 /** |
| 555 * | 555 * |
| 556 * @param {string} authorizationCode OAuth authorization code. | 556 * @param {string} authorizationCode OAuth authorization code. |
| 557 * @param {function(string, string):void} onDone Callback to return result. | 557 * @param {function(string, string):void} onDone Callback to return result. |
| 558 * @param {function(remoting.Error):void} onError Callback to call on error. | 558 * @param {function(!remoting.Error):void} onError Callback to call on error. |
| 559 * @return {void} Nothing. | 559 * @return {void} Nothing. |
| 560 */ | 560 */ |
| 561 remoting.HostDaemonFacade.prototype.getCredentialsFromAuthCode = | 561 remoting.HostDaemonFacade.prototype.getCredentialsFromAuthCode = |
| 562 function(authorizationCode, onDone, onError) { | 562 function(authorizationCode, onDone, onError) { |
| 563 this.postMessage_({ | 563 this.postMessage_({ |
| 564 type: 'getCredentialsFromAuthCode', | 564 type: 'getCredentialsFromAuthCode', |
| 565 authorizationCode: authorizationCode | 565 authorizationCode: authorizationCode |
| 566 }, onDone, onError); | 566 }, onDone, onError); |
| 567 }; | 567 }; |
| OLD | NEW |