SecretDecoderRing.h (1036B)
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- 2 * 3 * This Source Code Form is subject to the terms of the Mozilla Public 4 * License, v. 2.0. If a copy of the MPL was not distributed with this 5 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 6 7 #ifndef SecretDecoderRing_h 8 #define SecretDecoderRing_h 9 10 #include "nsISecretDecoderRing.h" 11 #include "pkcs11t.h" 12 13 #define NS_SECRETDECODERRING_CONTRACTID "@mozilla.org/security/sdr;1" 14 15 #define NS_SECRETDECODERRING_CID \ 16 {0x0c4f1ddc, 0x1dd2, 0x11b2, {0x9d, 0x95, 0xf2, 0xfd, 0xf1, 0x13, 0x04, 0x4b}} 17 18 class SecretDecoderRing : public nsISecretDecoderRing { 19 public: 20 NS_DECL_THREADSAFE_ISUPPORTS 21 NS_DECL_NSISECRETDECODERRING 22 23 SecretDecoderRing() = default; 24 25 protected: 26 virtual ~SecretDecoderRing() = default; 27 28 private: 29 nsresult Encrypt(CK_MECHANISM_TYPE type, const nsACString& data, 30 /*out*/ nsACString& result); 31 nsresult Decrypt(const nsACString& data, /*out*/ nsACString& result); 32 }; 33 34 #endif // SecretDecoderRing_h