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 =========================================================================*/
25 #ifndef vtkBase64Utilities_h
26 #define vtkBase64Utilities_h
27 
28 #include "vtkIOCoreModule.h" // For export macro
29 #include "vtkObject.h"
30 
31 class VTKIOCORE_EXPORT vtkBase64Utilities : public vtkObject
32 {
33 public:
34  static vtkBase64Utilities *New();
36 
40  static void EncodeTriplet(unsigned char i0,
41  unsigned char i1,
42  unsigned char i2,
43  unsigned char *o0,
44  unsigned char *o1,
45  unsigned char *o2,
46  unsigned char *o3);
47 
51  static void EncodePair(unsigned char i0,
52  unsigned char i1,
53  unsigned char *o0,
54  unsigned char *o1,
55  unsigned char *o2,
56  unsigned char *o3);
57 
61  static void EncodeSingle(unsigned char i0,
62  unsigned char *o0,
63  unsigned char *o1,
64  unsigned char *o2,
65  unsigned char *o3);
66 
80  static unsigned long Encode(const unsigned char *input,
81  unsigned long length,
82  unsigned char *output,
83  int mark_end = 0);
84 
85 
90  static int DecodeTriplet(unsigned char i0,
91  unsigned char i1,
92  unsigned char i2,
93  unsigned char i3,
94  unsigned char *o0,
95  unsigned char *o1,
96  unsigned char *o2);
97 
110  VTK_LEGACY(static unsigned long Decode(const unsigned char *input,
111  unsigned long length,
112  unsigned char *output,
113  unsigned long max_input_length = 0));
114 
124  static size_t DecodeSafely(const unsigned char *input,
125  size_t inputLen,
126  unsigned char *output,
127  size_t outputLen);
128 
129 protected:
132 
133 private:
134  vtkBase64Utilities(const vtkBase64Utilities&) VTK_DELETE_FUNCTION;
135  void operator=(const vtkBase64Utilities&) VTK_DELETE_FUNCTION;
136 };
137 
138 #endif
139 // VTK-HeaderTest-Exclude: vtkBase64Utilities.h
abstract base class for most VTK objects
Definition: vtkObject.h:59
base64 encode and decode utilities.
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...