1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* vim: set ts=8 sts=2 et sw=2 tw=80: */
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/. */
7 #include "CrashReporterClient.h"
8 #include "nsISupportsImpl.h"
13 StaticMutex
CrashReporterClient::sLock
;
14 StaticRefPtr
<CrashReporterClient
> CrashReporterClient::sClientSingleton
;
16 CrashReporterClient::CrashReporterClient() {
17 MOZ_COUNT_CTOR(CrashReporterClient
);
20 CrashReporterClient::~CrashReporterClient() {
21 MOZ_COUNT_DTOR(CrashReporterClient
);
25 void CrashReporterClient::InitSingleton() {
27 StaticMutexAutoLock
lock(sLock
);
29 MOZ_ASSERT(!sClientSingleton
);
30 sClientSingleton
= new CrashReporterClient();
35 void CrashReporterClient::DestroySingleton() {
36 StaticMutexAutoLock
lock(sLock
);
37 sClientSingleton
= nullptr;
41 RefPtr
<CrashReporterClient
> CrashReporterClient::GetSingleton() {
42 StaticMutexAutoLock
lock(sLock
);
43 return sClientSingleton
;
47 } // namespace mozilla