1 /* libs/graphics/animator/SkBase64.h 2 ** 3 ** Copyright 2006, The Android Open Source Project 4 ** 5 ** Licensed under the Apache License, Version 2.0 (the "License"); 6 ** you may not use this file except in compliance with the License. 7 ** You may obtain a copy of the License at 8 ** 9 ** http://www.apache.org/licenses/LICENSE-2.0 10 ** 11 ** Unless required by applicable law or agreed to in writing, software 12 ** distributed under the License is distributed on an "AS IS" BASIS, 13 ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 ** See the License for the specific language governing permissions and 15 ** limitations under the License. 16 */ 17 18 #ifndef SkBase64_DEFINED 19 #define SkBase64_DEFINED 20 21 #include "SkTypes.h" 22 23 struct SkBase64 { 24 public: 25 enum Error { 26 kNoError, 27 kPadError, 28 kBadCharError 29 }; 30 31 SkBase64(); 32 Error decode(const char* src, size_t length); getDataSkBase6433 char* getData() { return fData; } 34 static size_t Encode(const void* src, size_t length, void* dest); 35 36 #ifdef SK_SUPPORT_UNITTEST 37 static void UnitTest(); 38 #endif 39 private: 40 Error decode(const void* srcPtr, size_t length, bool writeDestination); 41 42 size_t fLength; 43 char* fData; 44 friend class SkImage; 45 }; 46 47 #endif // SkBase64_DEFINED 48