diff -r 000000000000 -r 6474c204b198 security/manager/ssl/src/nsVerificationJob.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/security/manager/ssl/src/nsVerificationJob.h Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,69 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- + * + * 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 _INC_NSVERIFICATIONJOB_H +#define _INC_NSVERIFICATIONJOB_H + +#include "nspr.h" + +#include "nsIX509Cert.h" +#include "nsIX509Cert3.h" +#include "nsICMSMessage.h" +#include "nsICMSMessage2.h" +#include "nsProxyRelease.h" + +class nsBaseVerificationJob +{ +public: + virtual ~nsBaseVerificationJob() {} + virtual void Run() = 0; +}; + +class nsCertVerificationJob : public nsBaseVerificationJob +{ +public: + nsCOMPtr mCert; + nsMainThreadPtrHandle mListener; + + void Run(); +}; + +class nsCertVerificationResult : public nsICertVerificationResult +{ +public: + nsCertVerificationResult(); + virtual ~nsCertVerificationResult(); + + NS_DECL_THREADSAFE_ISUPPORTS + NS_DECL_NSICERTVERIFICATIONRESULT + +private: + nsresult mRV; + uint32_t mVerified; + uint32_t mCount; + char16_t **mUsages; + +friend class nsCertVerificationJob; +}; + +class nsSMimeVerificationJob : public nsBaseVerificationJob +{ +public: + nsSMimeVerificationJob() { digest_data = nullptr; digest_len = 0; } + ~nsSMimeVerificationJob() { delete [] digest_data; } + + nsCOMPtr mMessage; + nsCOMPtr mListener; + + unsigned char *digest_data; + uint32_t digest_len; + + void Run(); +}; + + + +#endif