diff -r 000000000000 -r 6474c204b198 security/manager/ssl/src/nsUsageArrayHelper.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/security/manager/ssl/src/nsUsageArrayHelper.h Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,44 @@ +/* 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/. */ + +#ifndef _NSUSAGEARRAYHELPER_H_ +#define _NSUSAGEARRAYHELPER_H_ + +#include "CertVerifier.h" +#include "nsNSSComponent.h" +#include "certt.h" + +class nsUsageArrayHelper +{ +public: + nsUsageArrayHelper(CERTCertificate *aCert); + + nsresult GetUsagesArray(const char *suffix, + bool localOnly, + uint32_t outArraySize, + uint32_t *_verified, + uint32_t *_count, + char16_t **tmpUsages); + + enum { max_returned_out_array_size = 12 }; + +private: + CERTCertificate *mCert; + nsresult m_rv; + CERTCertDBHandle *defaultcertdb; + nsCOMPtr nssComponent; + + uint32_t check(uint32_t previousCheckResult, + const char *suffix, + mozilla::psm::CertVerifier * certVerifier, + SECCertificateUsage aCertUsage, + PRTime time, + mozilla::psm::CertVerifier::Flags flags, + uint32_t &aCounter, + char16_t **outUsages); + + void verifyFailed(uint32_t *_verified, int err); +}; + +#endif