Blob Blame History Raw
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

#include "nsISupports.idl"

interface nsIInterfaceRequestor;
interface nsIProtectedAuthThread;

[scriptable, uuid(a1cbc159-468c-495d-8068-61dd538cbcca)]
interface nsITokenDialogs : nsISupports
{
  [must_use]
  void ChooseToken(in nsIInterfaceRequestor ctx,
                   [array, size_is(count)] in wstring tokenNameList,
                   in unsigned long count,
                   out AString tokenName,
                   out boolean canceled);

  /**
   * Displays notification dialog to the user that they are expected to
   * authenticate to the token using its "protected authentication path" feature.
   */
  [must_use]
  void displayProtectedAuth(in nsIInterfaceRequestor ctx,
                            in nsIProtectedAuthThread runnable);
};

%{C++
#define NS_TOKENDIALOGS_CONTRACTID "@mozilla.org/nsTokenDialogs;1"
%}