Added nsDNSService factory.

This commit is contained in:
warren%netscape.com 1999-06-12 02:59:02 +00:00
parent 8b254fcb2c
commit f8073afaf4
5 changed files with 27 additions and 2 deletions

View File

@ -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

View File

@ -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>

View File

@ -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;
}

View File

@ -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:

View File

@ -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,