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: michael@0: #include "nsISupports.idl" michael@0: michael@0: [scriptable, uuid(20d8eb40-c494-497f-b2a6-aaa32f807ebd)] michael@0: michael@0: /** michael@0: * An object containing metainfo for a login stored by the login manager. michael@0: * michael@0: * Code using login manager can generally ignore this interface. When adding michael@0: * logins, default value will be created. When modifying logins, these michael@0: * properties will be unchanged unless a change is explicitly requested [by michael@0: * using modifyLogin() with a nsIPropertyBag]. When deleting a login or michael@0: * comparing logins, these properties are ignored. michael@0: */ michael@0: interface nsILoginMetaInfo : nsISupports { michael@0: /** michael@0: * The GUID to uniquely identify the login. This can be any arbitrary michael@0: * string, but a format as created by nsIUUIDGenerator is recommended. michael@0: * For example, "{d4e1a1f6-5ea0-40ee-bff5-da57982f21cf}" michael@0: * michael@0: * addLogin will generate a random value unless a value is provided. michael@0: * michael@0: * addLogin and modifyLogin will throw if the GUID already exists. michael@0: */ michael@0: attribute AString guid; michael@0: michael@0: /** michael@0: * The time, in Unix Epoch milliseconds, when the login was first created. michael@0: */ michael@0: attribute unsigned long long timeCreated; michael@0: michael@0: /** michael@0: * The time, in Unix Epoch milliseconds, when the login was last submitted michael@0: * in a form or used to begin an HTTP auth session. michael@0: */ michael@0: attribute unsigned long long timeLastUsed; michael@0: michael@0: /** michael@0: * The time, in Unix Epoch milliseconds, when the login's password was michael@0: * last modified. michael@0: */ michael@0: attribute unsigned long long timePasswordChanged; michael@0: michael@0: /** michael@0: * The number of times the login was submitted in a form or used to begin michael@0: * an HTTP auth session. michael@0: */ michael@0: attribute unsigned long timesUsed; michael@0: };