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 =========================================================================*/
21 #ifndef vtkBase64Utilities_h
22 #define vtkBase64Utilities_h
23 
24 #include "vtkIOCoreModule.h" // For export macro
25 #include "vtkObject.h"
26 
28 {
29 public:
30  static vtkBase64Utilities *New();
32 
34 
35  static void EncodeTriplet(unsigned char i0,
36  unsigned char i1,
37  unsigned char i2,
38  unsigned char *o0,
39  unsigned char *o1,
40  unsigned char *o2,
41  unsigned char *o3);
43 
45 
46  static void EncodePair(unsigned char i0,
47  unsigned char i1,
48  unsigned char *o0,
49  unsigned char *o1,
50  unsigned char *o2,
51  unsigned char *o3);
53 
55 
56  static void EncodeSingle(unsigned char i0,
57  unsigned char *o0,
58  unsigned char *o1,
59  unsigned char *o2,
60  unsigned char *o3);
62 
64 
74  static unsigned long Encode(const unsigned char *input,
75  unsigned long length,
76  unsigned char *output,
77  int mark_end = 0);
79 
80 
82 
83  static int DecodeTriplet(unsigned char i0,
84  unsigned char i1,
85  unsigned char i2,
86  unsigned char i3,
87  unsigned char *o0,
88  unsigned char *o1,
89  unsigned char *o2);
91 
93 
102  static unsigned long Decode(const unsigned char *input,
103  unsigned long length,
104  unsigned char *output,
105  unsigned long max_input_length = 0);
107 
108 protected:
111 
112 private:
113  vtkBase64Utilities(const vtkBase64Utilities&); // Not implemented.
114  void operator=(const vtkBase64Utilities&); // Not implemented.
115 };
116 
117 #endif
118 // VTK-HeaderTest-Exclude: vtkBase64Utilities.h
abstract base class for most VTK objects
Definition: vtkObject.h:61
GLenum GLenum GLenum input
Definition: vtkgl.h:15941
GLuint GLsizei GLsizei * length
Definition: vtkgl.h:11992
base64 encode and decode utilities.
#define vtkTypeMacro(thisClass, superclass)
Definition: vtkSetGet.h:642
#define VTKIOCORE_EXPORT
static vtkObject * New()