Added code to create logging sinks

git-svn-id: svn://10.0.0.236/trunk@7462 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
kipp%netscape.com
1998-08-06 20:27:57 +00:00
parent f2811d2878
commit 9b4b2ca63d
2 changed files with 28 additions and 6 deletions

View File

@@ -19,8 +19,9 @@
#include "nscore.h"
#include "nsIFactory.h"
#include "nsISupports.h"
#include "nsIHTMLContentSink.h"
#include "nsParserCIID.h"
#include "nsILoggingSink.h"
#include "nsParser.h"
#include "nsParserNode.h"
@@ -29,6 +30,7 @@ static NS_DEFINE_IID(kIFactoryIID, NS_IFACTORY_IID);
static NS_DEFINE_IID(kCParser, NS_PARSER_IID);
static NS_DEFINE_IID(kCParserNode, NS_PARSER_NODE_IID);
static NS_DEFINE_IID(kLoggingSinkCID, NS_LOGGING_SINK_IID);
class nsParserFactory : public nsIFactory
{
@@ -104,8 +106,8 @@ nsrefcnt nsParserFactory::Release()
}
nsresult nsParserFactory::CreateInstance(nsISupports *aOuter,
const nsIID &aIID,
void **aResult)
const nsIID &aIID,
void **aResult)
{
if (aResult == NULL) {
return NS_ERROR_NULL_POINTER;
@@ -121,6 +123,15 @@ nsresult nsParserFactory::CreateInstance(nsISupports *aOuter,
else if (mClassID.Equals(kCParserNode)) {
inst = (nsISupports *)(nsIParserNode *)new nsCParserNode();
}
else if (mClassID.Equals(kLoggingSinkCID)) {
nsIContentSink* cs;
nsresult rv = NS_NewHTMLLoggingSink(&cs);
if (NS_OK != rv) {
return rv;
}
*aResult = cs;
return rv;
}
if (inst == NULL) {
return NS_ERROR_OUT_OF_MEMORY;