Add ICU message format support
[chromium-blink-merge.git] / ios / web / navigation / nscoder_util.mm
blob9218f37ff4a9a561bd2e254df4a2609bda4a6dd4
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.
5 #include <string>
7 #include "ios/web/navigation/nscoder_util.h"
9 namespace web {
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())
14               length:string.size()
15               forKey:key];
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
25 }  // namespace web