/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- * * 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 nsIPK11Token; [scriptable, uuid(c2d4f296-ee60-11d4-998b-00b0d02354a0)] interface nsIPKCS11Slot : nsISupports { [must_use] readonly attribute AUTF8String name; [must_use] readonly attribute AUTF8String desc; /** * Manufacturer ID of the slot. */ [must_use] readonly attribute AUTF8String manID; /** * Hardware version of the slot. */ [must_use] readonly attribute AUTF8String HWVersion; /** * Firmware version of the slot. */ [must_use] readonly attribute AUTF8String FWVersion; const unsigned long SLOT_DISABLED = 0; const unsigned long SLOT_NOT_PRESENT = 1; const unsigned long SLOT_UNINITIALIZED = 2; const unsigned long SLOT_NOT_LOGGED_IN = 3; const unsigned long SLOT_LOGGED_IN = 4; const unsigned long SLOT_READY = 5; [must_use] readonly attribute unsigned long status; /* This is really a workaround for now. All of the "slot" functions * (isTokenPresent(), etc.) are in nsIPK11Token. For now, return the * token and handle those things there. */ [must_use] nsIPK11Token getToken(); /* more fun with workarounds - we're referring to everything by token name */ [must_use] readonly attribute AUTF8String tokenName; };