Coverage Report

Created: 2018-09-25 14:53

/src/mozilla-central/xpcom/base/nsErrorService.cpp
Line
Count
Source (jump to first uncovered line)
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/. */
6
7
#include "nsErrorService.h"
8
#include "nsCRTGlue.h"
9
#include "nsAutoPtr.h"
10
11
NS_IMPL_ISUPPORTS(nsErrorService, nsIErrorService)
12
13
nsresult
14
nsErrorService::Create(nsISupports* aOuter, const nsIID& aIID,
15
                       void** aInstancePtr)
16
3
{
17
3
  if (NS_WARN_IF(aOuter)) {
18
0
    return NS_ERROR_NO_AGGREGATION;
19
0
  }
20
3
  RefPtr<nsErrorService> serv = new nsErrorService();
21
3
  return serv->QueryInterface(aIID, aInstancePtr);
22
3
}
23
24
NS_IMETHODIMP
25
nsErrorService::RegisterErrorStringBundle(int16_t aErrorModule,
26
                                          const char* aStringBundleURL)
27
6
{
28
6
  mErrorStringBundleURLMap.Put(aErrorModule, new nsCString(aStringBundleURL));
29
6
  return NS_OK;
30
6
}
31
32
NS_IMETHODIMP
33
nsErrorService::UnregisterErrorStringBundle(int16_t aErrorModule)
34
0
{
35
0
  mErrorStringBundleURLMap.Remove(aErrorModule);
36
0
  return NS_OK;
37
0
}
38
39
NS_IMETHODIMP
40
nsErrorService::GetErrorStringBundle(int16_t aErrorModule, char** aResult)
41
0
{
42
0
  nsCString* bundleURL = mErrorStringBundleURLMap.Get(aErrorModule);
43
0
  if (!bundleURL) {
44
0
    return NS_ERROR_FAILURE;
45
0
  }
46
0
  *aResult = ToNewCString(*bundleURL);
47
0
  return NS_OK;
48
0
}
49
50
////////////////////////////////////////////////////////////////////////////////