OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2006 The Android Open Source Project | 2 * Copyright 2006 The Android Open Source Project |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
6 */ | 6 */ |
7 | 7 |
8 #ifndef SkBase64_DEFINED | 8 #ifndef SkBase64_DEFINED |
9 #define SkBase64_DEFINED | 9 #define SkBase64_DEFINED |
10 | 10 |
11 #include "SkTypes.h" | 11 #include "SkTypes.h" |
12 | 12 |
13 struct SkBase64 { | 13 struct SkBase64 { |
14 public: | 14 public: |
15 enum Error { | 15 enum Error { |
16 kNoError, | 16 kNoError, |
17 kPadError, | 17 kPadError, |
18 kBadCharError | 18 kBadCharError |
19 }; | 19 }; |
20 | 20 |
21 SkBase64(); | 21 SkBase64(); |
22 Error decode(const char* src, size_t length); | 22 Error decode(const char* src, size_t length); |
23 char* getData() { return fData; } | 23 char* getData() { return fData; } |
24 /** | 24 /** |
25 Base64 encodes src into dst. encode is a pointer to at least 65 chars. | 25 Base64 encodes src into dst. encode is a pointer to at least 65 chars. |
26 encode[64] will be used as the pad character. Encodings other than the | 26 encode[64] will be used as the pad character. Encodings other than the |
27 default encoding cannot be decoded. | 27 default encoding cannot be decoded. |
28 */ | 28 */ |
29 static size_t Encode(const void* src, size_t length, void* dest, const char*
encode = NULL); | 29 static size_t Encode(const void* src, size_t length, void* dest, const char*
encode = nullptr); |
30 | 30 |
31 private: | 31 private: |
32 Error decode(const void* srcPtr, size_t length, bool writeDestination); | 32 Error decode(const void* srcPtr, size_t length, bool writeDestination); |
33 | 33 |
34 size_t fLength; | 34 size_t fLength; |
35 char* fData; | 35 char* fData; |
36 friend class SkImageBaseBitmap; | 36 friend class SkImageBaseBitmap; |
37 }; | 37 }; |
38 | 38 |
39 #endif // SkBase64_DEFINED | 39 #endif // SkBase64_DEFINED |
OLD | NEW |