From b3499577afca877703ea5aed73c4e88e0df7e699 Mon Sep 17 00:00:00 2001 From: "dp%netscape.com" Date: Thu, 28 Oct 1999 20:57:29 +0000 Subject: [PATCH] Convering to nsIModule. r=kipp git-svn-id: svn://10.0.0.236/trunk@52111 18797224-902f-48f8-a5cc-f745e15eee43 --- .../nsUnixToolkitServiceFactory.cpp | 145 ++---------------- 1 file changed, 15 insertions(+), 130 deletions(-) diff --git a/mozilla/widget/src/unix_services/toolkit_service/nsUnixToolkitServiceFactory.cpp b/mozilla/widget/src/unix_services/toolkit_service/nsUnixToolkitServiceFactory.cpp index d5aa1da3b1e..3d5e05ea4ce 100644 --- a/mozilla/widget/src/unix_services/toolkit_service/nsUnixToolkitServiceFactory.cpp +++ b/mozilla/widget/src/unix_services/toolkit_service/nsUnixToolkitServiceFactory.cpp @@ -16,142 +16,27 @@ * Reserved. */ -#include "nsIUnixToolkitService.h" - -#include "nsIFactory.h" -#include "nsIComponentManager.h" -#include "nsIServiceManager.h" +#include "nsIGenericFactory.h" +#include "nsIModule.h" #include "nsCOMPtr.h" +#include "nsIUnixToolkitService.h" #include "nsUnixToolkitService.h" -static NS_DEFINE_CID(kCUnixToolkitServiceCID, NS_UNIX_TOOLKIT_SERVICE_CID); -static NS_DEFINE_CID(kComponentManagerCID, NS_COMPONENTMANAGER_CID); +NS_GENERIC_FACTORY_CONSTRUCTOR(nsUnixToolkitService) -class nsUnixToolkitServiceFactory : public nsIFactory -{ -public: - NS_DECL_ISUPPORTS - NS_IMETHOD CreateInstance(nsISupports *aOuter, - const nsIID &aIID, - void **aResult); - - NS_IMETHOD LockFactory(PRBool aLock); - - nsUnixToolkitServiceFactory(const nsCID &aClass); - virtual ~nsUnixToolkitServiceFactory(); - -private: - nsCID mClassID; +struct components_t { + nsCID cid; + nsIGenericFactory::ConstructorProcPtr constructor; + const char *progid; + const char *description; }; -nsUnixToolkitServiceFactory::nsUnixToolkitServiceFactory(const nsCID &aClass) : - mRefCnt(0), - mClassID(aClass) +static components_t components[] = { -} + { NS_UNIX_TOOLKIT_SERVICE_CID, &nsUnixToolkitServiceConstructor, + NS_UNIX_TOOLKIT_SERVICE_PROGID, "Unix WIndow Service", }, +}; -nsUnixToolkitServiceFactory::~nsUnixToolkitServiceFactory() -{ -} - -NS_IMPL_ISUPPORTS(nsUnixToolkitServiceFactory, nsIFactory::GetIID()) - -NS_IMETHODIMP -nsUnixToolkitServiceFactory::CreateInstance(nsISupports *aOuter, - const nsIID &aIID, - void **aResult) -{ - if (aResult == nsnull) - return NS_ERROR_NULL_POINTER; - - *aResult = nsnull; - - nsISupports *inst = nsnull; - if (mClassID.Equals(kCUnixToolkitServiceCID)) { - inst = (nsISupports *)(nsUnixToolkitService *) new nsUnixToolkitService(); - } - - if (inst == nsnull) - return NS_ERROR_OUT_OF_MEMORY; - - nsresult rv = inst->QueryInterface(aIID, aResult); - if (rv != NS_OK) - delete inst; - return rv; -} - -nsresult nsUnixToolkitServiceFactory::LockFactory(PRBool aLock) -{ - // Not implemented in simplest case. - return NS_OK; -} - -extern "C" NS_EXPORT nsresult -NSGetFactory(nsISupports *servMgr, - const nsCID &aClass, - const char *aClassName, - const char *aProgID, - nsIFactory **aFactory) -{ - if (nsnull == aFactory) - return NS_ERROR_NULL_POINTER; - - *aFactory = new nsUnixToolkitServiceFactory(aClass); - - if (nsnull == aFactory) - return NS_ERROR_OUT_OF_MEMORY; - - return (*aFactory)->QueryInterface(nsIFactory::GetIID(), - (void **)aFactory); -} - -extern "C" NS_EXPORT PRBool -NSCanUnload(nsISupports *aServMgr) -{ - return PR_FALSE; -} - -extern "C" NS_EXPORT nsresult -NSRegisterSelf(nsISupports* aServMgr, const char *fullpath) -{ - nsresult rv; - -#ifdef NS_DEBUG - printf("*** Registering UnixToolkitService\n"); -#endif - - nsCOMPtr - serviceManager(do_QueryInterface(aServMgr, &rv)); - if (NS_FAILED(rv)) return rv; - - NS_WITH_SERVICE(nsIComponentManager, compMgr, kComponentManagerCID, &rv); - if (NS_FAILED(rv)) return rv; - - rv = compMgr->RegisterComponent(kCUnixToolkitServiceCID, - "Unix Window Service", - NS_UNIX_TOOLKIT_SERVICE_PROGID, - fullpath, - PR_TRUE, - PR_TRUE); - return rv; -} - -extern "C" NS_EXPORT nsresult -NSUnregisterSelf(nsISupports *aServMgr, const char *fullpath) -{ - nsresult rv; - - nsCOMPtr - serviceManager(do_QueryInterface(aServMgr, &rv)); - - if (NS_FAILED(rv)) return rv; - - NS_WITH_SERVICE(nsIComponentManager, compMgr, kComponentManagerCID, &rv); - - if (NS_FAILED(rv)) return rv; - - compMgr->UnregisterComponent(kCUnixToolkitServiceCID, fullpath); - - return NS_OK; -} +NS_IMPL_MODULE(components) +NS_IMPL_NSGETMODULE(nsModule)