Line data Source code
1 : /*
2 : * DO NOT EDIT. THIS FILE IS GENERATED FROM ../../../dist/idl/nsICloneableInputStream.idl
3 : */
4 :
5 : #ifndef __gen_nsICloneableInputStream_h__
6 : #define __gen_nsICloneableInputStream_h__
7 :
8 :
9 : #ifndef __gen_nsIInputStream_h__
10 : #include "nsIInputStream.h"
11 : #endif
12 :
13 : #include "mozilla/Assertions.h"
14 : #include "mozilla/DebugOnly.h"
15 :
16 : /* For IDL files that don't want to include root IDL files. */
17 : #ifndef NS_NO_VTABLE
18 : #define NS_NO_VTABLE
19 : #endif
20 :
21 : /* starting interface: nsICloneableInputStream */
22 : #define NS_ICLONEABLEINPUTSTREAM_IID_STR "8149be1f-44d3-4f14-8b65-a57a5fbbeb97"
23 :
24 : #define NS_ICLONEABLEINPUTSTREAM_IID \
25 : {0x8149be1f, 0x44d3, 0x4f14, \
26 : { 0x8b, 0x65, 0xa5, 0x7a, 0x5f, 0xbb, 0xeb, 0x97 }}
27 :
28 437 : class NS_NO_VTABLE nsICloneableInputStream : public nsISupports {
29 : public:
30 :
31 : NS_DECLARE_STATIC_IID_ACCESSOR(NS_ICLONEABLEINPUTSTREAM_IID)
32 :
33 : /* [infallible] readonly attribute boolean cloneable; */
34 : NS_IMETHOD GetCloneable(bool *aCloneable) = 0;
35 0 : inline bool GetCloneable()
36 : {
37 : bool result;
38 0 : mozilla::DebugOnly<nsresult> rv = GetCloneable(&result);
39 0 : MOZ_ASSERT(NS_SUCCEEDED(rv));
40 0 : return result;
41 : }
42 :
43 : /* nsIInputStream clone (); */
44 : NS_IMETHOD Clone(nsIInputStream * *_retval) = 0;
45 :
46 : };
47 :
48 : NS_DEFINE_STATIC_IID_ACCESSOR(nsICloneableInputStream, NS_ICLONEABLEINPUTSTREAM_IID)
49 :
50 : /* Use this macro when declaring classes that implement this interface. */
51 : #define NS_DECL_NSICLONEABLEINPUTSTREAM \
52 : using nsICloneableInputStream::GetCloneable; \
53 : NS_IMETHOD GetCloneable(bool *aCloneable) override; \
54 : NS_IMETHOD Clone(nsIInputStream * *_retval) override;
55 :
56 : /* Use this macro when declaring the members of this interface when the
57 : class doesn't implement the interface. This is useful for forwarding. */
58 : #define NS_DECL_NON_VIRTUAL_NSICLONEABLEINPUTSTREAM \
59 : using nsICloneableInputStream::GetCloneable; \
60 : nsresult GetCloneable(bool *aCloneable); \
61 : nsresult Clone(nsIInputStream * *_retval);
62 :
63 : /* Use this macro to declare functions that forward the behavior of this interface to another object. */
64 : #define NS_FORWARD_NSICLONEABLEINPUTSTREAM(_to) \
65 : using nsICloneableInputStream::GetCloneable; \
66 : NS_IMETHOD GetCloneable(bool *aCloneable) override { return _to GetCloneable(aCloneable); } \
67 : NS_IMETHOD Clone(nsIInputStream * *_retval) override { return _to Clone(_retval); }
68 :
69 : /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
70 : #define NS_FORWARD_SAFE_NSICLONEABLEINPUTSTREAM(_to) \
71 : NS_IMETHOD GetCloneable(bool *aCloneable) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetCloneable(aCloneable); } \
72 : NS_IMETHOD Clone(nsIInputStream * *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->Clone(_retval); }
73 :
74 : #if 0
75 : /* Use the code below as a template for the implementation class for this interface. */
76 :
77 : /* Header file */
78 : class nsCloneableInputStream : public nsICloneableInputStream
79 : {
80 : public:
81 : NS_DECL_ISUPPORTS
82 : NS_DECL_NSICLONEABLEINPUTSTREAM
83 :
84 : nsCloneableInputStream();
85 :
86 : private:
87 : ~nsCloneableInputStream();
88 :
89 : protected:
90 : /* additional members */
91 : };
92 :
93 : /* Implementation file */
94 : NS_IMPL_ISUPPORTS(nsCloneableInputStream, nsICloneableInputStream)
95 :
96 : nsCloneableInputStream::nsCloneableInputStream()
97 : {
98 : /* member initializers and constructor code */
99 : }
100 :
101 : nsCloneableInputStream::~nsCloneableInputStream()
102 : {
103 : /* destructor code */
104 : }
105 :
106 : /* [infallible] readonly attribute boolean cloneable; */
107 : NS_IMETHODIMP nsCloneableInputStream::GetCloneable(bool *aCloneable)
108 : {
109 : return NS_ERROR_NOT_IMPLEMENTED;
110 : }
111 :
112 : /* nsIInputStream clone (); */
113 : NS_IMETHODIMP nsCloneableInputStream::Clone(nsIInputStream * *_retval)
114 : {
115 : return NS_ERROR_NOT_IMPLEMENTED;
116 : }
117 :
118 : /* End of implementation class template. */
119 : #endif
120 :
121 :
122 : #endif /* __gen_nsICloneableInputStream_h__ */
|