mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-07 18:04:46 +00:00
Bug 1773182 - Add NS_NewCryptoHash helper r=xpcom-reviewers,kmag,nika
Differential Revision: https://phabricator.services.mozilla.com/D148965
This commit is contained in:
parent
3ec010c2b1
commit
1a02416780
@ -175,3 +175,34 @@ nsCryptoHash::Finish(bool ascii, nsACString& _retval) {
|
||||
_retval.Assign(BitwiseCast<char*>(buffer), hashLen);
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
already_AddRefed<nsICryptoHash> NS_NewCryptoHash() {
|
||||
return MakeAndAddRef<nsCryptoHash>();
|
||||
}
|
||||
|
||||
nsresult NS_NewCryptoHash(uint32_t aHashType, nsICryptoHash** aOutHasher) {
|
||||
MOZ_ASSERT(aOutHasher);
|
||||
|
||||
nsCOMPtr<nsICryptoHash> hasher = new nsCryptoHash();
|
||||
nsresult rv = hasher->Init(aHashType);
|
||||
|
||||
if (NS_SUCCEEDED(rv)) {
|
||||
hasher.forget(aOutHasher);
|
||||
}
|
||||
|
||||
return rv;
|
||||
}
|
||||
|
||||
nsresult NS_NewCryptoHash(const nsACString& aHashType,
|
||||
nsICryptoHash** aOutHasher) {
|
||||
MOZ_ASSERT(aOutHasher);
|
||||
|
||||
nsCOMPtr<nsICryptoHash> hasher = new nsCryptoHash();
|
||||
nsresult rv = hasher->InitWithString(aHashType);
|
||||
|
||||
if (NS_SUCCEEDED(rv)) {
|
||||
hasher.forget(aOutHasher);
|
||||
}
|
||||
|
||||
return rv;
|
||||
}
|
||||
|
@ -5,6 +5,10 @@
|
||||
#include "nsISupports.idl"
|
||||
interface nsIInputStream;
|
||||
|
||||
%{C++
|
||||
#include "mozilla/AlreadyAddRefed.h"
|
||||
%}
|
||||
|
||||
/**
|
||||
* nsICryptoHash
|
||||
* This interface provides crytographic hashing algorithms.
|
||||
@ -101,3 +105,9 @@ interface nsICryptoHash : nsISupports
|
||||
*/
|
||||
ACString finish(in boolean aASCII);
|
||||
};
|
||||
|
||||
%{C++
|
||||
already_AddRefed<nsICryptoHash> NS_NewCryptoHash();
|
||||
nsresult NS_NewCryptoHash(uint32_t aHashType, nsICryptoHash** aOutHasher);
|
||||
nsresult NS_NewCryptoHash(const nsACString& aHashType, nsICryptoHash** aOutHasher);
|
||||
%}
|
||||
|
Loading…
Reference in New Issue
Block a user