Index - All Packages - All Categories - All Classes

Class FeKeyMaster

A KeyMaster provides the authority, or "holds the keys", for a client`s activities on the BackEnd. A client can have any number of different KeyMasters, each with different authority. FeServer_login (if successful) gives you back a KeyMaster with the authority of a single Club (along with all the Clubs of which it is a member, directly or indirectly). This will give you appropriate authority to do anything permitted to that Club. You can incorporate the authority of other KeyMasters into it, so that it will additionally enable you to do anything the other KeyMasters would have enabled.

Package: Udanax-Gold
All Superclasses: Object Heaper
Protocols: Object
Categories: Xanadu-nkernel

Class Methods

assertAdminAuthority

Blast if the CurrentKeyMaster doesn't have Admin authority.

assertSignatureAuthority

Blast if the CurrentKeyMaster doesn't have signature authority for the CurrentAuthor.

assertSponsorship

If there is a currentSponsor, then the CurrentKeyMaster must have authority for it.

infostProtocol


make: clubID

Make a KeyMaster initially logged in to the given Club

make: loginAuthority with: actualAuthority


makeAll: clubIDs

Make a KeyMaster initially logged in to the given Clubs

makePublic

Make a KeyMaster logged in to the Universal Public Club.

Instance Methods

actualAuthority

Essential. The Clubs whose authority is actually being held right now. This may change asynchronously when you or others change the membership lists of clubs. It is my loginAuthority plus all clubs that list any of these clubs as members, transitively.

actualHashForEqual


authorityChanged

Notify all my dependents of a change in authority

copy

Essential. A different KeyMaster with the same login and actual authority as this one.

Overrides: Object

create: loginAuthority with: actualAuthority


hasAuthority: clubID

Whether this KeyMaster is currently holding the authority of the given Club. Equivalent to
this->actualAuthority ()->hasMember (clubID)

hasSignatureAuthority: club

Whether this KeyMaster has signature authority for the given Club

incorporate: other

Essential. Add the other KeyMaster's login and actual authorities to my own respective authorities.

isEqual: other


loginAuthority

Essential. The Clubs whose authority was obtained directly, by logging in to them. They are the ones from which all other authority is derived.

permissionsFilter

A filter for things which can be read by this KeyMaster

printOn: oo



Overrides: Object

registerWork: work

Notify the Work whenever my authority changes

removeAuthority: oldLogins


removeLogins: oldLogins

Essential. Remove the listed IDs from the set of Clubs whose login authority I exercise. All authority derived from them that cannot be derived from the remaining login authority will also disappear. Listed Clubs for which I do not hold login authority will be silently ignored.

unregisterWork: work

Notify the Work whenever my authority changes

updateAuthority

Recompute the actual authority of this KeyMaster based on the set of login Clubs


Index - All Packages - All Categories - All Classes