michael@0: /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- michael@0: * michael@0: * This Source Code Form is subject to the terms of the Mozilla Public michael@0: * License, v. 2.0. If a copy of the MPL was not distributed with this michael@0: * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ michael@0: michael@0: #include "nsISupports.idl" michael@0: michael@0: interface nsIPK11Token; michael@0: michael@0: [scriptable, uuid(c2d4f296-ee60-11d4-998b-00b0d02354a0)] michael@0: interface nsIPKCS11Slot : nsISupports { michael@0: michael@0: readonly attribute wstring name; michael@0: readonly attribute wstring desc; michael@0: readonly attribute wstring manID; michael@0: readonly attribute wstring HWVersion; michael@0: readonly attribute wstring FWVersion; michael@0: michael@0: const unsigned long SLOT_DISABLED = 0; michael@0: const unsigned long SLOT_NOT_PRESENT = 1; michael@0: const unsigned long SLOT_UNINITIALIZED = 2; michael@0: const unsigned long SLOT_NOT_LOGGED_IN = 3; michael@0: const unsigned long SLOT_LOGGED_IN = 4; michael@0: const unsigned long SLOT_READY = 5; michael@0: readonly attribute unsigned long status; michael@0: michael@0: /* This is really a workaround for now. All of the "slot" functions michael@0: * (isTokenPresent(), etc.) are in nsIPK11Token. For now, return the michael@0: * token and handle those things there. michael@0: */ michael@0: nsIPK11Token getToken(); michael@0: michael@0: /* more fun with workarounds - we're referring to everything by token name */ michael@0: readonly attribute wstring tokenName; michael@0: michael@0: }; michael@0: