IO/vtkBase64OutputStream.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00037 #ifndef __vtkBase64OutputStream_h
00038 #define __vtkBase64OutputStream_h
00039
00040 #include "vtkOutputStream.h"
00041
00042 class VTK_IO_EXPORT vtkBase64OutputStream : public vtkOutputStream
00043 {
00044 public:
00045 vtkTypeRevisionMacro(vtkBase64OutputStream,vtkOutputStream);
00046 static vtkBase64OutputStream *New();
00047 void PrintSelf(ostream& os, vtkIndent indent);
00048
00052 int StartWriting();
00053
00055 int Write(const unsigned char* data, unsigned long length);
00056
00061 int EndWriting();
00062
00063 protected:
00064 vtkBase64OutputStream();
00065 ~vtkBase64OutputStream();
00066
00067
00068 unsigned int BufferLength;
00069 unsigned char Buffer[2];
00070
00071
00072 int EncodeTriplet(unsigned char c0, unsigned char c1, unsigned char c2);
00073 int EncodeEnding(unsigned char c0, unsigned char c1);
00074 int EncodeEnding(unsigned char c0);
00075
00076 private:
00077 vtkBase64OutputStream(const vtkBase64OutputStream&);
00078 void operator=(const vtkBase64OutputStream&);
00079 };
00080
00081 #endif