summaryrefslogtreecommitdiffstats
path: root/ipc/chromium/src/base/sys_string_conversions.h
diff options
context:
space:
mode:
Diffstat (limited to 'ipc/chromium/src/base/sys_string_conversions.h')
-rw-r--r--ipc/chromium/src/base/sys_string_conversions.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/ipc/chromium/src/base/sys_string_conversions.h b/ipc/chromium/src/base/sys_string_conversions.h
new file mode 100644
index 000000000..e3a51964a
--- /dev/null
+++ b/ipc/chromium/src/base/sys_string_conversions.h
@@ -0,0 +1,35 @@
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* vim: set ts=8 sts=2 et sw=2 tw=80: */
+// Copyright (c) 2006-2008 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.
+
+#ifndef BASE_SYS_STRING_CONVERSIONS_H_
+#define BASE_SYS_STRING_CONVERSIONS_H_
+
+// Provides system-dependent string type conversions for cases where it's
+// necessary to not use ICU. Generally, you should not need this in Chrome,
+// but it is used in some shared code. Dependencies should be minimal.
+
+#include <string>
+#include "base/basictypes.h"
+#include "base/string16.h"
+
+class StringPiece;
+
+namespace base {
+
+// Converts between wide and UTF-8 representations of a string. On error, the
+// result is system-dependent.
+std::string SysWideToUTF8(const std::wstring& wide);
+std::wstring SysUTF8ToWide(const StringPiece& utf8);
+
+// Converts between wide and the system multi-byte representations of a string.
+// DANGER: This will lose information and can change (on Windows, this can
+// change between reboots).
+std::string SysWideToNativeMB(const std::wstring& wide);
+std::wstring SysNativeMBToWide(const StringPiece& native_mb);
+
+} // namespace base
+
+#endif // BASE_SYS_STRING_CONVERSIONS_H_