summaryrefslogtreecommitdiffstats
path: root/security/manager/ssl/nsRandomGenerator.h
blob: 197f2d7477a2f1e4f77eb6f3245aa093b45b015b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
/* 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 nsRandomGenerator_h
#define nsRandomGenerator_h

#include "mozilla/Attributes.h"
#include "nsIRandomGenerator.h"
#include "nsNSSShutDown.h"

#define NS_RANDOMGENERATOR_CID \
  {0xbe65e2b7, 0xfe46, 0x4e0f, {0x88, 0xe0, 0x4b, 0x38, 0x5d, 0xb4, 0xd6, 0x8a}}

#define NS_RANDOMGENERATOR_CONTRACTID \
  "@mozilla.org/security/random-generator;1"

class nsRandomGenerator final : public nsIRandomGenerator
                              , public nsNSSShutDownObject
{
public:
  NS_DECL_THREADSAFE_ISUPPORTS
  NS_DECL_NSIRANDOMGENERATOR

private:
  ~nsRandomGenerator();
  virtual void virtualDestroyNSSReference() override {}
};

#endif // nsRandomGenerator_h