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
134
135
136
137
138
139
140
141
142
143
144
145
146
147
|
/*
* DO NOT EDIT. THIS FILE IS GENERATED FROM c:/mozilla/xpcom/io/nsIScriptableInputStream.idl
*/
#ifndef __gen_nsIScriptableInputStream_h__
#define __gen_nsIScriptableInputStream_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
class nsIInputStream; /* forward declaration */
/* starting interface: nsIScriptableInputStream */
#define NS_ISCRIPTABLEINPUTSTREAM_IID_STR "a2a32f90-9b90-11d3-a189-0050041caf44"
#define NS_ISCRIPTABLEINPUTSTREAM_IID \
{0xa2a32f90, 0x9b90, 0x11d3, \
{ 0xa1, 0x89, 0x00, 0x50, 0x04, 0x1c, 0xaf, 0x44 }}
/**
* nsIScriptableInputStream provides scriptable access to the nsIInputStream.
*
* @status FROZEN
*/
class NS_NO_VTABLE nsIScriptableInputStream : public nsISupports {
public:
NS_DEFINE_STATIC_IID_ACCESSOR(NS_ISCRIPTABLEINPUTSTREAM_IID)
/**
* Closes the stream.
*/
/* void close (); */
NS_IMETHOD Close(void) = 0;
/** Wrap the given nsIInputStream with this nsIScriptableInputStream.
* @param aInputStream [in] parameter providing the stream to wrap
*/
/* void init (in nsIInputStream aInputStream); */
NS_IMETHOD Init(nsIInputStream *aInputStream) = 0;
/** Return the number of bytes currently available in the stream
* @param _retval [out] parameter to hold the number of bytes
* if an error occurs, the parameter will be undefined
* @return error status
*/
/* unsigned long available (); */
NS_IMETHOD Available(PRUint32 *_retval) = 0;
/** Read data from the stream.
* @param aCount [in] the maximum number of bytes to read
* @param _retval [out] the data
*/
/* string read (in unsigned long aCount); */
NS_IMETHOD Read(PRUint32 aCount, char **_retval) = 0;
};
/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSISCRIPTABLEINPUTSTREAM \
NS_IMETHOD Close(void); \
NS_IMETHOD Init(nsIInputStream *aInputStream); \
NS_IMETHOD Available(PRUint32 *_retval); \
NS_IMETHOD Read(PRUint32 aCount, char **_retval);
/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSISCRIPTABLEINPUTSTREAM(_to) \
NS_IMETHOD Close(void) { return _to Close(); } \
NS_IMETHOD Init(nsIInputStream *aInputStream) { return _to Init(aInputStream); } \
NS_IMETHOD Available(PRUint32 *_retval) { return _to Available(_retval); } \
NS_IMETHOD Read(PRUint32 aCount, char **_retval) { return _to Read(aCount, _retval); }
/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_NSISCRIPTABLEINPUTSTREAM(_to) \
NS_IMETHOD Close(void) { return !_to ? NS_ERROR_NULL_POINTER : _to->Close(); } \
NS_IMETHOD Init(nsIInputStream *aInputStream) { return !_to ? NS_ERROR_NULL_POINTER : _to->Init(aInputStream); } \
NS_IMETHOD Available(PRUint32 *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->Available(_retval); } \
NS_IMETHOD Read(PRUint32 aCount, char **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->Read(aCount, _retval); }
#if 0
/* Use the code below as a template for the implementation class for this interface. */
/* Header file */
class nsScriptableInputStream : public nsIScriptableInputStream
{
public:
NS_DECL_ISUPPORTS
NS_DECL_NSISCRIPTABLEINPUTSTREAM
nsScriptableInputStream();
private:
~nsScriptableInputStream();
protected:
/* additional members */
};
/* Implementation file */
NS_IMPL_ISUPPORTS1(nsScriptableInputStream, nsIScriptableInputStream)
nsScriptableInputStream::nsScriptableInputStream()
{
/* member initializers and constructor code */
}
nsScriptableInputStream::~nsScriptableInputStream()
{
/* destructor code */
}
/* void close (); */
NS_IMETHODIMP nsScriptableInputStream::Close()
{
return NS_ERROR_NOT_IMPLEMENTED;
}
/* void init (in nsIInputStream aInputStream); */
NS_IMETHODIMP nsScriptableInputStream::Init(nsIInputStream *aInputStream)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
/* unsigned long available (); */
NS_IMETHODIMP nsScriptableInputStream::Available(PRUint32 *_retval)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
/* string read (in unsigned long aCount); */
NS_IMETHODIMP nsScriptableInputStream::Read(PRUint32 aCount, char **_retval)
{
return NS_ERROR_NOT_IMPLEMENTED;
}
/* End of implementation class template. */
#endif
#endif /* __gen_nsIScriptableInputStream_h__ */
|