diff --git a/xflaim/src/fdom.cpp b/xflaim/src/fdom.cpp index 3d3fab7..1219ee8 100644 --- a/xflaim/src/fdom.cpp +++ b/xflaim/src/fdom.cpp @@ -89,8 +89,9 @@ public: FLMUINT uiBytesToRead, FLMUINT * puiBytesRead); - FINLINE void XFLMAPI close( void) + FINLINE RCODE XFLMAPI close( void) { + return( NE_XFLM_OK); } private: @@ -2836,13 +2837,15 @@ public: FLMUINT uiBytesToRead, FLMUINT * puiBytesRead); - FINLINE void XFLMAPI close( void) + FINLINE RCODE XFLMAPI close( void) { if( m_pIStream) { m_pIStream->Release(); m_pIStream = NULL; } + + return( NE_XFLM_OK); } RCODE open( @@ -2987,13 +2990,15 @@ public: FLMUINT uiBytesToRead, FLMUINT * puiBytesRead); - FINLINE void XFLMAPI close( void) + FINLINE RCODE XFLMAPI close( void) { if( m_pEncoderStream) { m_pEncoderStream->Release(); m_pEncoderStream = NULL; } + + return( NE_XFLM_OK); } RCODE open( diff --git a/xflaim/src/flaimsys.h b/xflaim/src/flaimsys.h index 728ae71..fb8bb51 100644 --- a/xflaim/src/flaimsys.h +++ b/xflaim/src/flaimsys.h @@ -5763,13 +5763,15 @@ public: return( NE_XFLM_OK); } - void XFLMAPI close( void) + RCODE XFLMAPI close( void) { if( m_pIStream) { m_pIStream->Release(); m_pIStream = NULL; } + + return( NE_XFLM_OK); } RCODE XFLMAPI read( @@ -5970,9 +5972,10 @@ public: return( m_uiStreamSize - (m_uiBufferStartOffset + m_uiBufferOffset)); } - FINLINE void XFLMAPI close( void) + FINLINE RCODE XFLMAPI close( void) { reset(); + return( NE_XFLM_OK); } RCODE XFLMAPI positionTo( diff --git a/xflaim/src/flblddb.cpp b/xflaim/src/flblddb.cpp index c030b31..e04f01a 100644 --- a/xflaim/src/flblddb.cpp +++ b/xflaim/src/flblddb.cpp @@ -121,7 +121,7 @@ public: F_DbRebuild * pRebuild, FLMBOOL bRecovDictionary); - void XFLMAPI close( void); + RCODE XFLMAPI close( void); RCODE XFLMAPI read( void * pvBuffer, @@ -1860,7 +1860,7 @@ Exit: /*************************************************************************** Desc: *****************************************************************************/ -void F_RebuildNodeIStream::close( void) +RCODE F_RebuildNodeIStream::close( void) { if( m_pucFirstElmBlk) { @@ -1883,6 +1883,8 @@ void F_RebuildNodeIStream::close( void) f_memset( &m_firstElmState, 0, sizeof( F_SCAN_STATE)); f_memset( &m_tmpState, 0, sizeof( F_SCAN_STATE)); + + return( NE_XFLM_OK); } /*************************************************************************** diff --git a/xflaim/src/fstream.cpp b/xflaim/src/fstream.cpp index 4507268..04d8f85 100644 --- a/xflaim/src/fstream.cpp +++ b/xflaim/src/fstream.cpp @@ -208,16 +208,19 @@ Exit: /**************************************************************************** Desc: Closes the input stream and frees any resources *****************************************************************************/ -void F_FileIStream::close( void) +RCODE F_FileIStream::close( void) { + RCODE rc = NE_XFLM_OK; + if( m_pFileHdl) { - m_pFileHdl->Close(); + rc = m_pFileHdl->Close(); m_pFileHdl->Release(); m_pFileHdl = NULL; } m_ui64FileOffset = 0; + return( rc); } /**************************************************************************** @@ -409,13 +412,15 @@ Exit: /**************************************************************************** Desc: *****************************************************************************/ -void XFLMAPI F_BufferedIStream::close( void) +RCODE XFLMAPI F_BufferedIStream::close( void) { + RCODE rc = NE_XFLM_OK; + if( m_pIStream) { if( m_pIStream->getRefCount() == 1) { - m_pIStream->close(); + rc = m_pIStream->close(); } m_pIStream->Release(); @@ -430,6 +435,8 @@ void XFLMAPI F_BufferedIStream::close( void) m_uiBufferSize = 0; m_uiBufferOffset = 0; m_uiBytesAvail = 0; + + return( rc); } /**************************************************************************** @@ -740,7 +747,7 @@ Exit: /****************************************************************************** Desc: ******************************************************************************/ -void XFLMAPI F_MultiFileIStream::close( void) +RCODE XFLMAPI F_MultiFileIStream::close( void) { if( m_pIStream) { @@ -754,6 +761,8 @@ void XFLMAPI F_MultiFileIStream::close( void) m_szBaseName[ 0] = 0; m_bEndOfStream = FALSE; m_bOpen = FALSE; + + return( NE_XFLM_OK); } /**************************************************************************** @@ -1289,7 +1298,7 @@ Exit: /***************************************************************************** Desc: ******************************************************************************/ -void XFLMAPI F_BufferIStream::close( void) +RCODE XFLMAPI F_BufferIStream::close( void) { if( m_bIsOpen) { @@ -1309,6 +1318,8 @@ void XFLMAPI F_BufferIStream::close( void) m_bIsOpen = FALSE; } + + return( NE_XFLM_OK); } /***************************************************************************** @@ -2207,7 +2218,7 @@ Exit: /****************************************************************************** Desc: ******************************************************************************/ -void XFLMAPI F_UncompressingIStream::close( void) +RCODE XFLMAPI F_UncompressingIStream::close( void) { if( m_pIStream) { @@ -2224,6 +2235,8 @@ void XFLMAPI F_UncompressingIStream::close( void) { f_free( &m_pucDecodeBuffer); } + + return( NE_XFLM_OK); } /**************************************************************************** @@ -3059,8 +3072,8 @@ Exit: /******************************************************************** Desc: *********************************************************************/ -RCODE F_TCPStream::write( - FLMBYTE * pucBuffer, +RCODE XFLMAPI F_TCPStream::write( + const void * pucBuffer, FLMUINT uiBytesToWrite, FLMUINT * puiBytesWritten) { @@ -3141,12 +3154,12 @@ Exit: } /******************************************************************** -Desc: Reads data from the connection +Desc: *********************************************************************/ -RCODE F_TCPStream::read( - FLMBYTE * pucBuffer, - FLMUINT uiBytesToWrite, - FLMUINT * puiBytesRead) +RCODE XFLMAPI F_TCPStream::read( + void * pucBuffer, + FLMUINT uiBytesToWrite, + FLMUINT * puiBytesRead) { RCODE rc = NE_XFLM_OK; FLMINT iReadCnt = 0; @@ -3310,63 +3323,13 @@ Exit: /******************************************************************** Desc: Closes any open connections *********************************************************************/ -void F_TCPStream::close( - FLMBOOL bForce) +RCODE XFLMAPI F_TCPStream::close( void) { if( m_iSocket == INVALID_SOCKET) { goto Exit; } -#ifdef FLM_NLM - F_UNREFERENCED_PARM( bForce); -#else - if( !bForce) - { - char ucTmpBuf[ 128]; - struct timeval tv; - fd_set fds; - fd_set fds_read; - fd_set fds_err; - - // Close our half of the connection - - shutdown( m_iSocket, 1); - - // Set up to wait for readable data on the socket - - FD_ZERO( &fds); -#ifdef FLM_WIN - #pragma warning( push) - #pragma warning( disable : 4127) -#endif - FD_SET( m_iSocket, &fds); -#ifdef FLM_WIN - #pragma warning( pop) -#endif - - tv.tv_sec = 10; - tv.tv_usec = 0; - - fds_read = fds; - fds_err = fds; - - // Wait for data or an error - - while( select( m_iSocket + 1, &fds_read, NULL, &fds_err, &tv) > 0) - { - if( recv( m_iSocket, ucTmpBuf, sizeof( ucTmpBuf), 0) <= 0) - { - break; - } - fds_read = fds; - fds_err = fds; - } - - shutdown( m_iSocket, 2); - } -#endif - #ifndef FLM_UNIX closesocket( m_iSocket); #else @@ -3377,4 +3340,6 @@ Exit: m_iSocket = INVALID_SOCKET; m_bConnected = FALSE; + + return( NE_XFLM_OK); } diff --git a/xflaim/src/ftk.h b/xflaim/src/ftk.h index 128e99f..453391c 100644 --- a/xflaim/src/ftk.h +++ b/xflaim/src/ftk.h @@ -2189,7 +2189,7 @@ return( m_uiBufferLen - m_uiOffset); } - void XFLMAPI close( void); + RCODE XFLMAPI close( void); FINLINE RCODE XFLMAPI positionTo( FLMUINT64 ui64Position) @@ -2279,7 +2279,7 @@ RCODE XFLMAPI open( const char * pszPath); - void XFLMAPI close( void); + RCODE XFLMAPI close( void); RCODE XFLMAPI positionTo( FLMUINT64 ui64Position); @@ -2328,7 +2328,7 @@ FLMUINT uiBytesToRead, FLMUINT * puiBytesRead); - void XFLMAPI close( void); + RCODE XFLMAPI close( void); FINLINE FLMUINT64 XFLMAPI totalSize( void) { @@ -2493,7 +2493,7 @@ FLMUINT uiBytesToRead, FLMUINT * puiBytesRead); - void XFLMAPI close( void); + RCODE XFLMAPI close( void); private: @@ -2586,13 +2586,15 @@ FLMUINT uiBytesToRead, FLMUINT * puiBytesRead); - FINLINE void XFLMAPI close( void) + FINLINE RCODE XFLMAPI close( void) { + RCODE rc = NE_XFLM_OK; + if( m_pIStream) { if( m_pIStream->getRefCount() == 1) { - m_pIStream->close(); + rc = m_pIStream->close(); } m_pIStream->Release(); @@ -2601,6 +2603,8 @@ m_uiAvailBytes = 0; m_uiBufOffset = 0; + + return( rc); } private: @@ -2638,18 +2642,22 @@ FLMUINT uiBytesToRead, FLMUINT * puiBytesRead); - FINLINE void XFLMAPI close( void) + FINLINE RCODE XFLMAPI close( void) { + RCODE rc = NE_XFLM_OK; + if( m_pIStream) { if( m_pIStream->getRefCount() == 1) { - m_pIStream->close(); + rc = m_pIStream->close(); } m_pIStream->Release(); m_pIStream = NULL; } + + return( rc); } private: @@ -2765,7 +2773,7 @@ FLMUINT uiBytesToRead, FLMUINT * puiBytesRead); - void XFLMAPI close( void); + RCODE XFLMAPI close( void); private: @@ -2803,6 +2811,16 @@ FLMUINT uiConnectTimeout = 3, FLMUINT uiDataTimeout = 15); + RCODE XFLMAPI read( + void * pvBuffer, + FLMUINT uiBytesToRead, + FLMUINT * puiBytesRead); + + RCODE XFLMAPI write( + const void * pvBuffer, + FLMUINT uiBytesToWrite, + FLMUINT * puiBytesWritten); + FINLINE RCODE socketPeekWrite( FLMINT iTimeOut) { @@ -2839,11 +2857,6 @@ return( (const char *)m_pszPeerIp); }; - RCODE read( - FLMBYTE * pucBuffer, - FLMUINT uiCount, - FLMUINT * puiBytesRead); - RCODE readNoWait( FLMBYTE * pucBuffer, FLMUINT uiCount, @@ -2854,16 +2867,10 @@ FLMUINT uiCount, FLMUINT * puiBytesRead); - RCODE write( - FLMBYTE * pucBuffer, - FLMUINT uiCount, - FLMUINT * puiBytesWritten); - RCODE setTcpDelay( FLMBOOL bOn); - - void close( - FLMBOOL bForce = FALSE); + + RCODE XFLMAPI close( void); private: diff --git a/xflaim/src/xflaim.h b/xflaim/src/xflaim.h index c51c408..1c74056 100644 --- a/xflaim/src/xflaim.h +++ b/xflaim/src/xflaim.h @@ -4265,7 +4265,7 @@ * @brief Close the input stream. * */ - virtual void XFLMAPI close( void) = 0; + virtual RCODE XFLMAPI close( void) = 0; }; /****************************************************************************