1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
7 #include "ios/web/navigation/nscoder_util.h"
10 namespace nscoder_util {
12 void EncodeString(NSCoder* coder, NSString* key, const std::string& string) {
13 [coder encodeBytes:reinterpret_cast<const uint8_t*>(string.data())
18 std::string DecodeString(NSCoder* decoder, NSString* key) {
19 NSUInteger length = 0;
20 const uint8_t* bytes = [decoder decodeBytesForKey:key returnedLength:&length];
21 return std::string(reinterpret_cast<const char*>(bytes), length);
24 } // namespace nscoder_util