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 3// found in the LICENSE file. 4 5/** 6 * @fileoverview Provides a "bottom half" helper to assist with raw enroll 7 * requests. 8 */ 9'use strict'; 10 11/** 12 * A helper for enroll requests. 13 * @extends {Closeable} 14 * @interface 15 */ 16function EnrollHelper() {} 17 18/** 19 * Attempts to enroll using the provided data. 20 * @param {Array} enrollChallenges an array enroll challenges. 21 * @param {Array.<SignHelperChallenge>} signChallenges a list of sign 22 * challenges for already enrolled gnubbies, to prevent double-enrolling a 23 * device. 24 */ 25EnrollHelper.prototype.doEnroll = 26 function(enrollChallenges, signChallenges) {}; 27 28/** Closes this helper. */ 29EnrollHelper.prototype.close = function() {}; 30 31/** 32 * A factory for creating enroll helpers. 33 * @interface 34 */ 35function EnrollHelperFactory() {} 36 37/** 38 * Creates a new enroll helper. 39 * @param {!Countdown} timer Timer after whose expiration the caller is no 40 * longer interested in the result of an enroll request. 41 * @param {function(number, boolean)} errorCb Called when an enroll request 42 * fails with an error code and whether any gnubbies were found. 43 * @param {function(string, string)} successCb Called with the result of a 44 * successful enroll request, along with the version of the gnubby that 45 * provided it. 46 * @param {(function(number, boolean)|undefined)} opt_progressCb Called with 47 * progress updates to the enroll request. 48 * @param {string=} opt_logMsgUrl A URL to post log messages to. 49 * @return {EnrollHelper} the newly created helper. 50 */ 51EnrollHelperFactory.prototype.createHelper = 52 function(timer, errorCb, successCb, opt_progressCb, opt_logMsgUrl) {}; 53