VTK
vtkBase64InputStream.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkBase64InputStream.h
5
6 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7 All rights reserved.
8 See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9
10 This software is distributed WITHOUT ANY WARRANTY; without even
11 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12 PURPOSE. See the above copyright notice for more information.
13
14=========================================================================*/
23#ifndef vtkBase64InputStream_h
24#define vtkBase64InputStream_h
25
26#include "vtkIOCoreModule.h" // For export macro
27#include "vtkInputStream.h"
28
29class VTKIOCORE_EXPORT vtkBase64InputStream : public vtkInputStream
30{
31public:
34 void PrintSelf(ostream& os, vtkIndent indent);
35
42
47 int Seek(vtkTypeInt64 offset);
48
53 size_t Read(void* data, size_t length);
54
61 void EndReading();
62
63protected:
66
67 // Number of decoded bytes left in Buffer from last call to Read.
69 unsigned char Buffer[2];
70
71 // Reads 4 bytes from the input stream and decodes them into 3 bytes.
72 int DecodeTriplet(unsigned char& c0, unsigned char& c1, unsigned char& c2);
73
74private:
75 vtkBase64InputStream(const vtkBase64InputStream&) VTK_DELETE_FUNCTION;
76 void operator=(const vtkBase64InputStream&) VTK_DELETE_FUNCTION;
77};
78
79#endif
Reads base64-encoded input from a stream.
int Seek(vtkTypeInt64 offset)
Seek to the given offset in the input data.
void EndReading()
Called after all desired calls to Seek and Read have been made.
static vtkBase64InputStream * New()
int DecodeTriplet(unsigned char &c0, unsigned char &c1, unsigned char &c2)
void StartReading()
Called after the stream position has been set by the caller, but before any Seek or Read calls.
void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
size_t Read(void *data, size_t length)
Read input data of the given length.
a simple class to control print indentation
Definition: vtkIndent.h:40
Wraps a binary input stream with a VTK interface.
@ length
Definition: vtkX3D.h:393
@ offset
Definition: vtkX3D.h:438
@ data
Definition: vtkX3D.h:315