00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef __ZStream_CRLF__
00026 #define __ZStream_CRLF__ 1
00027 #include "zconfig.h"
00028
00029 #include "ZStream.h"
00030
00031 #include <string>
00032
00033
00034 #pragma mark -
00035 #pragma mark * ZStreamR_CRLFRemove
00036
00037 class ZStreamR_CRLFRemove : public ZStreamR
00038 {
00039 public:
00040 ZStreamR_CRLFRemove(const ZStreamR& iStreamSource);
00041 ZStreamR_CRLFRemove(char iReplaceChar, const ZStreamR& iStreamSource);
00042 ~ZStreamR_CRLFRemove();
00043
00044
00045 virtual void Imp_Read(void* iDest, size_t iCount, size_t* oCountRead);
00046
00047 protected:
00048 const ZStreamR& fStreamSource;
00049 char fReplaceChar;
00050 bool fLastWasCR;
00051 };
00052
00053
00054 #pragma mark -
00055 #pragma mark * ZStreamR_CRLFInsert
00056
00057 class ZStreamR_CRLFInsert : public ZStreamR
00058 {
00059 public:
00060 ZStreamR_CRLFInsert(const ZStreamR& iStreamSource);
00061 ~ZStreamR_CRLFInsert();
00062
00063
00064 virtual void Imp_Read(void* iDest, size_t iCount, size_t* oCountRead);
00065
00066 protected:
00067 const ZStreamR& fStreamSource;
00068 bool fLastWasCR;
00069 bool fHasBuffChar;
00070 char fBuffChar;
00071 };
00072
00073
00074 #pragma mark -
00075 #pragma mark * ZStreamW_CRLFRemove
00076
00077 class ZStreamW_CRLFRemove : public ZStreamW
00078 {
00079 public:
00080 ZStreamW_CRLFRemove(const ZStreamW& iStreamSink);
00081 ZStreamW_CRLFRemove(char iReplaceChar, const ZStreamW& iStreamSink);
00082 ~ZStreamW_CRLFRemove();
00083
00084
00085 virtual void Imp_Write(const void* iSource, size_t iCount, size_t* oCountWritten);
00086 virtual void Imp_Flush();
00087
00088 protected:
00089 const ZStreamW& fStreamSink;
00090 char fReplaceChar;
00091 bool fLastWasCR;
00092 };
00093
00094
00095 #pragma mark -
00096 #pragma mark * ZStreamW_CRLFInsert
00097
00098 class ZStreamW_CRLFInsert : public ZStreamW
00099 {
00100 public:
00101 ZStreamW_CRLFInsert(const ZStreamW& iStreamSink);
00102 ~ZStreamW_CRLFInsert();
00103
00104
00105 virtual void Imp_Write(const void* iSource, size_t iCount, size_t* oCountWritten);
00106 virtual void Imp_Flush();
00107
00108 protected:
00109 const ZStreamW& fStreamSink;
00110 bool fLastWasCR;
00111 };
00112
00113 #endif // __ZStream_CRLF__