LCOV - code coverage report
Current view: top level - xpcom/base - nsErrorService.cpp (source / functions) Hit Total Coverage
Test: output.info Lines: 13 18 72.2 %
Date: 2017-07-14 16:53:18 Functions: 6 7 85.7 %
Legend: Lines: hit not hit

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

Generated by: LCOV version 1.13