|  | // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 
|  | // Use of this source code is governed by a BSD-style license that can be | 
|  | // found in the LICENSE file. | 
|  |  | 
|  | // This file contains type definitions for the host plugin. It is used only | 
|  | // with JSCompiler to verify the type-correctness of our code. | 
|  |  | 
|  | /** @suppress {duplicate} */ | 
|  | var remoting = remoting || {}; | 
|  |  | 
|  | /** @constructor | 
|  | *  @extends HTMLElement | 
|  | */ | 
|  | remoting.HostPlugin = function() {}; | 
|  |  | 
|  | /** @param {string} email The email address of the connector. | 
|  | *  @param {string} token The access token for the connector. | 
|  | *  @return {void} Nothing. */ | 
|  | remoting.HostPlugin.prototype.connect = function(email, token) {}; | 
|  |  | 
|  | /** @return {void} Nothing. */ | 
|  | remoting.HostPlugin.prototype.disconnect = function() {}; | 
|  |  | 
|  | /** @param {function(string):string} callback Pointer to chrome.i18n.getMessage. | 
|  | *  @return {void} Nothing. */ | 
|  | remoting.HostPlugin.prototype.localize = function(callback) {}; | 
|  |  | 
|  | /** @return {string} Local hostname. */ | 
|  | remoting.HostPlugin.prototype.getHostName = function() {}; | 
|  |  | 
|  | /** @param {string} hostId The host ID. | 
|  | *  @param {string} pin The PIN. | 
|  | *  @return {string} The hash encoded with Base64. */ | 
|  | remoting.HostPlugin.prototype.getPinHash = function(hostId, pin) {}; | 
|  |  | 
|  | /** @param {function(string, string):void} callback Callback to be called | 
|  | *  after new key is generated. | 
|  | *  @return {void} Nothing. */ | 
|  | remoting.HostPlugin.prototype.generateKeyPair = function(callback) {}; | 
|  |  | 
|  | /** | 
|  | * Updates host config with the values specified in |config|. All | 
|  | * fields that are not specified in |config| remain | 
|  | * unchanged. Following parameters cannot be changed using this | 
|  | * function: host_id, xmpp_login. Error is returned if |config| | 
|  | * includes these paramters. Changes take effect before the callback | 
|  | * is called. | 
|  | * | 
|  | * @param {string} config The new config parameters, JSON encoded dictionary. | 
|  | * @param {function(remoting.HostController.AsyncResult):void} callback | 
|  | *     Callback to be called when finished. | 
|  | * @return {void} Nothing. */ | 
|  | remoting.HostPlugin.prototype.updateDaemonConfig = | 
|  | function(config, callback) {}; | 
|  |  | 
|  | /** @param {function(string):void} callback Callback to be called with | 
|  | *      the config. | 
|  | *  @return {void} Nothing. */ | 
|  | remoting.HostPlugin.prototype.getDaemonConfig = function(callback) {}; | 
|  |  | 
|  | /** @param {function(string):void} callback Callback to be called with | 
|  | *      the version, as a dotted string. | 
|  | *  @return {void} Nothing. */ | 
|  | remoting.HostPlugin.prototype.getDaemonVersion = function(callback) {}; | 
|  |  | 
|  | /** @param {function(boolean, boolean, boolean):void} callback Callback to be | 
|  | *      called with the consent. | 
|  | *  @return {void} Nothing. */ | 
|  | remoting.HostPlugin.prototype.getUsageStatsConsent = function(callback) {}; | 
|  |  | 
|  | /** @param {string} config Host configuration. | 
|  | *  @param {function(remoting.HostController.AsyncResult):void} callback | 
|  | *     Callback to be called when finished. | 
|  | *  @return {void} Nothing. */ | 
|  | remoting.HostPlugin.prototype.startDaemon = function( | 
|  | config, consent, callback) {}; | 
|  |  | 
|  | /** @param {function(remoting.HostController.AsyncResult):void} callback | 
|  | *     Callback to be called when finished. | 
|  | *  @return {void} Nothing. */ | 
|  | remoting.HostPlugin.prototype.stopDaemon = function(callback) {}; | 
|  |  | 
|  | /** @type {number} */ remoting.HostPlugin.prototype.state; | 
|  |  | 
|  | /** @type {number} */ remoting.HostPlugin.prototype.STARTING; | 
|  | /** @type {number} */ remoting.HostPlugin.prototype.REQUESTED_ACCESS_CODE; | 
|  | /** @type {number} */ remoting.HostPlugin.prototype.RECEIVED_ACCESS_CODE; | 
|  | /** @type {number} */ remoting.HostPlugin.prototype.CONNECTED; | 
|  | /** @type {number} */ remoting.HostPlugin.prototype.DISCONNECTED; | 
|  | /** @type {number} */ remoting.HostPlugin.prototype.DISCONNECTING; | 
|  | /** @type {number} */ remoting.HostPlugin.prototype.ERROR; | 
|  |  | 
|  | /** @type {string} */ remoting.HostPlugin.prototype.accessCode; | 
|  | /** @type {number} */ remoting.HostPlugin.prototype.accessCodeLifetime; | 
|  |  | 
|  | /** @type {string} */ remoting.HostPlugin.prototype.client; | 
|  |  | 
|  | /** @type {remoting.HostController.State} */ | 
|  | remoting.HostPlugin.prototype.daemonState; | 
|  |  | 
|  | /** @type {function(boolean):void} */ | 
|  | remoting.HostPlugin.prototype.onNatTraversalPolicyChanged; |