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

Side by Side Diff: gecko-sdk/include/nsIComponentRegistrar.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/nsIComponentManager.h ('k') | gecko-sdk/include/nsIContextMenuListener.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/nsIComponentRegistrar.idl
3 */
4
5 #ifndef __gen_nsIComponentRegistrar_h__
6 #define __gen_nsIComponentRegistrar_h__
7
8
9 #ifndef __gen_nsISupports_h__
10 #include "nsISupports.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 nsIFile; /* forward declaration */
18
19 class nsIFactory; /* forward declaration */
20
21 class nsISimpleEnumerator; /* forward declaration */
22
23
24 /* starting interface: nsIComponentRegistrar */
25 #define NS_ICOMPONENTREGISTRAR_IID_STR "2417cbfe-65ad-48a6-b4b6-eb84db174392"
26
27 #define NS_ICOMPONENTREGISTRAR_IID \
28 {0x2417cbfe, 0x65ad, 0x48a6, \
29 { 0xb4, 0xb6, 0xeb, 0x84, 0xdb, 0x17, 0x43, 0x92 }}
30
31 class NS_NO_VTABLE nsIComponentRegistrar : public nsISupports {
32 public:
33
34 NS_DEFINE_STATIC_IID_ACCESSOR(NS_ICOMPONENTREGISTRAR_IID)
35
36 /**
37 * autoRegister
38 *
39 * Register a component file or all component files in a directory.
40 *
41 * Component files must have an associated loader and export the required
42 * symbols which this loader defines. For example, if the given file is a
43 * native library (which is built into XPCOM), it must export the symbol
44 * "NSGetModule". Other loaders may have different semantics.
45 *
46 * This method may only be called from the main thread.
47 *
48 * @param aSpec : Filename spec for component file's location. If aSpec
49 * is a directory, then every component file in the
50 * directory will be registered.
51 * If the aSpec is null, then the application component's
52 * directory as defined by NS_XPCOM_COMPONENT_DIR will be
53 * registered (see nsIDirectoryService.idl)
54 *
55 * @return NS_OK : Registration was successful.
56 * NS_ERROR: Method failure.
57 */
58 /* void autoRegister (in nsIFile aSpec); */
59 NS_IMETHOD AutoRegister(nsIFile *aSpec) = 0;
60
61 /**
62 * autoUnregister
63 *
64 * Unregister a component file or all component files in a directory.
65 * This method may only be called from the main thread.
66 *
67 * @param aSpec : Filename spec for component file's location. If aSpec
68 * is a directory, the every component file in the directo ry
69 * will be registered.
70 * If aSpec is null, then the application component's
71 * directory as defined by NS_XPCOM_COMPONENT_DIR will be
72 * registered. (see nsIDirectoryService.idl)
73 *
74 * @return NS_OK Unregistration was successful.
75 * NS_ERROR* Method failure.
76 */
77 /* void autoUnregister (in nsIFile aSpec); */
78 NS_IMETHOD AutoUnregister(nsIFile *aSpec) = 0;
79
80 /**
81 * registerFactory
82 *
83 * Register a factory with a given ContractID, CID and Class Name.
84 *
85 * @param aClass : CID of object
86 * @param aClassName : Class Name of CID
87 * @param aContractID : ContractID associated with CID aClass
88 * @param aFactory : Factory that will be registered for CID aClass
89 *
90 * @return NS_OK Registration was successful.
91 * NS_ERROR* method failure.
92 */
93 /* void registerFactory (in nsCIDRef aClass, in string aClassName, in string a ContractID, in nsIFactory aFactory); */
94 NS_IMETHOD RegisterFactory(const nsCID & aClass, const char *aClassName, const char *aContractID, nsIFactory *aFactory) = 0;
95
96 /**
97 * unregisterFactory
98 *
99 * Unregister a factory associated with CID aClass.
100 *
101 * @param aClass : CID being unregistered
102 * @param aFactory : Factory previously registered to create instances of
103 * CID aClass.
104 *
105 * @return NS_OK Unregistration was successful.
106 * NS_ERROR* Method failure.
107 */
108 /* void unregisterFactory (in nsCIDRef aClass, in nsIFactory aFactory); */
109 NS_IMETHOD UnregisterFactory(const nsCID & aClass, nsIFactory *aFactory) = 0;
110
111 /**
112 * registerFactoryLocation
113 *
114 * Register a factory with a given ContractID, CID and Class Name
115 *
116 * @param aClass : CID of object
117 * @param aClassName : Class Name of CID
118 * @param aContractID : ContractID associated with CID aClass
119 * @param aFile : Component File. This file must have an associated
120 * loader and export the required symbols which this
121 * loader specifies.
122 * @param aLoaderStr : Opaque loader specific string. This value is
123 * passed into the nsIModule's registerSelf
124 * callback and must be fowarded unmodified when
125 * registering factories via their location.
126 * @param aType : Component Type of CID aClass. This value is
127 * passed into the nsIModule's registerSelf
128 * callback and must be fowarded unmodified when
129 * registering factories via their location.
130 *
131 * @return NS_OK Registration was successful.
132 * NS_ERROR* Method failure.
133 */
134 /* void registerFactoryLocation (in nsCIDRef aClass, in string aClassName, in string aContractID, in nsIFile aFile, in string aLoaderStr, in string aType); */
135 NS_IMETHOD RegisterFactoryLocation(const nsCID & aClass, const char *aClassNam e, const char *aContractID, nsIFile *aFile, const char *aLoaderStr, const char * aType) = 0;
136
137 /**
138 * unregisterFactoryLocation
139 *
140 * Unregister a factory associated with CID aClass.
141 *
142 * @param aClass : CID being unregistered
143 * @param aFile : Component File previously registered
144 *
145 * @return NS_OK Unregistration was successful.
146 * NS_ERROR* Method failure.
147 */
148 /* void unregisterFactoryLocation (in nsCIDRef aClass, in nsIFile aFile); */
149 NS_IMETHOD UnregisterFactoryLocation(const nsCID & aClass, nsIFile *aFile) = 0 ;
150
151 /**
152 * isCIDRegistered
153 *
154 * Returns true if a factory is registered for the CID.
155 *
156 * @param aClass : CID queried for registeration
157 * @return : true if a factory is registered for CID
158 * false otherwise.
159 */
160 /* boolean isCIDRegistered (in nsCIDRef aClass); */
161 NS_IMETHOD IsCIDRegistered(const nsCID & aClass, PRBool *_retval) = 0;
162
163 /**
164 * isContractIDRegistered
165 *
166 * Returns true if a factory is registered for the contract id.
167 *
168 * @param aClass : contract id queried for registeration
169 * @return : true if a factory is registered for contract id
170 * false otherwise.
171 */
172 /* boolean isContractIDRegistered (in string aContractID); */
173 NS_IMETHOD IsContractIDRegistered(const char *aContractID, PRBool *_retval) = 0;
174
175 /**
176 * enumerateCIDs
177 *
178 * Enumerate the list of all registered CIDs.
179 *
180 * @return : enumerator for CIDs. Elements of the enumeration can be QI'ed
181 * for the nsISupportsID interface. From the nsISupportsID, you
182 * can obtain the actual CID.
183 */
184 /* nsISimpleEnumerator enumerateCIDs (); */
185 NS_IMETHOD EnumerateCIDs(nsISimpleEnumerator **_retval) = 0;
186
187 /**
188 * enumerateContractIDs
189 *
190 * Enumerate the list of all registered ContractIDs.
191 *
192 * @return : enumerator for ContractIDs. Elements of the enumeration can be
193 * QI'ed for the nsISupportsCString interface. From the
194 * nsISupportsCString interface, you can obtain the actual
195 * Contract ID string.
196 */
197 /* nsISimpleEnumerator enumerateContractIDs (); */
198 NS_IMETHOD EnumerateContractIDs(nsISimpleEnumerator **_retval) = 0;
199
200 /**
201 * CIDToContractID
202 *
203 * Returns the Contract ID for a given CID, if one exists and is registered.
204 *
205 * @return : Contract ID.
206 */
207 /* string CIDToContractID (in nsCIDRef aClass); */
208 NS_IMETHOD CIDToContractID(const nsCID & aClass, char **_retval) = 0;
209
210 /**
211 * contractIDToCID
212 *
213 * Returns the CID for a given Contract ID, if one exists and is registered.
214 *
215 * @return : Contract ID.
216 */
217 /* nsCIDPtr contractIDToCID (in string aContractID); */
218 NS_IMETHOD ContractIDToCID(const char *aContractID, nsCID * *_retval) = 0;
219
220 };
221
222 /* Use this macro when declaring classes that implement this interface. */
223 #define NS_DECL_NSICOMPONENTREGISTRAR \
224 NS_IMETHOD AutoRegister(nsIFile *aSpec); \
225 NS_IMETHOD AutoUnregister(nsIFile *aSpec); \
226 NS_IMETHOD RegisterFactory(const nsCID & aClass, const char *aClassName, const char *aContractID, nsIFactory *aFactory); \
227 NS_IMETHOD UnregisterFactory(const nsCID & aClass, nsIFactory *aFactory); \
228 NS_IMETHOD RegisterFactoryLocation(const nsCID & aClass, const char *aClassNam e, const char *aContractID, nsIFile *aFile, const char *aLoaderStr, const char * aType); \
229 NS_IMETHOD UnregisterFactoryLocation(const nsCID & aClass, nsIFile *aFile); \
230 NS_IMETHOD IsCIDRegistered(const nsCID & aClass, PRBool *_retval); \
231 NS_IMETHOD IsContractIDRegistered(const char *aContractID, PRBool *_retval); \
232 NS_IMETHOD EnumerateCIDs(nsISimpleEnumerator **_retval); \
233 NS_IMETHOD EnumerateContractIDs(nsISimpleEnumerator **_retval); \
234 NS_IMETHOD CIDToContractID(const nsCID & aClass, char **_retval); \
235 NS_IMETHOD ContractIDToCID(const char *aContractID, nsCID * *_retval);
236
237 /* Use this macro to declare functions that forward the behavior of this interfa ce to another object. */
238 #define NS_FORWARD_NSICOMPONENTREGISTRAR(_to) \
239 NS_IMETHOD AutoRegister(nsIFile *aSpec) { return _to AutoRegister(aSpec); } \
240 NS_IMETHOD AutoUnregister(nsIFile *aSpec) { return _to AutoUnregister(aSpec); } \
241 NS_IMETHOD RegisterFactory(const nsCID & aClass, const char *aClassName, const char *aContractID, nsIFactory *aFactory) { return _to RegisterFactory(aClass, a ClassName, aContractID, aFactory); } \
242 NS_IMETHOD UnregisterFactory(const nsCID & aClass, nsIFactory *aFactory) { ret urn _to UnregisterFactory(aClass, aFactory); } \
243 NS_IMETHOD RegisterFactoryLocation(const nsCID & aClass, const char *aClassNam e, const char *aContractID, nsIFile *aFile, const char *aLoaderStr, const char * aType) { return _to RegisterFactoryLocation(aClass, aClassName, aContractID, aFi le, aLoaderStr, aType); } \
244 NS_IMETHOD UnregisterFactoryLocation(const nsCID & aClass, nsIFile *aFile) { r eturn _to UnregisterFactoryLocation(aClass, aFile); } \
245 NS_IMETHOD IsCIDRegistered(const nsCID & aClass, PRBool *_retval) { return _to IsCIDRegistered(aClass, _retval); } \
246 NS_IMETHOD IsContractIDRegistered(const char *aContractID, PRBool *_retval) { return _to IsContractIDRegistered(aContractID, _retval); } \
247 NS_IMETHOD EnumerateCIDs(nsISimpleEnumerator **_retval) { return _to Enumerate CIDs(_retval); } \
248 NS_IMETHOD EnumerateContractIDs(nsISimpleEnumerator **_retval) { return _to En umerateContractIDs(_retval); } \
249 NS_IMETHOD CIDToContractID(const nsCID & aClass, char **_retval) { return _to CIDToContractID(aClass, _retval); } \
250 NS_IMETHOD ContractIDToCID(const char *aContractID, nsCID * *_retval) { return _to ContractIDToCID(aContractID, _retval); }
251
252 /* Use this macro to declare functions that forward the behavior of this interfa ce to another object in a safe way. */
253 #define NS_FORWARD_SAFE_NSICOMPONENTREGISTRAR(_to) \
254 NS_IMETHOD AutoRegister(nsIFile *aSpec) { return !_to ? NS_ERROR_NULL_POINTER : _to->AutoRegister(aSpec); } \
255 NS_IMETHOD AutoUnregister(nsIFile *aSpec) { return !_to ? NS_ERROR_NULL_POINTE R : _to->AutoUnregister(aSpec); } \
256 NS_IMETHOD RegisterFactory(const nsCID & aClass, const char *aClassName, const char *aContractID, nsIFactory *aFactory) { return !_to ? NS_ERROR_NULL_POINTER : _to->RegisterFactory(aClass, aClassName, aContractID, aFactory); } \
257 NS_IMETHOD UnregisterFactory(const nsCID & aClass, nsIFactory *aFactory) { ret urn !_to ? NS_ERROR_NULL_POINTER : _to->UnregisterFactory(aClass, aFactory); } \
258 NS_IMETHOD RegisterFactoryLocation(const nsCID & aClass, const char *aClassNam e, const char *aContractID, nsIFile *aFile, const char *aLoaderStr, const char * aType) { return !_to ? NS_ERROR_NULL_POINTER : _to->RegisterFactoryLocation(aCla ss, aClassName, aContractID, aFile, aLoaderStr, aType); } \
259 NS_IMETHOD UnregisterFactoryLocation(const nsCID & aClass, nsIFile *aFile) { r eturn !_to ? NS_ERROR_NULL_POINTER : _to->UnregisterFactoryLocation(aClass, aFil e); } \
260 NS_IMETHOD IsCIDRegistered(const nsCID & aClass, PRBool *_retval) { return !_t o ? NS_ERROR_NULL_POINTER : _to->IsCIDRegistered(aClass, _retval); } \
261 NS_IMETHOD IsContractIDRegistered(const char *aContractID, PRBool *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->IsContractIDRegistered(aContractID, _ retval); } \
262 NS_IMETHOD EnumerateCIDs(nsISimpleEnumerator **_retval) { return !_to ? NS_ERR OR_NULL_POINTER : _to->EnumerateCIDs(_retval); } \
263 NS_IMETHOD EnumerateContractIDs(nsISimpleEnumerator **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->EnumerateContractIDs(_retval); } \
264 NS_IMETHOD CIDToContractID(const nsCID & aClass, char **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->CIDToContractID(aClass, _retval); } \
265 NS_IMETHOD ContractIDToCID(const char *aContractID, nsCID * *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->ContractIDToCID(aContractID, _retval); }
266
267 #if 0
268 /* Use the code below as a template for the implementation class for this interf ace. */
269
270 /* Header file */
271 class nsComponentRegistrar : public nsIComponentRegistrar
272 {
273 public:
274 NS_DECL_ISUPPORTS
275 NS_DECL_NSICOMPONENTREGISTRAR
276
277 nsComponentRegistrar();
278
279 private:
280 ~nsComponentRegistrar();
281
282 protected:
283 /* additional members */
284 };
285
286 /* Implementation file */
287 NS_IMPL_ISUPPORTS1(nsComponentRegistrar, nsIComponentRegistrar)
288
289 nsComponentRegistrar::nsComponentRegistrar()
290 {
291 /* member initializers and constructor code */
292 }
293
294 nsComponentRegistrar::~nsComponentRegistrar()
295 {
296 /* destructor code */
297 }
298
299 /* void autoRegister (in nsIFile aSpec); */
300 NS_IMETHODIMP nsComponentRegistrar::AutoRegister(nsIFile *aSpec)
301 {
302 return NS_ERROR_NOT_IMPLEMENTED;
303 }
304
305 /* void autoUnregister (in nsIFile aSpec); */
306 NS_IMETHODIMP nsComponentRegistrar::AutoUnregister(nsIFile *aSpec)
307 {
308 return NS_ERROR_NOT_IMPLEMENTED;
309 }
310
311 /* void registerFactory (in nsCIDRef aClass, in string aClassName, in string aCo ntractID, in nsIFactory aFactory); */
312 NS_IMETHODIMP nsComponentRegistrar::RegisterFactory(const nsCID & aClass, const char *aClassName, const char *aContractID, nsIFactory *aFactory)
313 {
314 return NS_ERROR_NOT_IMPLEMENTED;
315 }
316
317 /* void unregisterFactory (in nsCIDRef aClass, in nsIFactory aFactory); */
318 NS_IMETHODIMP nsComponentRegistrar::UnregisterFactory(const nsCID & aClass, nsIF actory *aFactory)
319 {
320 return NS_ERROR_NOT_IMPLEMENTED;
321 }
322
323 /* void registerFactoryLocation (in nsCIDRef aClass, in string aClassName, in st ring aContractID, in nsIFile aFile, in string aLoaderStr, in string aType); */
324 NS_IMETHODIMP nsComponentRegistrar::RegisterFactoryLocation(const nsCID & aClass , const char *aClassName, const char *aContractID, nsIFile *aFile, const char *a LoaderStr, const char *aType)
325 {
326 return NS_ERROR_NOT_IMPLEMENTED;
327 }
328
329 /* void unregisterFactoryLocation (in nsCIDRef aClass, in nsIFile aFile); */
330 NS_IMETHODIMP nsComponentRegistrar::UnregisterFactoryLocation(const nsCID & aCla ss, nsIFile *aFile)
331 {
332 return NS_ERROR_NOT_IMPLEMENTED;
333 }
334
335 /* boolean isCIDRegistered (in nsCIDRef aClass); */
336 NS_IMETHODIMP nsComponentRegistrar::IsCIDRegistered(const nsCID & aClass, PRBool *_retval)
337 {
338 return NS_ERROR_NOT_IMPLEMENTED;
339 }
340
341 /* boolean isContractIDRegistered (in string aContractID); */
342 NS_IMETHODIMP nsComponentRegistrar::IsContractIDRegistered(const char *aContract ID, PRBool *_retval)
343 {
344 return NS_ERROR_NOT_IMPLEMENTED;
345 }
346
347 /* nsISimpleEnumerator enumerateCIDs (); */
348 NS_IMETHODIMP nsComponentRegistrar::EnumerateCIDs(nsISimpleEnumerator **_retval)
349 {
350 return NS_ERROR_NOT_IMPLEMENTED;
351 }
352
353 /* nsISimpleEnumerator enumerateContractIDs (); */
354 NS_IMETHODIMP nsComponentRegistrar::EnumerateContractIDs(nsISimpleEnumerator **_ retval)
355 {
356 return NS_ERROR_NOT_IMPLEMENTED;
357 }
358
359 /* string CIDToContractID (in nsCIDRef aClass); */
360 NS_IMETHODIMP nsComponentRegistrar::CIDToContractID(const nsCID & aClass, char * *_retval)
361 {
362 return NS_ERROR_NOT_IMPLEMENTED;
363 }
364
365 /* nsCIDPtr contractIDToCID (in string aContractID); */
366 NS_IMETHODIMP nsComponentRegistrar::ContractIDToCID(const char *aContractID, nsC ID * *_retval)
367 {
368 return NS_ERROR_NOT_IMPLEMENTED;
369 }
370
371 /* End of implementation class template. */
372 #endif
373
374
375 #endif /* __gen_nsIComponentRegistrar_h__ */
OLDNEW
« no previous file with comments | « gecko-sdk/include/nsIComponentManager.h ('k') | gecko-sdk/include/nsIContextMenuListener.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698