Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(173)

Side by Side Diff: gecko-sdk/include/nsIClassInfo.h

Issue 20346: Version 1.8 of gecko-sdk. Downloaded from here:... (Closed) Base URL: svn://chrome-svn/chrome/trunk/deps/third_party/
Patch Set: Created 11 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « gecko-sdk/include/nsIChannel.h ('k') | gecko-sdk/include/nsIClipboardCommands.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Property Changes:
Added: svn:eol-style
+ LF
OLDNEW
(Empty)
1 /*
2 * DO NOT EDIT. THIS FILE IS GENERATED FROM c:/builds/tinderbox/XR-Mozilla1.8.0 -Release/WINNT_5.2_Depend/mozilla/xpcom/components/nsIClassInfo.idl
3 */
4
5 #ifndef __gen_nsIClassInfo_h__
6 #define __gen_nsIClassInfo_h__
7
8
9 #ifndef __gen_nsISupports_h__
10 #include "nsISupports.h"
11 #endif
12
13 #ifndef __gen_nsIProgrammingLanguage_h__
14 #include "nsIProgrammingLanguage.h"
15 #endif
16
17 /* For IDL files that don't want to include root IDL files. */
18 #ifndef NS_NO_VTABLE
19 #define NS_NO_VTABLE
20 #endif
21
22 /* starting interface: nsIClassInfo */
23 #define NS_ICLASSINFO_IID_STR "986c11d0-f340-11d4-9075-0010a4e73d9a"
24
25 #define NS_ICLASSINFO_IID \
26 {0x986c11d0, 0xf340, 0x11d4, \
27 { 0x90, 0x75, 0x00, 0x10, 0xa4, 0xe7, 0x3d, 0x9a }}
28
29 /**
30 * Provides information about a specific implementation class
31 * @status FROZEN
32 */
33 class NS_NO_VTABLE nsIClassInfo : public nsISupports {
34 public:
35
36 NS_DEFINE_STATIC_IID_ACCESSOR(NS_ICLASSINFO_IID)
37
38 /**
39 * Get an ordered list of the interface ids that instances of the class
40 * promise to implement. Note that nsISupports is an implicit member
41 * of any such list and need not be included.
42 *
43 * Should set *count = 0 and *array = null and return NS_OK if getting the
44 * list is not supported.
45 */
46 /* void getInterfaces (out PRUint32 count, [array, size_is (count), retval] ou t nsIIDPtr array); */
47 NS_IMETHOD GetInterfaces(PRUint32 *count, nsIID * **array) = 0;
48
49 /**
50 * Get a language mapping specific helper object that may assist in using
51 * objects of this class in a specific lanaguage. For instance, if asked
52 * for the helper for nsIProgrammingLanguage::JAVASCRIPT this might return
53 * an object that can be QI'd into the nsIXPCScriptable interface to assist
54 * XPConnect in supplying JavaScript specific behavior to callers of the
55 * instance object.
56 *
57 * see: nsIProgrammingLanguage.idl
58 *
59 * Should return null if no helper available for given language.
60 */
61 /* nsISupports getHelperForLanguage (in PRUint32 language); */
62 NS_IMETHOD GetHelperForLanguage(PRUint32 language, nsISupports **_retval) = 0;
63
64 /**
65 * A contract ID through which an instance of this class can be created
66 * (or accessed as a service, if |flags & SINGLETON|), or null.
67 */
68 /* readonly attribute string contractID; */
69 NS_IMETHOD GetContractID(char * *aContractID) = 0;
70
71 /**
72 * A human readable string naming the class, or null.
73 */
74 /* readonly attribute string classDescription; */
75 NS_IMETHOD GetClassDescription(char * *aClassDescription) = 0;
76
77 /**
78 * A class ID through which an instance of this class can be created
79 * (or accessed as a service, if |flags & SINGLETON|), or null.
80 */
81 /* readonly attribute nsCIDPtr classID; */
82 NS_IMETHOD GetClassID(nsCID * *aClassID) = 0;
83
84 /**
85 * Return language type from list in nsIProgrammingLanguage
86 */
87 /* readonly attribute PRUint32 implementationLanguage; */
88 NS_IMETHOD GetImplementationLanguage(PRUint32 *aImplementationLanguage) = 0;
89
90 /**
91 * Bitflags for 'flags' attribute.
92 */
93 enum { SINGLETON = 1U };
94
95 enum { THREADSAFE = 2U };
96
97 enum { MAIN_THREAD_ONLY = 4U };
98
99 enum { DOM_OBJECT = 8U };
100
101 enum { PLUGIN_OBJECT = 16U };
102
103 enum { EAGER_CLASSINFO = 32U };
104
105 /**
106 * 'flags' attribute bitflag: whether objects of this type implement
107 * nsIContent.
108 */
109 enum { CONTENT_NODE = 64U };
110
111 enum { RESERVED = 2147483648U };
112
113 /* readonly attribute PRUint32 flags; */
114 NS_IMETHOD GetFlags(PRUint32 *aFlags) = 0;
115
116 /**
117 * Also a class ID through which an instance of this class can be created
118 * (or accessed as a service, if |flags & SINGLETON|). If the class does
119 * not have a CID, it should return NS_ERROR_NOT_AVAILABLE. This attribute
120 * exists so C++ callers can avoid allocating and freeing a CID, as would
121 * happen if they used classID.
122 */
123 /* [notxpcom] readonly attribute nsCID classIDNoAlloc; */
124 NS_IMETHOD GetClassIDNoAlloc(nsCID *aClassIDNoAlloc) = 0;
125
126 };
127
128 /* Use this macro when declaring classes that implement this interface. */
129 #define NS_DECL_NSICLASSINFO \
130 NS_IMETHOD GetInterfaces(PRUint32 *count, nsIID * **array); \
131 NS_IMETHOD GetHelperForLanguage(PRUint32 language, nsISupports **_retval); \
132 NS_IMETHOD GetContractID(char * *aContractID); \
133 NS_IMETHOD GetClassDescription(char * *aClassDescription); \
134 NS_IMETHOD GetClassID(nsCID * *aClassID); \
135 NS_IMETHOD GetImplementationLanguage(PRUint32 *aImplementationLanguage); \
136 NS_IMETHOD GetFlags(PRUint32 *aFlags); \
137 NS_IMETHOD GetClassIDNoAlloc(nsCID *aClassIDNoAlloc);
138
139 /* Use this macro to declare functions that forward the behavior of this interfa ce to another object. */
140 #define NS_FORWARD_NSICLASSINFO(_to) \
141 NS_IMETHOD GetInterfaces(PRUint32 *count, nsIID * **array) { return _to GetInt erfaces(count, array); } \
142 NS_IMETHOD GetHelperForLanguage(PRUint32 language, nsISupports **_retval) { re turn _to GetHelperForLanguage(language, _retval); } \
143 NS_IMETHOD GetContractID(char * *aContractID) { return _to GetContractID(aCont ractID); } \
144 NS_IMETHOD GetClassDescription(char * *aClassDescription) { return _to GetClas sDescription(aClassDescription); } \
145 NS_IMETHOD GetClassID(nsCID * *aClassID) { return _to GetClassID(aClassID); } \
146 NS_IMETHOD GetImplementationLanguage(PRUint32 *aImplementationLanguage) { retu rn _to GetImplementationLanguage(aImplementationLanguage); } \
147 NS_IMETHOD GetFlags(PRUint32 *aFlags) { return _to GetFlags(aFlags); } \
148 NS_IMETHOD GetClassIDNoAlloc(nsCID *aClassIDNoAlloc) { return _to GetClassIDNo Alloc(aClassIDNoAlloc); }
149
150 /* Use this macro to declare functions that forward the behavior of this interfa ce to another object in a safe way. */
151 #define NS_FORWARD_SAFE_NSICLASSINFO(_to) \
152 NS_IMETHOD GetInterfaces(PRUint32 *count, nsIID * **array) { return !_to ? NS_ ERROR_NULL_POINTER : _to->GetInterfaces(count, array); } \
153 NS_IMETHOD GetHelperForLanguage(PRUint32 language, nsISupports **_retval) { re turn !_to ? NS_ERROR_NULL_POINTER : _to->GetHelperForLanguage(language, _retval) ; } \
154 NS_IMETHOD GetContractID(char * *aContractID) { return !_to ? NS_ERROR_NULL_PO INTER : _to->GetContractID(aContractID); } \
155 NS_IMETHOD GetClassDescription(char * *aClassDescription) { return !_to ? NS_E RROR_NULL_POINTER : _to->GetClassDescription(aClassDescription); } \
156 NS_IMETHOD GetClassID(nsCID * *aClassID) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetClassID(aClassID); } \
157 NS_IMETHOD GetImplementationLanguage(PRUint32 *aImplementationLanguage) { retu rn !_to ? NS_ERROR_NULL_POINTER : _to->GetImplementationLanguage(aImplementation Language); } \
158 NS_IMETHOD GetFlags(PRUint32 *aFlags) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetFlags(aFlags); } \
159 NS_IMETHOD GetClassIDNoAlloc(nsCID *aClassIDNoAlloc) { return !_to ? NS_ERROR_ NULL_POINTER : _to->GetClassIDNoAlloc(aClassIDNoAlloc); }
160
161 #if 0
162 /* Use the code below as a template for the implementation class for this interf ace. */
163
164 /* Header file */
165 class nsClassInfo : public nsIClassInfo
166 {
167 public:
168 NS_DECL_ISUPPORTS
169 NS_DECL_NSICLASSINFO
170
171 nsClassInfo();
172
173 private:
174 ~nsClassInfo();
175
176 protected:
177 /* additional members */
178 };
179
180 /* Implementation file */
181 NS_IMPL_ISUPPORTS1(nsClassInfo, nsIClassInfo)
182
183 nsClassInfo::nsClassInfo()
184 {
185 /* member initializers and constructor code */
186 }
187
188 nsClassInfo::~nsClassInfo()
189 {
190 /* destructor code */
191 }
192
193 /* void getInterfaces (out PRUint32 count, [array, size_is (count), retval] out nsIIDPtr array); */
194 NS_IMETHODIMP nsClassInfo::GetInterfaces(PRUint32 *count, nsIID * **array)
195 {
196 return NS_ERROR_NOT_IMPLEMENTED;
197 }
198
199 /* nsISupports getHelperForLanguage (in PRUint32 language); */
200 NS_IMETHODIMP nsClassInfo::GetHelperForLanguage(PRUint32 language, nsISupports * *_retval)
201 {
202 return NS_ERROR_NOT_IMPLEMENTED;
203 }
204
205 /* readonly attribute string contractID; */
206 NS_IMETHODIMP nsClassInfo::GetContractID(char * *aContractID)
207 {
208 return NS_ERROR_NOT_IMPLEMENTED;
209 }
210
211 /* readonly attribute string classDescription; */
212 NS_IMETHODIMP nsClassInfo::GetClassDescription(char * *aClassDescription)
213 {
214 return NS_ERROR_NOT_IMPLEMENTED;
215 }
216
217 /* readonly attribute nsCIDPtr classID; */
218 NS_IMETHODIMP nsClassInfo::GetClassID(nsCID * *aClassID)
219 {
220 return NS_ERROR_NOT_IMPLEMENTED;
221 }
222
223 /* readonly attribute PRUint32 implementationLanguage; */
224 NS_IMETHODIMP nsClassInfo::GetImplementationLanguage(PRUint32 *aImplementationLa nguage)
225 {
226 return NS_ERROR_NOT_IMPLEMENTED;
227 }
228
229 /* readonly attribute PRUint32 flags; */
230 NS_IMETHODIMP nsClassInfo::GetFlags(PRUint32 *aFlags)
231 {
232 return NS_ERROR_NOT_IMPLEMENTED;
233 }
234
235 /* [notxpcom] readonly attribute nsCID classIDNoAlloc; */
236 NS_IMETHODIMP nsClassInfo::GetClassIDNoAlloc(nsCID *aClassIDNoAlloc)
237 {
238 return NS_ERROR_NOT_IMPLEMENTED;
239 }
240
241 /* End of implementation class template. */
242 #endif
243
244
245 #endif /* __gen_nsIClassInfo_h__ */
OLDNEW
« no previous file with comments | « gecko-sdk/include/nsIChannel.h ('k') | gecko-sdk/include/nsIClipboardCommands.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698