dox/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
00026 #ifndef __vtkBase64OutputStream_h
00027 #define __vtkBase64OutputStream_h
00028
00029 #include "vtkOutputStream.h"
00030
00031 class VTK_IO_EXPORT vtkBase64OutputStream : public vtkOutputStream
00032 {
00033 public:
00034 vtkTypeRevisionMacro(vtkBase64OutputStream,vtkOutputStream);
00035 static vtkBase64OutputStream *New();
00036 void PrintSelf(ostream& os, vtkIndent indent);
00037
00041 int StartWriting();
00042
00044 int Write(const unsigned char* data, unsigned long length);
00045
00050 int EndWriting();
00051
00052 protected:
00053 vtkBase64OutputStream();
00054 ~vtkBase64OutputStream();
00055
00056
00057 unsigned int BufferLength;
00058 unsigned char Buffer[2];
00059
00060
00061 int EncodeTriplet(unsigned char c0, unsigned char c1, unsigned char c2);
00062 int EncodeEnding(unsigned char c0, unsigned char c1);
00063 int EncodeEnding(unsigned char c0);
00064
00065 private:
00066 vtkBase64OutputStream(const vtkBase64OutputStream&);
00067 void operator=(const vtkBase64OutputStream&);
00068 };
00069
00070 #endif