/* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ #include "nsISupports.idl" interface nsISimpleEnumerator; interface nsIX509Cert; %{C++ typedef struct CERTCertListStr CERTCertList; %} [ptr] native CERTCertListPtr(CERTCertList); [scriptable, uuid(ae74cda5-cd2f-473f-96f5-f0b7fff62c68)] interface nsIX509CertList : nsISupports { void addCert(in nsIX509Cert cert); void deleteCert(in nsIX509Cert cert); nsISimpleEnumerator getEnumerator(); /** * Returns the raw, backing cert list. * Must be called only from functions where an nsNSSShutDownPreventionLock * has been acquired. */ [notxpcom, noscript] CERTCertListPtr getRawCertList(); /** * Test whether two certificate list instances represent the same * certificate list. * * @return Whether the certificate lists are equal */ boolean equals(in nsIX509CertList other); }; %{C++ #define NS_X509CERTLIST_CID { /* 959fb165-6517-487f-ab9b-d8913be53197 */ \ 0x959fb165, \ 0x6517, \ 0x487f, \ {0xab, 0x9b, 0xd8, 0x91, 0x3b, 0xe5, 0x31, 0x97} \ } #define NS_X509CERTLIST_CONTRACTID "@mozilla.org/security/x509certlist;1" %}