Bug 895720 - Actually use the fuzz value.
[gecko.git] / xpcom / glue / nsComponentManagerUtils.cpp
blobf20d5e72e3b82f17c5ae4664cac056a6bbcec76e
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /* This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6 #ifndef nsXPCOM_h__
7 #include "nsXPCOM.h"
8 #endif
10 #ifndef nsCOMPtr_h__
11 #include "nsCOMPtr.h"
12 #endif
14 #include "nsComponentManagerUtils.h"
15 #include "nsServiceManagerUtils.h"
17 #include "nsIComponentManager.h"
19 #ifndef MOZILLA_INTERNAL_API
21 nsresult
22 CallGetService(const nsCID &aCID, const nsIID &aIID, void **aResult)
24 nsCOMPtr<nsIServiceManager> servMgr;
25 nsresult status = NS_GetServiceManager(getter_AddRefs(servMgr));
26 if (servMgr)
27 status = servMgr->GetService(aCID, aIID, aResult);
28 return status;
31 nsresult
32 CallGetService(const char *aContractID, const nsIID &aIID, void **aResult)
34 nsCOMPtr<nsIServiceManager> servMgr;
35 nsresult status = NS_GetServiceManager(getter_AddRefs(servMgr));
36 if (servMgr)
37 status = servMgr->GetServiceByContractID(aContractID, aIID, aResult);
38 return status;
41 #else
43 #include "nsComponentManager.h"
45 nsresult
46 CallGetService(const nsCID &aCID, const nsIID &aIID, void **aResult)
48 nsComponentManagerImpl *compMgr = nsComponentManagerImpl::gComponentManager;
49 NS_ENSURE_TRUE(compMgr, NS_ERROR_NOT_INITIALIZED);
51 return compMgr->nsComponentManagerImpl::GetService(aCID, aIID, aResult);
54 nsresult
55 CallGetService(const char *aContractID, const nsIID &aIID, void **aResult)
57 nsComponentManagerImpl *compMgr = nsComponentManagerImpl::gComponentManager;
58 NS_ENSURE_TRUE(compMgr, NS_ERROR_NOT_INITIALIZED);
60 return compMgr->
61 nsComponentManagerImpl::GetServiceByContractID(aContractID,
62 aIID, aResult);
65 #endif
67 #ifndef MOZILLA_INTERNAL_API
69 nsresult
70 CallCreateInstance(const nsCID &aCID, nsISupports *aDelegate,
71 const nsIID &aIID, void **aResult)
73 nsCOMPtr<nsIComponentManager> compMgr;
74 nsresult status = NS_GetComponentManager(getter_AddRefs(compMgr));
75 if (compMgr)
76 status = compMgr->CreateInstance(aCID, aDelegate, aIID, aResult);
77 return status;
80 nsresult
81 CallCreateInstance(const char *aContractID, nsISupports *aDelegate,
82 const nsIID &aIID, void **aResult)
84 nsCOMPtr<nsIComponentManager> compMgr;
85 nsresult status = NS_GetComponentManager(getter_AddRefs(compMgr));
86 if (compMgr)
87 status = compMgr->CreateInstanceByContractID(aContractID, aDelegate,
88 aIID, aResult);
89 return status;
92 nsresult
93 CallGetClassObject(const nsCID &aCID, const nsIID &aIID, void **aResult)
95 nsCOMPtr<nsIComponentManager> compMgr;
96 nsresult status = NS_GetComponentManager(getter_AddRefs(compMgr));
97 if (compMgr)
98 status = compMgr->GetClassObject(aCID, aIID, aResult);
99 return status;
102 nsresult
103 CallGetClassObject(const char *aContractID, const nsIID &aIID, void **aResult)
105 nsCOMPtr<nsIComponentManager> compMgr;
106 nsresult status = NS_GetComponentManager(getter_AddRefs(compMgr));
107 if (compMgr)
108 status = compMgr->GetClassObjectByContractID(aContractID, aIID,
109 aResult);
110 return status;
113 #else
115 #include "nsComponentManager.h"
117 nsresult
118 CallCreateInstance(const nsCID &aCID, nsISupports *aDelegate,
119 const nsIID &aIID, void **aResult)
121 nsComponentManagerImpl *compMgr = nsComponentManagerImpl::gComponentManager;
122 NS_ENSURE_TRUE(compMgr, NS_ERROR_NOT_INITIALIZED);
124 return compMgr->
125 nsComponentManagerImpl::CreateInstance(aCID, aDelegate, aIID, aResult);
128 nsresult
129 CallCreateInstance(const char *aContractID, nsISupports *aDelegate,
130 const nsIID &aIID, void **aResult)
132 nsComponentManagerImpl *compMgr = nsComponentManagerImpl::gComponentManager;
133 NS_ENSURE_TRUE(compMgr, NS_ERROR_NOT_INITIALIZED);
135 return compMgr->
136 nsComponentManagerImpl::CreateInstanceByContractID(aContractID,
137 aDelegate, aIID,
138 aResult);
141 nsresult
142 CallGetClassObject(const nsCID &aCID, const nsIID &aIID, void **aResult)
144 nsComponentManagerImpl *compMgr = nsComponentManagerImpl::gComponentManager;
145 NS_ENSURE_TRUE(compMgr, NS_ERROR_NOT_INITIALIZED);
147 return compMgr->
148 nsComponentManagerImpl::GetClassObject(aCID, aIID, aResult);
151 nsresult
152 CallGetClassObject(const char *aContractID, const nsIID &aIID, void **aResult)
154 nsComponentManagerImpl *compMgr = nsComponentManagerImpl::gComponentManager;
155 NS_ENSURE_TRUE(compMgr, NS_ERROR_NOT_INITIALIZED);
157 return compMgr->
158 nsComponentManagerImpl::GetClassObjectByContractID(aContractID, aIID,
159 aResult);
162 #endif
164 nsresult
165 nsCreateInstanceByCID::operator()( const nsIID& aIID, void** aInstancePtr ) const
167 nsresult status = CallCreateInstance(mCID, mOuter, aIID, aInstancePtr);
168 if ( NS_FAILED(status) )
169 *aInstancePtr = 0;
170 if ( mErrorPtr )
171 *mErrorPtr = status;
172 return status;
175 nsresult
176 nsCreateInstanceByContractID::operator()( const nsIID& aIID, void** aInstancePtr ) const
178 nsresult status = CallCreateInstance(mContractID, mOuter, aIID, aInstancePtr);
179 if (NS_FAILED(status))
180 *aInstancePtr = 0;
181 if ( mErrorPtr )
182 *mErrorPtr = status;
183 return status;
186 nsresult
187 nsCreateInstanceFromFactory::operator()( const nsIID& aIID, void** aInstancePtr ) const
189 nsresult status = mFactory->CreateInstance(mOuter, aIID, aInstancePtr);
190 if ( NS_FAILED(status) )
191 *aInstancePtr = 0;
192 if ( mErrorPtr )
193 *mErrorPtr = status;
194 return status;
198 nsresult
199 nsGetClassObjectByCID::operator()( const nsIID& aIID, void** aInstancePtr ) const
201 nsresult status = CallGetClassObject(mCID, aIID, aInstancePtr);
202 if ( NS_FAILED(status) )
203 *aInstancePtr = 0;
204 if ( mErrorPtr )
205 *mErrorPtr = status;
206 return status;
209 nsresult
210 nsGetClassObjectByContractID::operator()( const nsIID& aIID, void** aInstancePtr ) const
212 nsresult status = CallGetClassObject(mContractID, aIID, aInstancePtr);
213 if ( NS_FAILED(status) )
214 *aInstancePtr = 0;
215 if ( mErrorPtr )
216 *mErrorPtr = status;
217 return status;
221 nsresult
222 nsGetServiceByCID::operator()( const nsIID& aIID, void** aInstancePtr ) const
224 nsresult status = CallGetService(mCID, aIID, aInstancePtr);
225 if ( NS_FAILED(status) )
226 *aInstancePtr = 0;
228 return status;
231 nsresult
232 nsGetServiceByCIDWithError::operator()( const nsIID& aIID, void** aInstancePtr ) const
234 nsresult status = CallGetService(mCID, aIID, aInstancePtr);
235 if ( NS_FAILED(status) )
236 *aInstancePtr = 0;
238 if ( mErrorPtr )
239 *mErrorPtr = status;
240 return status;
243 nsresult
244 nsGetServiceByContractID::operator()( const nsIID& aIID, void** aInstancePtr ) const
246 nsresult status = CallGetService(mContractID, aIID, aInstancePtr);
247 if ( NS_FAILED(status) )
248 *aInstancePtr = 0;
250 return status;
253 nsresult
254 nsGetServiceByContractIDWithError::operator()( const nsIID& aIID, void** aInstancePtr ) const
256 nsresult status = CallGetService(mContractID, aIID, aInstancePtr);
257 if ( NS_FAILED(status) )
258 *aInstancePtr = 0;
260 if ( mErrorPtr )
261 *mErrorPtr = status;
262 return status;