Converted parser into a module. NS_NewFoo routines are temporarily inlined to call component manager. Introduced nsIParserService for temporary replacement of nsHTMLTags and nsHTMLEntities static methods. RickG to do complete review.

git-svn-id: svn://10.0.0.236/trunk@49499 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
vidur%netscape.com
1999-09-30 22:01:48 +00:00
parent 215e7440ad
commit 30b1f0a71b
68 changed files with 1302 additions and 812 deletions

View File

@@ -133,6 +133,9 @@ nsHTMLToTXTSinkStream::QueryInterface(const nsIID& aIID, void** aInstancePtr)
else if(aIID.Equals(NS_GET_IID(nsIHTMLContentSink))) {
*aInstancePtr = (nsIHTMLContentSink*)(this);
}
else if(aIID.Equals(NS_GET_IID(nsIHTMLToTXTSinkStream))) {
*aInstancePtr = (nsIHTMLToTXTSinkStream*)(this);
}
else {
*aInstancePtr=0;
return NS_NOINTERFACE;
@@ -146,54 +149,6 @@ NS_IMPL_ADDREF(nsHTMLToTXTSinkStream)
NS_IMPL_RELEASE(nsHTMLToTXTSinkStream)
/**
* This method creates a new sink, it sets the stream used
* for the sink to aStream
*
* @update gpk 04/30/99
*/
NS_HTMLPARS nsresult
NS_New_HTMLToTXT_SinkStream(nsIHTMLContentSink** aInstancePtrResult,
nsIOutputStream* aStream,
const nsString* aCharsetOverride,
PRUint32 aWrapColumn, PRUint32 aFlags)
{
NS_ASSERTION(aStream != nsnull, "a valid stream is required");
nsHTMLToTXTSinkStream* it = new nsHTMLToTXTSinkStream(aStream, nsnull,
aFlags);
if (nsnull == it) {
return NS_ERROR_OUT_OF_MEMORY;
}
it->SetWrapColumn(aWrapColumn);
if (aCharsetOverride != nsnull)
it->SetCharsetOverride(aCharsetOverride);
return it->QueryInterface(NS_GET_IID(nsIHTMLContentSink), (void **)aInstancePtrResult);
}
/**
* This method creates a new sink, it sets the stream used
* for the sink to aStream
*
* @update gpk 04/30/99
*/
NS_HTMLPARS nsresult
NS_New_HTMLToTXT_SinkStream(nsIHTMLContentSink** aInstancePtrResult,
nsString* aString,
PRUint32 aWrapColumn, PRUint32 aFlags)
{
NS_ASSERTION(aString != nsnull, "a valid stream is required");
nsHTMLToTXTSinkStream* it = new nsHTMLToTXTSinkStream(nsnull, aString,
aFlags);
if (nsnull == it) {
return NS_ERROR_OUT_OF_MEMORY;
}
it->SetWrapColumn(aWrapColumn);
nsAutoString ucs2("ucs2");
it->SetCharsetOverride(&ucs2);
return it->QueryInterface(NS_GET_IID(nsIHTMLContentSink), (void **)aInstancePtrResult);
}
// Someday may want to make this non-const:
static const PRUint32 TagStackSize = 500;
static const PRUint32 OLStackSize = 100;
@@ -204,12 +159,9 @@ static const PRUint32 OLStackSize = 100;
* @param
* @return
*/
nsHTMLToTXTSinkStream::nsHTMLToTXTSinkStream(nsIOutputStream* aStream,
nsString* aString,
PRUint32 aFlags)
nsHTMLToTXTSinkStream::nsHTMLToTXTSinkStream()
{
NS_INIT_REFCNT();
mStream = aStream;
mColPos = 0;
mIndent = 0;
mDoOutput = PR_FALSE;
@@ -217,9 +169,6 @@ nsHTMLToTXTSinkStream::nsHTMLToTXTSinkStream(nsIOutputStream* aStream,
mBufferLength = 0;
mBuffer = nsnull;
mUnicodeEncoder = nsnull;
mStream = aStream;
mString = aString;
mFlags = aFlags;
mWrapColumn = 72; // XXX magic number, we expect someone to reset this
// initialize the tag stack to zero:
@@ -246,6 +195,24 @@ nsHTMLToTXTSinkStream::~nsHTMLToTXTSinkStream()
NS_IF_RELEASE(mUnicodeEncoder);
}
/**
*
* @update gpk04/30/99
* @param
* @return
*/
NS_IMETHODIMP
nsHTMLToTXTSinkStream::Initialize(nsIOutputStream* aOutStream,
nsString* aOutString,
PRUint32 aFlags)
{
mStream = aOutStream;
mString = aOutString;
mFlags = aFlags;
return NS_OK;
}
/**
*
* @update gpk04/30/99