home *** CD-ROM | disk | FTP | other *** search
- #include "CPlainTextStream.h"
-
- #include <string.h>
-
- const char* CPlainTextStream::kPlainTextType = "text/plain";
-
- CPlainTextStream::CPlainTextStream( NPMIMEType type, NPStream* stream, NPBool seekable, uint16 stype, LTextEdit* inDestination)
- : CNetscapeStream( type, stream, seekable, stype ),
- mDestination( inDestination ),
- mStream( new LHandleStream ),
- mChunkCount( 0 )
- {
- }
-
- CPlainTextStream::~CPlainTextStream()
- {
- delete mStream;
- }
-
- //======================================================================
- // CPlainTextStream::Write()
- //======================================================================
- long
- CPlainTextStream::Write( int32 offset, int32 len, void *buffer )
- {
- Int32 retLength = mStream->WriteData( buffer, len );
- mChunkCount++;
-
- if( mDestination && ( mChunkCount <= 1 ) )
- mDestination->SetTextHandle( mStream->GetDataHandle() );
-
- return retLength;
- }
-
- //======================================================================
- // CPlainTextStream::Finish()
- //======================================================================
- NPError
- CPlainTextStream::Finish( NPError reason )
- {
- if( mDestination )
- mDestination->SetTextHandle( mStream->GetDataHandle() );
-
- return NPERR_NO_ERROR;
- }
-
-
- NPBool
- CPlainTextStream::IsPlainTextStream( NPStream* stream )
- {
- if( strcmp( stream->url, kPlainTextType ) == 0 )
- return true;
- return false;
- }
-