PageRenderTime 42ms CodeModel.GetById 16ms RepoModel.GetById 0ms app.codeStats 0ms

/gecko_api/include/nsIComponentRegistrar.h

http://firefox-mac-pdf.googlecode.com/
C Header | 376 lines | 139 code | 51 blank | 186 comment | 0 complexity | e04f8af6431313b939a04c5561a267a5 MD5 | raw file
  1. /*
  2. * DO NOT EDIT. THIS FILE IS GENERATED FROM /builds/tinderbox/XR-Trunk/Darwin_8.8.4_Depend/mozilla/xpcom/components/nsIComponentRegistrar.idl
  3. */
  4. #ifndef __gen_nsIComponentRegistrar_h__
  5. #define __gen_nsIComponentRegistrar_h__
  6. #ifndef __gen_nsISupports_h__
  7. #include "nsISupports.h"
  8. #endif
  9. /* For IDL files that don't want to include root IDL files. */
  10. #ifndef NS_NO_VTABLE
  11. #define NS_NO_VTABLE
  12. #endif
  13. class nsIFile; /* forward declaration */
  14. class nsIFactory; /* forward declaration */
  15. class nsISimpleEnumerator; /* forward declaration */
  16. /* starting interface: nsIComponentRegistrar */
  17. #define NS_ICOMPONENTREGISTRAR_IID_STR "2417cbfe-65ad-48a6-b4b6-eb84db174392"
  18. #define NS_ICOMPONENTREGISTRAR_IID \
  19. {0x2417cbfe, 0x65ad, 0x48a6, \
  20. { 0xb4, 0xb6, 0xeb, 0x84, 0xdb, 0x17, 0x43, 0x92 }}
  21. class NS_NO_VTABLE NS_SCRIPTABLE nsIComponentRegistrar : public nsISupports {
  22. public:
  23. NS_DECLARE_STATIC_IID_ACCESSOR(NS_ICOMPONENTREGISTRAR_IID)
  24. /**
  25. * autoRegister
  26. *
  27. * Register a component file or all component files in a directory.
  28. *
  29. * Component files must have an associated loader and export the required
  30. * symbols which this loader defines. For example, if the given file is a
  31. * native library (which is built into XPCOM), it must export the symbol
  32. * "NSGetModule". Other loaders may have different semantics.
  33. *
  34. * This method may only be called from the main thread.
  35. *
  36. * @param aSpec : Filename spec for component file's location. If aSpec
  37. * is a directory, then every component file in the
  38. * directory will be registered.
  39. * If aSpec is null, static components, GRE components,
  40. * and the application's component directories will be
  41. * registered. See NS_GRE_DIR, NS_XPCOM_COMPONENT_DIR,
  42. * and NS_XPCOM_COMPONENT_DIR_LIST in
  43. * nsDirectoryServiceDefs.h.
  44. */
  45. /* void autoRegister (in nsIFile aSpec); */
  46. NS_SCRIPTABLE NS_IMETHOD AutoRegister(nsIFile *aSpec) = 0;
  47. /**
  48. * autoUnregister
  49. *
  50. * Unregister a component file or all component files in a directory.
  51. * This method may only be called from the main thread.
  52. *
  53. * @param aSpec : Filename spec for component file's location. If aSpec
  54. * is a directory, the every component file in the directory
  55. * will be registered.
  56. * If aSpec is null, then the application component's
  57. * directory as defined by NS_XPCOM_COMPONENT_DIR will be
  58. * registered. (see nsIDirectoryService.idl)
  59. *
  60. * @return NS_OK Unregistration was successful.
  61. * NS_ERROR* Method failure.
  62. */
  63. /* void autoUnregister (in nsIFile aSpec); */
  64. NS_SCRIPTABLE NS_IMETHOD AutoUnregister(nsIFile *aSpec) = 0;
  65. /**
  66. * registerFactory
  67. *
  68. * Register a factory with a given ContractID, CID and Class Name.
  69. *
  70. * @param aClass : CID of object
  71. * @param aClassName : Class Name of CID
  72. * @param aContractID : ContractID associated with CID aClass
  73. * @param aFactory : Factory that will be registered for CID aClass
  74. *
  75. * @return NS_OK Registration was successful.
  76. * NS_ERROR* method failure.
  77. */
  78. /* void registerFactory (in nsCIDRef aClass, in string aClassName, in string aContractID, in nsIFactory aFactory); */
  79. NS_SCRIPTABLE NS_IMETHOD RegisterFactory(const nsCID & aClass, const char *aClassName, const char *aContractID, nsIFactory *aFactory) = 0;
  80. /**
  81. * unregisterFactory
  82. *
  83. * Unregister a factory associated with CID aClass.
  84. *
  85. * @param aClass : CID being unregistered
  86. * @param aFactory : Factory previously registered to create instances of
  87. * CID aClass.
  88. *
  89. * @return NS_OK Unregistration was successful.
  90. * NS_ERROR* Method failure.
  91. */
  92. /* void unregisterFactory (in nsCIDRef aClass, in nsIFactory aFactory); */
  93. NS_SCRIPTABLE NS_IMETHOD UnregisterFactory(const nsCID & aClass, nsIFactory *aFactory) = 0;
  94. /**
  95. * registerFactoryLocation
  96. *
  97. * Register a factory with a given ContractID, CID and Class Name
  98. *
  99. * @param aClass : CID of object
  100. * @param aClassName : Class Name of CID
  101. * @param aContractID : ContractID associated with CID aClass
  102. * @param aFile : Component File. This file must have an associated
  103. * loader and export the required symbols which this
  104. * loader specifies.
  105. * @param aLoaderStr : Opaque loader specific string. This value is
  106. * passed into the nsIModule's registerSelf
  107. * callback and must be fowarded unmodified when
  108. * registering factories via their location.
  109. * @param aType : Component Type of CID aClass. This value is
  110. * passed into the nsIModule's registerSelf
  111. * callback and must be fowarded unmodified when
  112. * registering factories via their location.
  113. *
  114. * @return NS_OK Registration was successful.
  115. * NS_ERROR* Method failure.
  116. */
  117. /* void registerFactoryLocation (in nsCIDRef aClass, in string aClassName, in string aContractID, in nsIFile aFile, in string aLoaderStr, in string aType); */
  118. NS_SCRIPTABLE NS_IMETHOD RegisterFactoryLocation(const nsCID & aClass, const char *aClassName, const char *aContractID, nsIFile *aFile, const char *aLoaderStr, const char *aType) = 0;
  119. /**
  120. * unregisterFactoryLocation
  121. *
  122. * Unregister a factory associated with CID aClass.
  123. *
  124. * @param aClass : CID being unregistered
  125. * @param aFile : Component File previously registered
  126. *
  127. * @return NS_OK Unregistration was successful.
  128. * NS_ERROR* Method failure.
  129. */
  130. /* void unregisterFactoryLocation (in nsCIDRef aClass, in nsIFile aFile); */
  131. NS_SCRIPTABLE NS_IMETHOD UnregisterFactoryLocation(const nsCID & aClass, nsIFile *aFile) = 0;
  132. /**
  133. * isCIDRegistered
  134. *
  135. * Returns true if a factory is registered for the CID.
  136. *
  137. * @param aClass : CID queried for registeration
  138. * @return : true if a factory is registered for CID
  139. * false otherwise.
  140. */
  141. /* boolean isCIDRegistered (in nsCIDRef aClass); */
  142. NS_SCRIPTABLE NS_IMETHOD IsCIDRegistered(const nsCID & aClass, PRBool *_retval) = 0;
  143. /**
  144. * isContractIDRegistered
  145. *
  146. * Returns true if a factory is registered for the contract id.
  147. *
  148. * @param aClass : contract id queried for registeration
  149. * @return : true if a factory is registered for contract id
  150. * false otherwise.
  151. */
  152. /* boolean isContractIDRegistered (in string aContractID); */
  153. NS_SCRIPTABLE NS_IMETHOD IsContractIDRegistered(const char *aContractID, PRBool *_retval) = 0;
  154. /**
  155. * enumerateCIDs
  156. *
  157. * Enumerate the list of all registered CIDs.
  158. *
  159. * @return : enumerator for CIDs. Elements of the enumeration can be QI'ed
  160. * for the nsISupportsID interface. From the nsISupportsID, you
  161. * can obtain the actual CID.
  162. */
  163. /* nsISimpleEnumerator enumerateCIDs (); */
  164. NS_SCRIPTABLE NS_IMETHOD EnumerateCIDs(nsISimpleEnumerator **_retval) = 0;
  165. /**
  166. * enumerateContractIDs
  167. *
  168. * Enumerate the list of all registered ContractIDs.
  169. *
  170. * @return : enumerator for ContractIDs. Elements of the enumeration can be
  171. * QI'ed for the nsISupportsCString interface. From the
  172. * nsISupportsCString interface, you can obtain the actual
  173. * Contract ID string.
  174. */
  175. /* nsISimpleEnumerator enumerateContractIDs (); */
  176. NS_SCRIPTABLE NS_IMETHOD EnumerateContractIDs(nsISimpleEnumerator **_retval) = 0;
  177. /**
  178. * CIDToContractID
  179. *
  180. * Returns the Contract ID for a given CID, if one exists and is registered.
  181. *
  182. * @return : Contract ID.
  183. */
  184. /* string CIDToContractID (in nsCIDRef aClass); */
  185. NS_SCRIPTABLE NS_IMETHOD CIDToContractID(const nsCID & aClass, char **_retval) = 0;
  186. /**
  187. * contractIDToCID
  188. *
  189. * Returns the CID for a given Contract ID, if one exists and is registered.
  190. *
  191. * @return : Contract ID.
  192. */
  193. /* nsCIDPtr contractIDToCID (in string aContractID); */
  194. NS_SCRIPTABLE NS_IMETHOD ContractIDToCID(const char *aContractID, nsCID * *_retval) = 0;
  195. };
  196. NS_DEFINE_STATIC_IID_ACCESSOR(nsIComponentRegistrar, NS_ICOMPONENTREGISTRAR_IID)
  197. /* Use this macro when declaring classes that implement this interface. */
  198. #define NS_DECL_NSICOMPONENTREGISTRAR \
  199. NS_SCRIPTABLE NS_IMETHOD AutoRegister(nsIFile *aSpec); \
  200. NS_SCRIPTABLE NS_IMETHOD AutoUnregister(nsIFile *aSpec); \
  201. NS_SCRIPTABLE NS_IMETHOD RegisterFactory(const nsCID & aClass, const char *aClassName, const char *aContractID, nsIFactory *aFactory); \
  202. NS_SCRIPTABLE NS_IMETHOD UnregisterFactory(const nsCID & aClass, nsIFactory *aFactory); \
  203. NS_SCRIPTABLE NS_IMETHOD RegisterFactoryLocation(const nsCID & aClass, const char *aClassName, const char *aContractID, nsIFile *aFile, const char *aLoaderStr, const char *aType); \
  204. NS_SCRIPTABLE NS_IMETHOD UnregisterFactoryLocation(const nsCID & aClass, nsIFile *aFile); \
  205. NS_SCRIPTABLE NS_IMETHOD IsCIDRegistered(const nsCID & aClass, PRBool *_retval); \
  206. NS_SCRIPTABLE NS_IMETHOD IsContractIDRegistered(const char *aContractID, PRBool *_retval); \
  207. NS_SCRIPTABLE NS_IMETHOD EnumerateCIDs(nsISimpleEnumerator **_retval); \
  208. NS_SCRIPTABLE NS_IMETHOD EnumerateContractIDs(nsISimpleEnumerator **_retval); \
  209. NS_SCRIPTABLE NS_IMETHOD CIDToContractID(const nsCID & aClass, char **_retval); \
  210. NS_SCRIPTABLE NS_IMETHOD ContractIDToCID(const char *aContractID, nsCID * *_retval);
  211. /* Use this macro to declare functions that forward the behavior of this interface to another object. */
  212. #define NS_FORWARD_NSICOMPONENTREGISTRAR(_to) \
  213. NS_SCRIPTABLE NS_IMETHOD AutoRegister(nsIFile *aSpec) { return _to AutoRegister(aSpec); } \
  214. NS_SCRIPTABLE NS_IMETHOD AutoUnregister(nsIFile *aSpec) { return _to AutoUnregister(aSpec); } \
  215. NS_SCRIPTABLE NS_IMETHOD RegisterFactory(const nsCID & aClass, const char *aClassName, const char *aContractID, nsIFactory *aFactory) { return _to RegisterFactory(aClass, aClassName, aContractID, aFactory); } \
  216. NS_SCRIPTABLE NS_IMETHOD UnregisterFactory(const nsCID & aClass, nsIFactory *aFactory) { return _to UnregisterFactory(aClass, aFactory); } \
  217. NS_SCRIPTABLE NS_IMETHOD RegisterFactoryLocation(const nsCID & aClass, const char *aClassName, const char *aContractID, nsIFile *aFile, const char *aLoaderStr, const char *aType) { return _to RegisterFactoryLocation(aClass, aClassName, aContractID, aFile, aLoaderStr, aType); } \
  218. NS_SCRIPTABLE NS_IMETHOD UnregisterFactoryLocation(const nsCID & aClass, nsIFile *aFile) { return _to UnregisterFactoryLocation(aClass, aFile); } \
  219. NS_SCRIPTABLE NS_IMETHOD IsCIDRegistered(const nsCID & aClass, PRBool *_retval) { return _to IsCIDRegistered(aClass, _retval); } \
  220. NS_SCRIPTABLE NS_IMETHOD IsContractIDRegistered(const char *aContractID, PRBool *_retval) { return _to IsContractIDRegistered(aContractID, _retval); } \
  221. NS_SCRIPTABLE NS_IMETHOD EnumerateCIDs(nsISimpleEnumerator **_retval) { return _to EnumerateCIDs(_retval); } \
  222. NS_SCRIPTABLE NS_IMETHOD EnumerateContractIDs(nsISimpleEnumerator **_retval) { return _to EnumerateContractIDs(_retval); } \
  223. NS_SCRIPTABLE NS_IMETHOD CIDToContractID(const nsCID & aClass, char **_retval) { return _to CIDToContractID(aClass, _retval); } \
  224. NS_SCRIPTABLE NS_IMETHOD ContractIDToCID(const char *aContractID, nsCID * *_retval) { return _to ContractIDToCID(aContractID, _retval); }
  225. /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
  226. #define NS_FORWARD_SAFE_NSICOMPONENTREGISTRAR(_to) \
  227. NS_SCRIPTABLE NS_IMETHOD AutoRegister(nsIFile *aSpec) { return !_to ? NS_ERROR_NULL_POINTER : _to->AutoRegister(aSpec); } \
  228. NS_SCRIPTABLE NS_IMETHOD AutoUnregister(nsIFile *aSpec) { return !_to ? NS_ERROR_NULL_POINTER : _to->AutoUnregister(aSpec); } \
  229. NS_SCRIPTABLE 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); } \
  230. NS_SCRIPTABLE NS_IMETHOD UnregisterFactory(const nsCID & aClass, nsIFactory *aFactory) { return !_to ? NS_ERROR_NULL_POINTER : _to->UnregisterFactory(aClass, aFactory); } \
  231. NS_SCRIPTABLE NS_IMETHOD RegisterFactoryLocation(const nsCID & aClass, const char *aClassName, const char *aContractID, nsIFile *aFile, const char *aLoaderStr, const char *aType) { return !_to ? NS_ERROR_NULL_POINTER : _to->RegisterFactoryLocation(aClass, aClassName, aContractID, aFile, aLoaderStr, aType); } \
  232. NS_SCRIPTABLE NS_IMETHOD UnregisterFactoryLocation(const nsCID & aClass, nsIFile *aFile) { return !_to ? NS_ERROR_NULL_POINTER : _to->UnregisterFactoryLocation(aClass, aFile); } \
  233. NS_SCRIPTABLE NS_IMETHOD IsCIDRegistered(const nsCID & aClass, PRBool *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->IsCIDRegistered(aClass, _retval); } \
  234. NS_SCRIPTABLE NS_IMETHOD IsContractIDRegistered(const char *aContractID, PRBool *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->IsContractIDRegistered(aContractID, _retval); } \
  235. NS_SCRIPTABLE NS_IMETHOD EnumerateCIDs(nsISimpleEnumerator **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->EnumerateCIDs(_retval); } \
  236. NS_SCRIPTABLE NS_IMETHOD EnumerateContractIDs(nsISimpleEnumerator **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->EnumerateContractIDs(_retval); } \
  237. NS_SCRIPTABLE NS_IMETHOD CIDToContractID(const nsCID & aClass, char **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->CIDToContractID(aClass, _retval); } \
  238. NS_SCRIPTABLE NS_IMETHOD ContractIDToCID(const char *aContractID, nsCID * *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->ContractIDToCID(aContractID, _retval); }
  239. #if 0
  240. /* Use the code below as a template for the implementation class for this interface. */
  241. /* Header file */
  242. class nsComponentRegistrar : public nsIComponentRegistrar
  243. {
  244. public:
  245. NS_DECL_ISUPPORTS
  246. NS_DECL_NSICOMPONENTREGISTRAR
  247. nsComponentRegistrar();
  248. private:
  249. ~nsComponentRegistrar();
  250. protected:
  251. /* additional members */
  252. };
  253. /* Implementation file */
  254. NS_IMPL_ISUPPORTS1(nsComponentRegistrar, nsIComponentRegistrar)
  255. nsComponentRegistrar::nsComponentRegistrar()
  256. {
  257. /* member initializers and constructor code */
  258. }
  259. nsComponentRegistrar::~nsComponentRegistrar()
  260. {
  261. /* destructor code */
  262. }
  263. /* void autoRegister (in nsIFile aSpec); */
  264. NS_IMETHODIMP nsComponentRegistrar::AutoRegister(nsIFile *aSpec)
  265. {
  266. return NS_ERROR_NOT_IMPLEMENTED;
  267. }
  268. /* void autoUnregister (in nsIFile aSpec); */
  269. NS_IMETHODIMP nsComponentRegistrar::AutoUnregister(nsIFile *aSpec)
  270. {
  271. return NS_ERROR_NOT_IMPLEMENTED;
  272. }
  273. /* void registerFactory (in nsCIDRef aClass, in string aClassName, in string aContractID, in nsIFactory aFactory); */
  274. NS_IMETHODIMP nsComponentRegistrar::RegisterFactory(const nsCID & aClass, const char *aClassName, const char *aContractID, nsIFactory *aFactory)
  275. {
  276. return NS_ERROR_NOT_IMPLEMENTED;
  277. }
  278. /* void unregisterFactory (in nsCIDRef aClass, in nsIFactory aFactory); */
  279. NS_IMETHODIMP nsComponentRegistrar::UnregisterFactory(const nsCID & aClass, nsIFactory *aFactory)
  280. {
  281. return NS_ERROR_NOT_IMPLEMENTED;
  282. }
  283. /* void registerFactoryLocation (in nsCIDRef aClass, in string aClassName, in string aContractID, in nsIFile aFile, in string aLoaderStr, in string aType); */
  284. NS_IMETHODIMP nsComponentRegistrar::RegisterFactoryLocation(const nsCID & aClass, const char *aClassName, const char *aContractID, nsIFile *aFile, const char *aLoaderStr, const char *aType)
  285. {
  286. return NS_ERROR_NOT_IMPLEMENTED;
  287. }
  288. /* void unregisterFactoryLocation (in nsCIDRef aClass, in nsIFile aFile); */
  289. NS_IMETHODIMP nsComponentRegistrar::UnregisterFactoryLocation(const nsCID & aClass, nsIFile *aFile)
  290. {
  291. return NS_ERROR_NOT_IMPLEMENTED;
  292. }
  293. /* boolean isCIDRegistered (in nsCIDRef aClass); */
  294. NS_IMETHODIMP nsComponentRegistrar::IsCIDRegistered(const nsCID & aClass, PRBool *_retval)
  295. {
  296. return NS_ERROR_NOT_IMPLEMENTED;
  297. }
  298. /* boolean isContractIDRegistered (in string aContractID); */
  299. NS_IMETHODIMP nsComponentRegistrar::IsContractIDRegistered(const char *aContractID, PRBool *_retval)
  300. {
  301. return NS_ERROR_NOT_IMPLEMENTED;
  302. }
  303. /* nsISimpleEnumerator enumerateCIDs (); */
  304. NS_IMETHODIMP nsComponentRegistrar::EnumerateCIDs(nsISimpleEnumerator **_retval)
  305. {
  306. return NS_ERROR_NOT_IMPLEMENTED;
  307. }
  308. /* nsISimpleEnumerator enumerateContractIDs (); */
  309. NS_IMETHODIMP nsComponentRegistrar::EnumerateContractIDs(nsISimpleEnumerator **_retval)
  310. {
  311. return NS_ERROR_NOT_IMPLEMENTED;
  312. }
  313. /* string CIDToContractID (in nsCIDRef aClass); */
  314. NS_IMETHODIMP nsComponentRegistrar::CIDToContractID(const nsCID & aClass, char **_retval)
  315. {
  316. return NS_ERROR_NOT_IMPLEMENTED;
  317. }
  318. /* nsCIDPtr contractIDToCID (in string aContractID); */
  319. NS_IMETHODIMP nsComponentRegistrar::ContractIDToCID(const char *aContractID, nsCID * *_retval)
  320. {
  321. return NS_ERROR_NOT_IMPLEMENTED;
  322. }
  323. /* End of implementation class template. */
  324. #endif
  325. #endif /* __gen_nsIComponentRegistrar_h__ */