PageRenderTime 275ms CodeModel.GetById 12ms RepoModel.GetById 0ms app.codeStats 0ms

/gecko_api/include/nsIComponentManager.h

http://firefox-mac-pdf.googlecode.com/
C Header | 167 lines | 76 code | 33 blank | 58 comment | 0 complexity | 114bedfe5adf8c3c7c186f41788022e7 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/nsIComponentManager.idl
  3. */
  4. #ifndef __gen_nsIComponentManager_h__
  5. #define __gen_nsIComponentManager_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 nsIFactory; /* forward declaration */
  14. /* starting interface: nsIComponentManager */
  15. #define NS_ICOMPONENTMANAGER_IID_STR "a88e5a60-205a-4bb1-94e1-2628daf51eae"
  16. #define NS_ICOMPONENTMANAGER_IID \
  17. {0xa88e5a60, 0x205a, 0x4bb1, \
  18. { 0x94, 0xe1, 0x26, 0x28, 0xda, 0xf5, 0x1e, 0xae }}
  19. class NS_NO_VTABLE NS_SCRIPTABLE nsIComponentManager : public nsISupports {
  20. public:
  21. NS_DECLARE_STATIC_IID_ACCESSOR(NS_ICOMPONENTMANAGER_IID)
  22. /**
  23. * getClassObject
  24. *
  25. * Returns the factory object that can be used to create instances of
  26. * CID aClass
  27. *
  28. * @param aClass The classid of the factory that is being requested
  29. */
  30. /* void getClassObject (in nsCIDRef aClass, in nsIIDRef aIID, [iid_is (aIID), retval] out nsQIResult result); */
  31. NS_SCRIPTABLE NS_IMETHOD GetClassObject(const nsCID & aClass, const nsIID & aIID, void * *result) = 0;
  32. /**
  33. * getClassObjectByContractID
  34. *
  35. * Returns the factory object that can be used to create instances of
  36. * CID aClass
  37. *
  38. * @param aClass The classid of the factory that is being requested
  39. */
  40. /* void getClassObjectByContractID (in string aContractID, in nsIIDRef aIID, [iid_is (aIID), retval] out nsQIResult result); */
  41. NS_SCRIPTABLE NS_IMETHOD GetClassObjectByContractID(const char *aContractID, const nsIID & aIID, void * *result) = 0;
  42. /**
  43. * createInstance
  44. *
  45. * Create an instance of the CID aClass and return the interface aIID.
  46. *
  47. * @param aClass : ClassID of object instance requested
  48. * @param aDelegate : Used for aggregation
  49. * @param aIID : IID of interface requested
  50. */
  51. /* void createInstance (in nsCIDRef aClass, in nsISupports aDelegate, in nsIIDRef aIID, [iid_is (aIID), retval] out nsQIResult result); */
  52. NS_SCRIPTABLE NS_IMETHOD CreateInstance(const nsCID & aClass, nsISupports *aDelegate, const nsIID & aIID, void * *result) = 0;
  53. /**
  54. * createInstanceByContractID
  55. *
  56. * Create an instance of the CID that implements aContractID and return the
  57. * interface aIID.
  58. *
  59. * @param aContractID : aContractID of object instance requested
  60. * @param aDelegate : Used for aggregation
  61. * @param aIID : IID of interface requested
  62. */
  63. /* void createInstanceByContractID (in string aContractID, in nsISupports aDelegate, in nsIIDRef aIID, [iid_is (aIID), retval] out nsQIResult result); */
  64. NS_SCRIPTABLE NS_IMETHOD CreateInstanceByContractID(const char *aContractID, nsISupports *aDelegate, const nsIID & aIID, void * *result) = 0;
  65. };
  66. NS_DEFINE_STATIC_IID_ACCESSOR(nsIComponentManager, NS_ICOMPONENTMANAGER_IID)
  67. /* Use this macro when declaring classes that implement this interface. */
  68. #define NS_DECL_NSICOMPONENTMANAGER \
  69. NS_SCRIPTABLE NS_IMETHOD GetClassObject(const nsCID & aClass, const nsIID & aIID, void * *result); \
  70. NS_SCRIPTABLE NS_IMETHOD GetClassObjectByContractID(const char *aContractID, const nsIID & aIID, void * *result); \
  71. NS_SCRIPTABLE NS_IMETHOD CreateInstance(const nsCID & aClass, nsISupports *aDelegate, const nsIID & aIID, void * *result); \
  72. NS_SCRIPTABLE NS_IMETHOD CreateInstanceByContractID(const char *aContractID, nsISupports *aDelegate, const nsIID & aIID, void * *result);
  73. /* Use this macro to declare functions that forward the behavior of this interface to another object. */
  74. #define NS_FORWARD_NSICOMPONENTMANAGER(_to) \
  75. NS_SCRIPTABLE NS_IMETHOD GetClassObject(const nsCID & aClass, const nsIID & aIID, void * *result) { return _to GetClassObject(aClass, aIID, result); } \
  76. NS_SCRIPTABLE NS_IMETHOD GetClassObjectByContractID(const char *aContractID, const nsIID & aIID, void * *result) { return _to GetClassObjectByContractID(aContractID, aIID, result); } \
  77. NS_SCRIPTABLE NS_IMETHOD CreateInstance(const nsCID & aClass, nsISupports *aDelegate, const nsIID & aIID, void * *result) { return _to CreateInstance(aClass, aDelegate, aIID, result); } \
  78. NS_SCRIPTABLE NS_IMETHOD CreateInstanceByContractID(const char *aContractID, nsISupports *aDelegate, const nsIID & aIID, void * *result) { return _to CreateInstanceByContractID(aContractID, aDelegate, aIID, result); }
  79. /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
  80. #define NS_FORWARD_SAFE_NSICOMPONENTMANAGER(_to) \
  81. NS_SCRIPTABLE NS_IMETHOD GetClassObject(const nsCID & aClass, const nsIID & aIID, void * *result) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetClassObject(aClass, aIID, result); } \
  82. NS_SCRIPTABLE NS_IMETHOD GetClassObjectByContractID(const char *aContractID, const nsIID & aIID, void * *result) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetClassObjectByContractID(aContractID, aIID, result); } \
  83. NS_SCRIPTABLE NS_IMETHOD CreateInstance(const nsCID & aClass, nsISupports *aDelegate, const nsIID & aIID, void * *result) { return !_to ? NS_ERROR_NULL_POINTER : _to->CreateInstance(aClass, aDelegate, aIID, result); } \
  84. NS_SCRIPTABLE NS_IMETHOD CreateInstanceByContractID(const char *aContractID, nsISupports *aDelegate, const nsIID & aIID, void * *result) { return !_to ? NS_ERROR_NULL_POINTER : _to->CreateInstanceByContractID(aContractID, aDelegate, aIID, result); }
  85. #if 0
  86. /* Use the code below as a template for the implementation class for this interface. */
  87. /* Header file */
  88. class nsComponentManager : public nsIComponentManager
  89. {
  90. public:
  91. NS_DECL_ISUPPORTS
  92. NS_DECL_NSICOMPONENTMANAGER
  93. nsComponentManager();
  94. private:
  95. ~nsComponentManager();
  96. protected:
  97. /* additional members */
  98. };
  99. /* Implementation file */
  100. NS_IMPL_ISUPPORTS1(nsComponentManager, nsIComponentManager)
  101. nsComponentManager::nsComponentManager()
  102. {
  103. /* member initializers and constructor code */
  104. }
  105. nsComponentManager::~nsComponentManager()
  106. {
  107. /* destructor code */
  108. }
  109. /* void getClassObject (in nsCIDRef aClass, in nsIIDRef aIID, [iid_is (aIID), retval] out nsQIResult result); */
  110. NS_IMETHODIMP nsComponentManager::GetClassObject(const nsCID & aClass, const nsIID & aIID, void * *result)
  111. {
  112. return NS_ERROR_NOT_IMPLEMENTED;
  113. }
  114. /* void getClassObjectByContractID (in string aContractID, in nsIIDRef aIID, [iid_is (aIID), retval] out nsQIResult result); */
  115. NS_IMETHODIMP nsComponentManager::GetClassObjectByContractID(const char *aContractID, const nsIID & aIID, void * *result)
  116. {
  117. return NS_ERROR_NOT_IMPLEMENTED;
  118. }
  119. /* void createInstance (in nsCIDRef aClass, in nsISupports aDelegate, in nsIIDRef aIID, [iid_is (aIID), retval] out nsQIResult result); */
  120. NS_IMETHODIMP nsComponentManager::CreateInstance(const nsCID & aClass, nsISupports *aDelegate, const nsIID & aIID, void * *result)
  121. {
  122. return NS_ERROR_NOT_IMPLEMENTED;
  123. }
  124. /* void createInstanceByContractID (in string aContractID, in nsISupports aDelegate, in nsIIDRef aIID, [iid_is (aIID), retval] out nsQIResult result); */
  125. NS_IMETHODIMP nsComponentManager::CreateInstanceByContractID(const char *aContractID, nsISupports *aDelegate, const nsIID & aIID, void * *result)
  126. {
  127. return NS_ERROR_NOT_IMPLEMENTED;
  128. }
  129. /* End of implementation class template. */
  130. #endif
  131. #ifdef MOZILLA_INTERNAL_API
  132. #include "nsComponentManagerUtils.h"
  133. #endif
  134. #endif /* __gen_nsIComponentManager_h__ */