// Copyright 2016 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/public/cpp/bindings/string_traits_string16.h" #include #include "base/strings/utf_string_conversions.h" namespace mojo { // static void* StringTraits::SetUpContext(const base::string16& input) { return new std::string(base::UTF16ToUTF8(input)); } // static void StringTraits::TearDownContext(const base::string16& input, void* context) { delete static_cast(context); } // static size_t StringTraits::GetSize(const base::string16& input, void* context) { return static_cast(context)->size(); } // static const char* StringTraits::GetData(const base::string16& input, void* context) { return static_cast(context)->data(); } // static bool StringTraits::Read(StringDataView input, base::string16* output) { return base::UTF8ToUTF16(input.storage(), input.size(), output); } } // namespace mojo