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 
89  static int DecodeTriplet(unsigned char i0,
90  unsigned char i1,
91  unsigned char i2,
92  unsigned char i3,
93  unsigned char *o0,
94  unsigned char *o1,
95  unsigned char *o2);
96 
106  static size_t DecodeSafely(const unsigned char *input,
107  size_t inputLen,
108  unsigned char *output,
109  size_t outputLen);
110 
111 protected:
113  ~vtkBase64Utilities() override {}
114 
115 private:
116  vtkBase64Utilities(const vtkBase64Utilities&) = delete;
117  void operator=(const vtkBase64Utilities&) = delete;
118 };
119 
120 #endif
121 // VTK-HeaderTest-Exclude: vtkBase64Utilities.h
abstract base class for most VTK objects
Definition: vtkObject.h:59
base64 encode and decode utilities.
~vtkBase64Utilities() override
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...