--- /dev/null
+// Copyright (c) 2009 The Chromium Embedded Framework 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 CEF_LIBCEF_DLL_TRANSFER_UTIL_H_
+#define CEF_LIBCEF_DLL_TRANSFER_UTIL_H_
+#pragma once
+
+#include <map>
+#include <vector>
+
+#include "include/internal/cef_string_list.h"
+#include "include/internal/cef_string_map.h"
+#include "include/internal/cef_string_multimap.h"
+
+// Copy contents from one list type to another.
+typedef std::vector<CefString> StringList;
+void transfer_string_list_contents(cef_string_list_t fromList,
+ StringList& toList);
+void transfer_string_list_contents(const StringList& fromList,
+ cef_string_list_t toList);
+
+// Copy contents from one map type to another.
+typedef std::map<CefString, CefString> StringMap;
+void transfer_string_map_contents(cef_string_map_t fromMap,
+ StringMap& toMap);
+void transfer_string_map_contents(const StringMap& fromMap,
+ cef_string_map_t toMap);
+
+// Copy contents from one map type to another.
+typedef std::multimap<CefString, CefString> StringMultimap;
+void transfer_string_multimap_contents(cef_string_multimap_t fromMap,
+ StringMultimap& toMap);
+void transfer_string_multimap_contents(const StringMultimap& fromMap,
+ cef_string_multimap_t toMap);
+
+#endif // CEF_LIBCEF_DLL_TRANSFER_UTIL_H_