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 
28 class VTKIOCORE_EXPORT vtkBase64Utilities : public vtkObject
29 {
30 public:
31  static vtkBase64Utilities *New();
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 
126 protected:
129 
130 private:
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
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...