/* 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;

/**
 * nsICertPickDialogs
 * Provides generic UI for choosing a certificate
 */
[scriptable, uuid(51d59b08-1dd2-11b2-ad4a-a51b92f8a184)]
interface nsICertPickDialogs : nsISupports
{
  /**
   * PickCertificate
   *   General purpose certificate prompter
   */
  void PickCertificate(in nsIInterfaceRequestor ctx,
                       [array, size_is(count)] in wstring certNickList,
                       [array, size_is(count)] in wstring certDetailsList,
                       in unsigned long count,
                       inout long selectedIndex,
                       out boolean canceled);
};

%{C++
#define NS_CERTPICKDIALOGS_CONTRACTID "@mozilla.org/nsCertPickDialogs;1"
%}
