Back to index

lightning-sunbird  0.9+nobinonly
Public Member Functions | Public Attributes
nsIPrincipal Interface Reference

import "nsIPrincipal.idl";

Inheritance diagram for nsIPrincipal:
Inheritance graph
[legend]
Collaboration diagram for nsIPrincipal:
Collaboration graph
[legend]

List of all members.

Public Member Functions

void getPreferences (out string prefBranch, out string id, out string subjectName, out string grantedList, out string deniedList)
 Returns the security preferences associated with this principal.
boolean equals (in nsIPrincipal other)
 Returns whether the other principal is equivalent to this principal.
JSPrincipals getJSPrincipals (in JSContext cx)
 Returns the JS equivalent of the principal.
short canEnableCapability (in string capability)
void setCanEnableCapability (in string capability, in short canEnable)
boolean isCapabilityEnabled (in string capability, in voidPtr annotation)
void enableCapability (in string capability, inout voidPtr annotation)
void revertCapability (in string capability, inout voidPtr annotation)
void disableCapability (in string capability, inout voidPtr annotation)
boolean subsumes (in nsIPrincipal other)
 Returns whether the other principal is equal to or weaker than this principal.
void read (in nsIObjectInputStream aInputStream)
 Initialize the object implementing nsISerializable, which must have been freshly constructed via CreateInstance.
void write (in nsIObjectOutputStream aOutputStream)
 Serialize the object implementing nsISerializable to aOutputStream, by writing each data member that must be recovered later to reconstitute a working replica of this object, in a canonical member and byte order, to aOutputStream.

Public Attributes

const short ENABLE_DENIED = 1
 Values of capabilities for each principal.
const short ENABLE_UNKNOWN = 2
const short ENABLE_WITH_USER_PERMISSION = 3
const short ENABLE_GRANTED = 4
readonly attribute unsigned long hashValue
 Returns a hash value for the principal.
attribute voidPtr securityPolicy
 The domain security policy of the principal.
readonly attribute nsIURI URI
 The codebase URI to which this principal pertains.
attribute nsIURI domain
 The domain URI to which this principal pertains.
readonly attribute string origin
 The origin of this principal's codebase URI.
readonly attribute boolean hasCertificate
 Whether this principal is associated with a certificate.
readonly attribute AUTF8String fingerprint
 The fingerprint ID of this principal's certificate.
readonly attribute AUTF8String prettyName
 The pretty name for the certificate.
readonly attribute AUTF8String subjectName
 The subject name for the certificate.
readonly attribute nsISupports certificate
 The certificate associated with this principal, if any.

Detailed Description

Definition at line 55 of file nsIPrincipal.idl.


Member Function Documentation

void nsIPrincipal::disableCapability ( in string  capability,
inout voidPtr  annotation 
)
void nsIPrincipal::enableCapability ( in string  capability,
inout voidPtr  annotation 
)

Returns whether the other principal is equivalent to this principal.

Principals are considered equal if they are the same principal, they have the same origin, or have the same certificate fingerprint ID

Returns the JS equivalent of the principal.

See also:
JSPrincipals.h
void nsIPrincipal::getPreferences ( out string  prefBranch,
out string  id,
out string  subjectName,
out string  grantedList,
out string  deniedList 
)

Returns the security preferences associated with this principal.

prefBranch will be set to the pref branch to which these preferences pertain. id is a pseudo-unique identifier, pertaining to either the fingerprint or the origin. subjectName is a name that identifies the entity this principal represents (may be empty). grantedList and deniedList are space-separated lists of capabilities which were explicitly granted or denied by a pref.

boolean nsIPrincipal::isCapabilityEnabled ( in string  capability,
in voidPtr  annotation 
)
void nsISerializable::read ( in nsIObjectInputStream  aInputStream) [inherited]

Initialize the object implementing nsISerializable, which must have been freshly constructed via CreateInstance.

All data members that can't be set to default values must have been serialized by write, and should be read from aInputStream in the same order by this method.

void nsIPrincipal::revertCapability ( in string  capability,
inout voidPtr  annotation 
)
void nsIPrincipal::setCanEnableCapability ( in string  capability,
in short  canEnable 
)

Returns whether the other principal is equal to or weaker than this principal.

Principals are equal if they are the same object, they have the same origin, or they have the same certificate ID.

Thus a principal subsumes itself if it is equal to itself.

The system principal subsumes itself and all other principals except the non-principal.

The non-principal is not equal to itself or any other principal, and therefore does not subsume itself.

Both codebase and certificate principals are subsumed by the system principal, but no codebase or certificate principal yet subsumes any other codebase or certificate principal. This may change in a future release; note that nsIPrincipal is unfrozen, not slated to be frozen.

void nsISerializable::write ( in nsIObjectOutputStream  aOutputStream) [inherited]

Serialize the object implementing nsISerializable to aOutputStream, by writing each data member that must be recovered later to reconstitute a working replica of this object, in a canonical member and byte order, to aOutputStream.

NB: a class that implements nsISerializable must also implement nsIClassInfo, in particular nsIClassInfo::GetClassID.

Here is the caller graph for this function:


Member Data Documentation

readonly attribute nsISupports nsIPrincipal::certificate

The certificate associated with this principal, if any.

If there isn't one, this will return null. Getting this attribute never throws.

Definition at line 205 of file nsIPrincipal.idl.

The domain URI to which this principal pertains.

This is congruent with HTMLDocument.domain, and may be null. Setting this has no effect on the URI.

Definition at line 134 of file nsIPrincipal.idl.

Values of capabilities for each principal.

Order is significant: if an operation is performed on a set of capabilities, the minimum is computed.

Definition at line 62 of file nsIPrincipal.idl.

Definition at line 65 of file nsIPrincipal.idl.

Definition at line 63 of file nsIPrincipal.idl.

Definition at line 64 of file nsIPrincipal.idl.

readonly attribute AUTF8String nsIPrincipal::fingerprint

The fingerprint ID of this principal's certificate.

Throws if there is no certificate associated with this principal.

Definition at line 157 of file nsIPrincipal.idl.

Whether this principal is associated with a certificate.

Definition at line 149 of file nsIPrincipal.idl.

Returns a hash value for the principal.

Definition at line 90 of file nsIPrincipal.idl.

The origin of this principal's codebase URI.

An origin is defined as: scheme + host + port. (or the full URI for hostless schemes)

Definition at line 144 of file nsIPrincipal.idl.

readonly attribute AUTF8String nsIPrincipal::prettyName

The pretty name for the certificate.

This sort of (but not really) identifies the subject of the certificate (the entity that stands behind the certificate). Note that this may be empty; prefer to get the certificate itself and get this information from it, since that may provide more information.

Throws if there is no certificate associated with this principal.

Definition at line 168 of file nsIPrincipal.idl.

The domain security policy of the principal.

Definition at line 111 of file nsIPrincipal.idl.

readonly attribute AUTF8String nsIPrincipal::subjectName

The subject name for the certificate.

This actually identifies the subject of the certificate. This may well not be a string that would mean much to a typical user on its own (e.g. it may have a number of different names all concatenated together with some information on what they mean in between).

Throws if there is no certificate associated with this principal.

Definition at line 199 of file nsIPrincipal.idl.

The codebase URI to which this principal pertains.

This is generally the document URI.

Definition at line 127 of file nsIPrincipal.idl.


The documentation for this interface was generated from the following file: