ASCIIFilter.h

00001 //***************************************************************************************
00002 //
00003 // File supervisor: Dominic Laflamme
00004 //
00005 // (c) Copyright 2001 Avid Technology, Inc. . All rights reserved.
00006 //
00007 //
00008 // @doc
00009 //
00010 // @module      ASCIIFilter.h | Main header file for CASCIIFilter 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 _ASCIIFILTER_H_
00028 #define _ASCIIFILTER_H_
00029 
00030 #include <SIBCUtil.h>
00031 #include <SIBCString.h>
00032 
00033 #include "CXSIFilter.h"
00034 
00035 #define ASCII_FILTER_NAME   "Text"
00036 #define ASCII_FILTER_ID     "txt"
00037 
00039 /*
00040  * This class allows the buffering to happen by channeling all the output through here which
00041  * then goes to the subfilter.
00042  */
00043 class CASCIIFilter : public CXSIFilter
00044 {
00045 public:
00049     CASCIIFilter();
00053     virtual ~CASCIIFilter();
00054 
00059     int Open ( CSIBCString in_szFilename,  _SI_FILE_MODE in_Mode );
00062     int Close ();
00063     
00069     int Read ( SI_Char * out_pBuffer, SI_Long in_lSize );
00075     int Write( SI_Char * in_pBuffer,  SI_Long in_lSize );
00076 
00077 
00081     int Eof();
00085     int Tell();
00086 
00087 
00088 private:
00089 #ifdef  _PSX2
00090     bool    m_bEof;
00091 #endif
00092 
00093 };
00094 
00095 #endif