sbErrorConsole.h
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* vim: set sw=2 :miv */
3 /*
4  *=BEGIN SONGBIRD GPL
5  *
6  * This file is part of the Songbird web player.
7  *
8  * Copyright(c) 2005-2010 POTI, Inc.
9  * http://www.songbirdnest.com
10  *
11  * This file may be licensed under the terms of of the
12  * GNU General Public License Version 2 (the ``GPL'').
13  *
14  * Software distributed under the License is distributed
15  * on an ``AS IS'' basis, WITHOUT WARRANTY OF ANY KIND, either
16  * express or implied. See the GPL for the specific language
17  * governing rights and limitations.
18  *
19  * You should have received a copy of the GPL along with this
20  * program. If not, go to http://www.gnu.org/licenses/gpl.html
21  * or write to the Free Software Foundation, Inc.,
22  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
23  *
24  *=END SONGBIRD GPL
25  */
26 
27 #ifndef SBERRORCONSOLE_H_
28 #define SBERRORCONSOLE_H_
29 
30 #include <nsStringAPI.h>
31 
32 // Mozilla interfaces
33 #include <nsIScriptError.h>
34 
35 // Mozilla includes
36 #include <nsComponentManagerUtils.h>
37 
38 // Songbird includes
39 #include <sbThreadUtils.h>
40 
48 {
49 public:
54  struct ErrorParams
55  {
56  ErrorParams(PRUint32 aFlags,
57  nsAString const & aSource,
58  PRUint32 aLine,
59  nsAString const & aMessage,
60  nsACString const & aCategory) : mFlags(aFlags),
61  mSource(aSource),
62  mLine(aLine),
63  mMessage(aMessage),
64  mCategory(aCategory) {}
65  PRUint32 mFlags;
66  nsString mSource;
67  PRUint32 mLine;
68  nsString mMessage;
69  nsCString mCategory;
70  };
71  static void Error(char const * aCategory,
72  nsAString const & aMessage,
73  nsAString const & aSource = nsString(),
74  PRUint32 aLine = 0);
75  static void Warning(char const * aCategory,
76  nsAString const & aMessage,
77  nsAString const & aSource = nsString(),
78  PRUint32 aLine = 0);
79  static void Message(char const * aFmt, ...);
80 private:
81  enum { infoMessageFlag = ~0UL };
82  nsresult Log(nsACString const & aCategory,
83  PRUint32 aFlags,
84  nsAString const & aMessage,
85  nsAString const & aSource,
86  PRUint32 aLine);
87  nsresult LogThread(ErrorParams aParameters);
88 };
89 
90 #endif
ErrorParams(PRUint32 aFlags, nsAString const &aSource, PRUint32 aLine, nsAString const &aMessage, nsACString const &aCategory)
static void Warning(char const *aCategory, nsAString const &aMessage, nsAString const &aSource=nsString(), PRUint32 aLine=0)
static void Error(char const *aCategory, nsAString const &aMessage, nsAString const &aSource=nsString(), PRUint32 aLine=0)
Songbird Thread Utilities Definitions.
static void Message(char const *aFmt,...)