1 : /*
2 : * DO NOT EDIT. THIS FILE IS GENERATED FROM /builds/slave/m-beta-lnx-codecoverage/build/xpcom/io/nsIInputStreamTee.idl
3 : */
4 :
5 : #ifndef __gen_nsIInputStreamTee_h__
6 : #define __gen_nsIInputStreamTee_h__
7 :
8 :
9 : #ifndef __gen_nsIInputStream_h__
10 : #include "nsIInputStream.h"
11 : #endif
12 :
13 : /* For IDL files that don't want to include root IDL files. */
14 : #ifndef NS_NO_VTABLE
15 : #define NS_NO_VTABLE
16 : #endif
17 : class nsIOutputStream; /* forward declaration */
18 :
19 : class nsIEventTarget; /* forward declaration */
20 :
21 :
22 : /* starting interface: nsIInputStreamTee */
23 : #define NS_IINPUTSTREAMTEE_IID_STR "90a9d790-3bca-421e-a73b-98f68e13c917"
24 :
25 : #define NS_IINPUTSTREAMTEE_IID \
26 : {0x90a9d790, 0x3bca, 0x421e, \
27 : { 0xa7, 0x3b, 0x98, 0xf6, 0x8e, 0x13, 0xc9, 0x17 }}
28 :
29 1301 : class NS_NO_VTABLE NS_SCRIPTABLE nsIInputStreamTee : public nsIInputStream {
30 : public:
31 :
32 : NS_DECLARE_STATIC_IID_ACCESSOR(NS_IINPUTSTREAMTEE_IID)
33 :
34 : /* attribute nsIInputStream source; */
35 : NS_SCRIPTABLE NS_IMETHOD GetSource(nsIInputStream * *aSource) = 0;
36 : NS_SCRIPTABLE NS_IMETHOD SetSource(nsIInputStream *aSource) = 0;
37 :
38 : /* attribute nsIOutputStream sink; */
39 : NS_SCRIPTABLE NS_IMETHOD GetSink(nsIOutputStream * *aSink) = 0;
40 : NS_SCRIPTABLE NS_IMETHOD SetSink(nsIOutputStream *aSink) = 0;
41 :
42 : /* attribute nsIEventTarget eventTarget; */
43 : NS_SCRIPTABLE NS_IMETHOD GetEventTarget(nsIEventTarget * *aEventTarget) = 0;
44 : NS_SCRIPTABLE NS_IMETHOD SetEventTarget(nsIEventTarget *aEventTarget) = 0;
45 :
46 : };
47 :
48 : NS_DEFINE_STATIC_IID_ACCESSOR(nsIInputStreamTee, NS_IINPUTSTREAMTEE_IID)
49 :
50 : /* Use this macro when declaring classes that implement this interface. */
51 : #define NS_DECL_NSIINPUTSTREAMTEE \
52 : NS_SCRIPTABLE NS_IMETHOD GetSource(nsIInputStream * *aSource); \
53 : NS_SCRIPTABLE NS_IMETHOD SetSource(nsIInputStream *aSource); \
54 : NS_SCRIPTABLE NS_IMETHOD GetSink(nsIOutputStream * *aSink); \
55 : NS_SCRIPTABLE NS_IMETHOD SetSink(nsIOutputStream *aSink); \
56 : NS_SCRIPTABLE NS_IMETHOD GetEventTarget(nsIEventTarget * *aEventTarget); \
57 : NS_SCRIPTABLE NS_IMETHOD SetEventTarget(nsIEventTarget *aEventTarget);
58 :
59 : /* Use this macro to declare functions that forward the behavior of this interface to another object. */
60 : #define NS_FORWARD_NSIINPUTSTREAMTEE(_to) \
61 : NS_SCRIPTABLE NS_IMETHOD GetSource(nsIInputStream * *aSource) { return _to GetSource(aSource); } \
62 : NS_SCRIPTABLE NS_IMETHOD SetSource(nsIInputStream *aSource) { return _to SetSource(aSource); } \
63 : NS_SCRIPTABLE NS_IMETHOD GetSink(nsIOutputStream * *aSink) { return _to GetSink(aSink); } \
64 : NS_SCRIPTABLE NS_IMETHOD SetSink(nsIOutputStream *aSink) { return _to SetSink(aSink); } \
65 : NS_SCRIPTABLE NS_IMETHOD GetEventTarget(nsIEventTarget * *aEventTarget) { return _to GetEventTarget(aEventTarget); } \
66 : NS_SCRIPTABLE NS_IMETHOD SetEventTarget(nsIEventTarget *aEventTarget) { return _to SetEventTarget(aEventTarget); }
67 :
68 : /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
69 : #define NS_FORWARD_SAFE_NSIINPUTSTREAMTEE(_to) \
70 : NS_SCRIPTABLE NS_IMETHOD GetSource(nsIInputStream * *aSource) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetSource(aSource); } \
71 : NS_SCRIPTABLE NS_IMETHOD SetSource(nsIInputStream *aSource) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetSource(aSource); } \
72 : NS_SCRIPTABLE NS_IMETHOD GetSink(nsIOutputStream * *aSink) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetSink(aSink); } \
73 : NS_SCRIPTABLE NS_IMETHOD SetSink(nsIOutputStream *aSink) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetSink(aSink); } \
74 : NS_SCRIPTABLE NS_IMETHOD GetEventTarget(nsIEventTarget * *aEventTarget) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetEventTarget(aEventTarget); } \
75 : NS_SCRIPTABLE NS_IMETHOD SetEventTarget(nsIEventTarget *aEventTarget) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetEventTarget(aEventTarget); }
76 :
77 : #if 0
78 : /* Use the code below as a template for the implementation class for this interface. */
79 :
80 : /* Header file */
81 : class nsInputStreamTee : public nsIInputStreamTee
82 : {
83 : public:
84 : NS_DECL_ISUPPORTS
85 : NS_DECL_NSIINPUTSTREAMTEE
86 :
87 : nsInputStreamTee();
88 :
89 : private:
90 : ~nsInputStreamTee();
91 :
92 : protected:
93 : /* additional members */
94 : };
95 :
96 : /* Implementation file */
97 : NS_IMPL_ISUPPORTS1(nsInputStreamTee, nsIInputStreamTee)
98 :
99 : nsInputStreamTee::nsInputStreamTee()
100 : {
101 : /* member initializers and constructor code */
102 : }
103 :
104 : nsInputStreamTee::~nsInputStreamTee()
105 : {
106 : /* destructor code */
107 : }
108 :
109 : /* attribute nsIInputStream source; */
110 : NS_IMETHODIMP nsInputStreamTee::GetSource(nsIInputStream * *aSource)
111 : {
112 : return NS_ERROR_NOT_IMPLEMENTED;
113 : }
114 : NS_IMETHODIMP nsInputStreamTee::SetSource(nsIInputStream *aSource)
115 : {
116 : return NS_ERROR_NOT_IMPLEMENTED;
117 : }
118 :
119 : /* attribute nsIOutputStream sink; */
120 : NS_IMETHODIMP nsInputStreamTee::GetSink(nsIOutputStream * *aSink)
121 : {
122 : return NS_ERROR_NOT_IMPLEMENTED;
123 : }
124 : NS_IMETHODIMP nsInputStreamTee::SetSink(nsIOutputStream *aSink)
125 : {
126 : return NS_ERROR_NOT_IMPLEMENTED;
127 : }
128 :
129 : /* attribute nsIEventTarget eventTarget; */
130 : NS_IMETHODIMP nsInputStreamTee::GetEventTarget(nsIEventTarget * *aEventTarget)
131 : {
132 : return NS_ERROR_NOT_IMPLEMENTED;
133 : }
134 : NS_IMETHODIMP nsInputStreamTee::SetEventTarget(nsIEventTarget *aEventTarget)
135 : {
136 : return NS_ERROR_NOT_IMPLEMENTED;
137 : }
138 :
139 : /* End of implementation class template. */
140 : #endif
141 :
142 : // factory methods
143 : extern nsresult
144 : NS_NewInputStreamTee(nsIInputStream **tee, // read from this input stream
145 : nsIInputStream *source,
146 : nsIOutputStream *sink);
147 :
148 : extern nsresult
149 : NS_NewInputStreamTeeAsync(nsIInputStream **tee, // read from this input stream
150 : nsIInputStream *source,
151 : nsIOutputStream *sink,
152 : nsIEventTarget *eventTarget);
153 :
154 : #endif /* __gen_nsIInputStreamTee_h__ */
|