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 "vtkObject.h"
25 
27 {
28 public:
29  static vtkBase64Utilities *New();
31 
33 
34  static void EncodeTriplet(unsigned char i0,
35  unsigned char i1,
36  unsigned char i2,
37  unsigned char *o0,
38  unsigned char *o1,
39  unsigned char *o2,
40  unsigned char *o3);
42 
44 
45  static void EncodePair(unsigned char i0,
46  unsigned char i1,
47  unsigned char *o0,
48  unsigned char *o1,
49  unsigned char *o2,
50  unsigned char *o3);
52 
54 
55  static void EncodeSingle(unsigned char i0,
56  unsigned char *o0,
57  unsigned char *o1,
58  unsigned char *o2,
59  unsigned char *o3);
61 
63 
73  static unsigned long Encode(const unsigned char *input,
74  unsigned long length,
75  unsigned char *output,
76  int mark_end = 0);
78 
79 
81 
82  static int DecodeTriplet(unsigned char i0,
83  unsigned char i1,
84  unsigned char i2,
85  unsigned char i3,
86  unsigned char *o0,
87  unsigned char *o1,
88  unsigned char *o2);
90 
92 
101  static unsigned long Decode(const unsigned char *input,
102  unsigned long length,
103  unsigned char *output,
104  unsigned long max_input_length = 0);
106 
107 protected:
110 
111 private:
112  vtkBase64Utilities(const vtkBase64Utilities&); // Not implemented.
113  void operator=(const vtkBase64Utilities&); // Not implemented.
114 };
115 
116 #endif