VTK
vtkBase64Utilities.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkBase64Utilities.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=========================================================================*/
22#ifndef vtkBase64Utilities_h
23#define vtkBase64Utilities_h
24
25#include "vtkIOCoreModule.h" // For export macro
26#include "vtkObject.h"
27
28class VTKIOCORE_EXPORT vtkBase64Utilities : public vtkObject
29{
30public:
33
37 static void EncodeTriplet(unsigned char i0,
38 unsigned char i1,
39 unsigned char i2,
40 unsigned char *o0,
41 unsigned char *o1,
42 unsigned char *o2,
43 unsigned char *o3);
44
48 static void EncodePair(unsigned char i0,
49 unsigned char i1,
50 unsigned char *o0,
51 unsigned char *o1,
52 unsigned char *o2,
53 unsigned char *o3);
54
58 static void EncodeSingle(unsigned char i0,
59 unsigned char *o0,
60 unsigned char *o1,
61 unsigned char *o2,
62 unsigned char *o3);
63
77 static unsigned long Encode(const unsigned char *input,
78 unsigned long length,
79 unsigned char *output,
80 int mark_end = 0);
81
82
87 static int DecodeTriplet(unsigned char i0,
88 unsigned char i1,
89 unsigned char i2,
90 unsigned char i3,
91 unsigned char *o0,
92 unsigned char *o1,
93 unsigned char *o2);
94
107 VTK_LEGACY(static unsigned long Decode(const unsigned char *input,
108 unsigned long length,
109 unsigned char *output,
110 unsigned long max_input_length = 0));
111
121 static size_t DecodeSafely(const unsigned char *input,
122 size_t inputLen,
123 unsigned char *output,
124 size_t outputLen);
125
126protected:
129
130private:
131 vtkBase64Utilities(const vtkBase64Utilities&) VTK_DELETE_FUNCTION;
132 void operator=(const vtkBase64Utilities&) VTK_DELETE_FUNCTION;
133};
134
135#endif
136// VTK-HeaderTest-Exclude: vtkBase64Utilities.h
base64 encode and decode utilities.
static int DecodeTriplet(unsigned char i0, unsigned char i1, unsigned char i2, unsigned char i3, unsigned char *o0, unsigned char *o1, unsigned char *o2)
Decode 4 bytes into 3 bytes.
static void EncodeTriplet(unsigned char i0, unsigned char i1, unsigned char i2, unsigned char *o0, unsigned char *o1, unsigned char *o2, unsigned char *o3)
Encode 3 bytes into 4 bytes.
static vtkBase64Utilities * New()
static size_t DecodeSafely(const unsigned char *input, size_t inputLen, unsigned char *output, size_t outputLen)
Decode 4 bytes at a time from the input buffer and store the decoded stream into the output buffer.
static unsigned long Encode(const unsigned char *input, unsigned long length, unsigned char *output, int mark_end=0)
Encode 'length' bytes from the input buffer and store the encoded stream into the output buffer.
static void EncodeSingle(unsigned char i0, unsigned char *o0, unsigned char *o1, unsigned char *o2, unsigned char *o3)
Encode 1 byte into 4 bytes.
static void EncodePair(unsigned char i0, unsigned char i1, unsigned char *o0, unsigned char *o1, unsigned char *o2, unsigned char *o3)
Encode 2 bytes into 4 bytes.
abstract base class for most VTK objects
Definition: vtkObject.h:60
@ length
Definition: vtkX3D.h:393