aboutsummaryrefslogtreecommitdiff
path: root/Src/nprt_plugin/gecko/1.8/win/include/nsIDebug.h
blob: 01a093dd3bab0c96241993867b10e4fe4093ed38 (plain) (blame)
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
/*
 * DO NOT EDIT.  THIS FILE IS GENERATED FROM c:/mozilla/xpcom/base/nsIDebug.idl
 */

#ifndef __gen_nsIDebug_h__
#define __gen_nsIDebug_h__


#ifndef __gen_nsISupports_h__
#include "nsISupports.h"
#endif

/* For IDL files that don't want to include root IDL files. */
#ifndef NS_NO_VTABLE
#define NS_NO_VTABLE
#endif

/* starting interface:    nsIDebug */
#define NS_IDEBUG_IID_STR "3bf0c3d7-3bd9-4cf2-a971-33572c503e1e"

#define NS_IDEBUG_IID \
  {0x3bf0c3d7, 0x3bd9, 0x4cf2, \
    { 0xa9, 0x71, 0x33, 0x57, 0x2c, 0x50, 0x3e, 0x1e }}

/**
 * nsIDebug is an interface between XPCOM Glue and XPCOM.  Users should access
 * the nsIDebug interface through the static class nsDebug.
 * @see nsDebug.h
 *    
 * @status UNDER_REVIEW
 *
 */
class NS_NO_VTABLE nsIDebug : public nsISupports {
 public: 

  NS_DEFINE_STATIC_IID_ACCESSOR(NS_IDEBUG_IID)

  /* void assertion (in string aStr, in string aExpr, in string aFile, in long aLine); */
  NS_IMETHOD Assertion(const char *aStr, const char *aExpr, const char *aFile, PRInt32 aLine) = 0;

  /* void warning (in string aStr, in string aFile, in long aLine); */
  NS_IMETHOD Warning(const char *aStr, const char *aFile, PRInt32 aLine) = 0;

  /* void break (in string aFile, in long aLine); */
  NS_IMETHOD Break(const char *aFile, PRInt32 aLine) = 0;

  /* void abort (in string aFile, in long aLine); */
  NS_IMETHOD Abort(const char *aFile, PRInt32 aLine) = 0;

};

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSIDEBUG \
  NS_IMETHOD Assertion(const char *aStr, const char *aExpr, const char *aFile, PRInt32 aLine); \
  NS_IMETHOD Warning(const char *aStr, const char *aFile, PRInt32 aLine); \
  NS_IMETHOD Break(const char *aFile, PRInt32 aLine); \
  NS_IMETHOD Abort(const char *aFile, PRInt32 aLine); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSIDEBUG(_to) \
  NS_IMETHOD Assertion(const char *aStr, const char *aExpr, const char *aFile, PRInt32 aLine) { return _to Assertion(aStr, aExpr, aFile, aLine); } \
  NS_IMETHOD Warning(const char *aStr, const char *aFile, PRInt32 aLine) { return _to Warning(aStr, aFile, aLine); } \
  NS_IMETHOD Break(const char *aFile, PRInt32 aLine) { return _to Break(aFile, aLine); } \
  NS_IMETHOD Abort(const char *aFile, PRInt32 aLine) { return _to Abort(aFile, aLine); } 

/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_NSIDEBUG(_to) \
  NS_IMETHOD Assertion(const char *aStr, const char *aExpr, const char *aFile, PRInt32 aLine) { return !_to ? NS_ERROR_NULL_POINTER : _to->Assertion(aStr, aExpr, aFile, aLine); } \
  NS_IMETHOD Warning(const char *aStr, const char *aFile, PRInt32 aLine) { return !_to ? NS_ERROR_NULL_POINTER : _to->Warning(aStr, aFile, aLine); } \
  NS_IMETHOD Break(const char *aFile, PRInt32 aLine) { return !_to ? NS_ERROR_NULL_POINTER : _to->Break(aFile, aLine); } \
  NS_IMETHOD Abort(const char *aFile, PRInt32 aLine) { return !_to ? NS_ERROR_NULL_POINTER : _to->Abort(aFile, aLine); } 

#if 0
/* Use the code below as a template for the implementation class for this interface. */

/* Header file */
class nsDebug : public nsIDebug
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_NSIDEBUG

  nsDebug();

private:
  ~nsDebug();

protected:
  /* additional members */
};

/* Implementation file */
NS_IMPL_ISUPPORTS1(nsDebug, nsIDebug)

nsDebug::nsDebug()
{
  /* member initializers and constructor code */
}

nsDebug::~nsDebug()
{
  /* destructor code */
}

/* void assertion (in string aStr, in string aExpr, in string aFile, in long aLine); */
NS_IMETHODIMP nsDebug::Assertion(const char *aStr, const char *aExpr, const char *aFile, PRInt32 aLine)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void warning (in string aStr, in string aFile, in long aLine); */
NS_IMETHODIMP nsDebug::Warning(const char *aStr, const char *aFile, PRInt32 aLine)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void break (in string aFile, in long aLine); */
NS_IMETHODIMP nsDebug::Break(const char *aFile, PRInt32 aLine)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void abort (in string aFile, in long aLine); */
NS_IMETHODIMP nsDebug::Abort(const char *aFile, PRInt32 aLine)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* End of implementation class template. */
#endif


#endif /* __gen_nsIDebug_h__ */