// Copyright 2013 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "mojo/common/common_type_converters.h" #include #include "base/strings/utf_string_conversions.h" namespace mojo { // static String TypeConverter::ConvertFrom( const base::StringPiece& input, Buffer* buf) { if (input.empty()) return String(); String::Builder result(input.size(), buf); memcpy(&result[0], input.data(), input.size()); return result.Finish(); } // static base::StringPiece TypeConverter::ConvertTo( const String& input) { return input.is_null() ? base::StringPiece() : base::StringPiece(&input[0], input.size()); } // static String TypeConverter::ConvertFrom( const base::string16& input, Buffer* buf) { return TypeConverter::ConvertFrom( base::UTF16ToUTF8(input), buf); } // static base::string16 TypeConverter::ConvertTo( const String& input) { return input.is_null() ? base::string16() : base::UTF8ToUTF16(base::StringPiece(&input[0], input.size())); } } // namespace mojo