diff --git a/netwerk/build/Makefile.in b/netwerk/build/Makefile.in index e3f19a7ab465..b9aea76bb80e 100644 --- a/netwerk/build/Makefile.in +++ b/netwerk/build/Makefile.in @@ -34,10 +34,12 @@ CPPSRCS = \ SHARED_LIBRARY_LIBS = \ $(DIST)/lib/libnetwerkbase_s.a \ + $(DIST)/lib/libnetwerkdns_s.a \ $(NULL) LOCAL_INCLUDES += \ -I$(srcdir)/../base/src \ + -I$(srcdir)/../dns/src \ $(NULL) include $(topsrcdir)/config/config.mk diff --git a/netwerk/build/makefile.win b/netwerk/build/makefile.win index f1dc99b87dab..6c76621d82c6 100644 --- a/netwerk/build/makefile.win +++ b/netwerk/build/makefile.win @@ -34,7 +34,8 @@ CPP_OBJS= \ LLIBS= \ $(DIST)\lib\netwerkbase_s.lib \ - $(DIST)\lib\xpcom.lib \ + $(DIST)\lib\netwerkdns_s.lib \ + $(DIST)\lib\xpcom.lib \ $(DIST)\lib\plc3.lib \ $(LIBNSPR) @@ -43,6 +44,7 @@ MISCDEP=$(LLIBS) INCS = $(INCS) \ -I$(DEPTH)\dist\include \ -I$(DEPTH)\netwerk\base\src \ + -I$(DEPTH)\netwerk\dns\src \ $(NULL) include <$(DEPTH)\config\rules.mak> diff --git a/netwerk/build/nsNetFactory.cpp b/netwerk/build/nsNetFactory.cpp index 0917b2a04ed7..cd81a9650d5f 100644 --- a/netwerk/build/nsNetFactory.cpp +++ b/netwerk/build/nsNetFactory.cpp @@ -25,13 +25,15 @@ #include "nsSocketTransportService.h" #include "nscore.h" #include "nsStandardUrl.h" +#include "nsDnsService.h" static NS_DEFINE_CID(kComponentManagerCID, NS_COMPONENTMANAGER_CID); static NS_DEFINE_CID(kIOServiceCID, NS_IOSERVICE_CID); static NS_DEFINE_CID(kFileTransportServiceCID, NS_FILETRANSPORTSERVICE_CID); static NS_DEFINE_CID(kStandardURLCID, NS_STANDARDURL_CID); static NS_DEFINE_CID(kSocketTransportServiceCID, NS_SOCKETTRANSPORTSERVICE_CID); -static NS_DEFINE_CID(kExternalModuleManagerCID, NS_NETMODULEMGR_CID); +static NS_DEFINE_CID(kExternalModuleManagerCID, NS_NETMODULEMGR_CID); +static NS_DEFINE_CID(kDNSServiceCID, NS_DNSSERVICE_CID); //////////////////////////////////////////////////////////////////////////////// @@ -62,6 +64,9 @@ NSGetFactory(nsISupports* aServMgr, else if (aClass.Equals(kExternalModuleManagerCID)) { rv = NS_NewGenericFactory(&fact, nsNetModuleMgr::Create); } + else if (aClass.Equals(kDNSServiceCID)) { + rv = NS_NewGenericFactory(&fact, nsDNSService::Create); + } else { rv = NS_ERROR_FAILURE; } diff --git a/netwerk/dns/src/nsDnsService.cpp b/netwerk/dns/src/nsDnsService.cpp index 9de459f65bb7..442c951d5cd0 100644 --- a/netwerk/dns/src/nsDnsService.cpp +++ b/netwerk/dns/src/nsDnsService.cpp @@ -91,6 +91,18 @@ nsDNSService::~nsDNSService() NS_IMPL_ISUPPORTS(nsDNSService, nsIDNSService::GetIID()); +NS_METHOD +nsDNSService::Create(nsISupports* aOuter, const nsIID& aIID, void* *aResult) +{ + nsDNSService* ph = new nsDNSService(); + if (ph == nsnull) + return NS_ERROR_OUT_OF_MEMORY; + NS_ADDREF(ph); + nsresult rv = ph->QueryInterface(aIID, aResult); + NS_RELEASE(ph); + return rv; +} + //////////////////////////////////////////////////////////////////////////////// // nsIDNSService methods: diff --git a/netwerk/dns/src/nsDnsService.h b/netwerk/dns/src/nsDnsService.h index 20953bac3c09..673519751038 100644 --- a/netwerk/dns/src/nsDnsService.h +++ b/netwerk/dns/src/nsDnsService.h @@ -37,6 +37,10 @@ public: virtual ~nsDNSService(); nsresult Init(); + // Define a Create method to be used with a factory: + static NS_METHOD + Create(nsISupports* aOuter, const nsIID& aIID, void* *aResult); + // nsIDNSService methods: NS_IMETHOD Lookup(nsISupports *ctxt, const char *hostname,