Linux Mac OSX Windows

  
[uuid(31431440-f1ce-11d2-985a-006008962422)]
interface nsIXPCSecurityManager : nsISupports

Constants

 These flags are used when calling nsIXPConnect::SetSecurityManager
const PRUint32 HOOK_CREATE_WRAPPER = 1

        
const PRUint32 HOOK_CREATE_INSTANCE = 2

        
const PRUint32 HOOK_GET_SERVICE = 4

        
const PRUint32 HOOK_CALL_METHOD = 8

        
const PRUint32 HOOK_GET_PROPERTY = 16

        
const PRUint32 HOOK_SET_PROPERTY = 32

        
const PRUint32 HOOK_ALL = 63

        
const PRUint32 ACCESS_CALL_METHOD = 0

        
const PRUint32 ACCESS_GET_PROPERTY = 1

        
const PRUint32 ACCESS_SET_PROPERTY = 2

Methods


        
void CanAccess(in PRUint32 aAction, in nsIXPCNativeCallContext aCallContext, in JSContextPtr aJSContext, in JSObjectPtr aJSObject, in nsISupports aObj, in nsIClassInfo aClassInfo, in JSVal aName, inout voidPtr aPolicy)

        
void CanCreateInstance(in JSContextPtr aJSContext, in nsCIDRef aCID)
 For each of these hooks returning NS_OK means 'let the action continue'.
 Returning an error code means 'veto the action'. XPConnect will return
 JS_FALSE to the js engine if the action is vetoed. The implementor of this
 interface is responsible for setting a JS exception into the JSContext
 if that is appropriate.
void CanCreateWrapper(in JSContextPtr aJSContext, in nsIIDRef aIID, in nsISupports aObj, in nsIClassInfo aClassInfo, inout voidPtr aPolicy)

        
void CanGetService(in JSContextPtr aJSContext, in nsCIDRef aCID)