gecko-dev/caps/idl/nsIPrincipalManager.idl
arielb%netscape.com 1b252b2e3b includes updates to codbase matching security checks currently turned off
but in place.  redefined the script security manager in caps and it is
now generating codebase principals.
1999-08-20 09:51:02 +00:00

50 lines
1.9 KiB
Plaintext

/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "NPL"); you may not use this file except in
* compliance with the NPL. You may obtain a copy of the NPL at
* http://www.mozilla.org/NPL/
*
* Software distributed under the NPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
* for the specific language governing rights and limitations under the
* NPL.
*
* The Initial Developer of this code under the NPL is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1999 Netscape Communications Corporation. All Rights
* Reserved.
*/
/*creates, registers, and performs logical operations on principals*/
#include "nsISupports.idl"
#include "nsIPrincipal.idl"
#include "nsITarget.idl"
#include "nsIPrincipalArray.idl"
interface nsIURI;
interface nsIScriptContext;
[uuid(dc7d0bb0-25e1-11d2-8160-006008119d7a)]
interface nsIPrincipalManager : nsISupports
{
void CreateCodebasePrincipal([const] in string codebaseURL, in nsIURI uri, out nsIPrincipal prin);
%{C++
NS_IMETHOD
CreateCertificatePrincipal(const unsigned char * * certChain, PRUint32 * certChainLengths, PRUint32 noOfCerts, nsIPrincipal * * prin) = 0;
%}
void RegisterPrincipal(in nsIPrincipal prin);
void UnregisterPrincipal(in nsIPrincipal prin, out boolean result);
void CanExtendTrust(in nsIPrincipalArray fromPrinArray, in nsIPrincipalArray toPrinArray, out boolean result);
void NewPrincipalArray(in unsigned long count, out nsIPrincipalArray result);
void CheckMatchPrincipal(in nsIScriptContext cx, in nsIPrincipal principal, in long callerDepth, out boolean result);
};
%{C++
#define NS_PRINCIPALMANAGER_PROGID "component://netscape/principalmanager"
#define NS_PRINCIPALMANAGER_CLASSNAME "principalmanager"
%}