Bug 350550 - Liveconnect shouldn't export NSGetFactory, r=brendan+jhpedemonte

This commit is contained in:
benjamin%smedbergs.us 2006-08-31 16:45:29 +00:00
parent a1fad0c720
commit fe2b1b1254

View File

@ -54,40 +54,8 @@
#include "nsIComponentManager.h"
#include "nsIComponentRegistrar.h"
static NS_DEFINE_IID(kISupportsIID, NS_ISUPPORTS_IID);
static NS_DEFINE_IID(kIFactoryIID, NS_IFACTORY_IID);
static NS_DEFINE_CID(kCLiveconnectCID, NS_CLIVECONNECT_CID);
/*+++++++++++++++++++++++++++++++++++++++++++++++++
* NSGetFactory:
* Provides entry point to liveconnect dll.
+++++++++++++++++++++++++++++++++++++++++++++++++*/
extern "C" NS_EXPORT nsresult
NSGetFactory(nsISupports* serviceMgr,
const nsCID &aClass,
const char *aClassName,
const char *aContractID,
nsIFactory **aFactory)
{
if (!aClass.Equals(kCLiveconnectCID)) {
return NS_ERROR_FACTORY_NOT_LOADED; // XXX right error?
}
nsCLiveconnectFactory* factory = new nsCLiveconnectFactory();
if (factory == NULL)
return NS_ERROR_OUT_OF_MEMORY;
factory->AddRef();
*aFactory = factory;
return NS_OK;
}
extern "C" NS_EXPORT PRBool
NSCanUnload(nsISupports* serviceMgr)
{
return PR_FALSE;
}
extern "C" NS_EXPORT nsresult
JSJ_RegisterLiveConnectFactory()
{
@ -105,27 +73,7 @@ JSJ_RegisterLiveConnectFactory()
return NS_ERROR_OUT_OF_MEMORY;
}
////////////////////////////////////////////////////////////////////////////
// from nsISupports
NS_METHOD
nsCLiveconnectFactory::QueryInterface(const nsIID& aIID, void** aInstancePtr)
{
PR_ASSERT(NULL != aInstancePtr);
if (NULL == aInstancePtr) {
return NS_ERROR_NULL_POINTER;
}
if (aIID.Equals(kIFactoryIID) ||
aIID.Equals(kISupportsIID)) {
*aInstancePtr = (void*) this;
AddRef();
return NS_OK;
}
return NS_NOINTERFACE;
}
NS_IMPL_ADDREF(nsCLiveconnectFactory)
NS_IMPL_RELEASE(nsCLiveconnectFactory)
NS_IMPL_ISUPPORTS1(nsCLiveconnectFactory, nsIFactory)
////////////////////////////////////////////////////////////////////////////
// from nsIFactory:
@ -138,7 +86,7 @@ nsCLiveconnectFactory::CreateInstance(nsISupports *aOuter, REFNSIID aIID, void *
*aResult = NULL;
NS_ENSURE_PROPER_AGGREGATION(aOuter, kISupportsIID);
NS_ENSURE_PROPER_AGGREGATION(aOuter, aIID);
nsCLiveconnect* liveconnect = new nsCLiveconnect(aOuter);
if (liveconnect == NULL)