LegacyFilter.h

00001 //***************************************************************************************
00002 //
00003 // File supervisor: Robert Belanger
00004 //
00005 // (c) Copyright 2001 Avid Technology, Inc. . All rights reserved.
00006 //
00007 //
00008 // @doc
00009 //
00010 // @module      BufferFilter.h | Main header file for BufferFilter implementation
00011 //***************************************************************************************
00012 
00013 /****************************************************************************************
00014 THIS CODE IS PUBLISHED AS A SAMPLE ONLY AND IS PROVIDED "AS IS".
00015 IN NO EVENT SHALL SOFTIMAGE, AVID TECHNOLOGY, INC. AND/OR THEIR RESPECTIVE 
00016 SUPPLIERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY
00017 DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
00018 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
00019 CONNECTION WITH THE USE OR PERFORMANCE OF THIS CODE . 
00020  
00021 COPYRIGHT NOTICE. Copyright © 1999-2002 Avid Technology Inc. . All rights reserved. 
00022 
00023 SOFTIMAGE is a registered trademark of Avid Technology Inc. or its subsidiaries 
00024 or divisions. Windows NT is a registered trademark of Microsoft Corp. All other
00025 trademarks contained herein are the property of their respective owners. 
00026 ****************************************************************************************/
00027 #ifndef _LEGACYFILTER_H_
00028 #define _LEGACYFILTER_H_
00029 
00030 #include <SIBCUtil.h>
00031 #include <SIBCString.h>
00032 
00033 #include "CXSIFilter.h"
00034 
00035 #define BUFFER_FILTER_NAME  "Buffer"
00036 #define BUFFER_FILTER_ID        "buf"
00037 
00038 #define BUFFER_SIZE             (128 * 1024)
00039 
00041 /*
00042  * This class is used only for legacy read.
00043  */
00044 class CLegacyFilter : public CXSIFilter
00045 {
00046 public:
00050     CLegacyFilter();
00054     virtual ~CLegacyFilter();
00055 
00060     int Open ( CSIBCString in_szFilename,  _SI_FILE_MODE in_Mode );
00063     int Close ();
00064     
00070     int Read ( SI_Char * out_pBuffer, SI_Long in_lSize );
00076     int Write( SI_Char * in_pBuffer,  SI_Long in_lSize );
00077 
00078 
00082     int Eof();
00086     int Tell();
00087 private:
00088     void    Flush();
00089 
00090     CSIAccumString      m_szAccumBuffer;
00091 
00092 };
00093 
00094 #endif