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