]> git.sesse.net Git - casparcg/blobdiff - dependencies64/cef/windows/include/capi/test/cef_translator_test_capi.h
Upgrade CEF to 3.3029.1611.g44e39a8 / Chromium 58.0.3029.81.
[casparcg] / dependencies64 / cef / windows / include / capi / test / cef_translator_test_capi.h
diff --git a/dependencies64/cef/windows/include/capi/test/cef_translator_test_capi.h b/dependencies64/cef/windows/include/capi/test/cef_translator_test_capi.h
new file mode 100644 (file)
index 0000000..14d3fd5
--- /dev/null
@@ -0,0 +1,777 @@
+// Copyright (c) 2017 Marshall A. Greenblatt. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+//    * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+//    * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following disclaimer
+// in the documentation and/or other materials provided with the
+// distribution.
+//    * Neither the name of Google Inc. nor the name Chromium Embedded
+// Framework nor the names of its contributors may be used to endorse
+// or promote products derived from this software without specific prior
+// written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+//
+// ---------------------------------------------------------------------------
+//
+// This file was generated by the CEF translator tool and should not edited
+// by hand. See the translator.README.txt file in the tools directory for
+// more information.
+//
+
+#ifndef CEF_INCLUDE_CAPI_TEST_CEF_TRANSLATOR_TEST_CAPI_H_
+#define CEF_INCLUDE_CAPI_TEST_CEF_TRANSLATOR_TEST_CAPI_H_
+#pragma once
+
+#if !defined(BUILDING_CEF_SHARED) && !defined(WRAPPING_CEF_SHARED) && \
+    !defined(UNIT_TEST)
+#error This file can be included for unit tests only
+#endif
+
+#include "include/capi/cef_base_capi.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+struct _cef_translator_test_ref_ptr_client_child_t;
+struct _cef_translator_test_ref_ptr_client_t;
+struct _cef_translator_test_ref_ptr_library_child_t;
+struct _cef_translator_test_ref_ptr_library_t;
+struct _cef_translator_test_scoped_client_child_t;
+struct _cef_translator_test_scoped_client_t;
+struct _cef_translator_test_scoped_library_child_t;
+struct _cef_translator_test_scoped_library_t;
+
+///
+// Structure for testing all of the possible data transfer types.
+///
+typedef struct _cef_translator_test_t {
+  ///
+  // Base structure.
+  ///
+  cef_base_ref_counted_t base;
+
+
+  // PRIMITIVE VALUES
+
+  ///
+  // Return a void value.
+  ///
+  void (CEF_CALLBACK *get_void)(struct _cef_translator_test_t* self);
+
+  ///
+  // Return a bool value.
+  ///
+  int (CEF_CALLBACK *get_bool)(struct _cef_translator_test_t* self);
+
+  ///
+  // Return an int value.
+  ///
+  int (CEF_CALLBACK *get_int)(struct _cef_translator_test_t* self);
+
+  ///
+  // Return a double value.
+  ///
+  double (CEF_CALLBACK *get_double)(struct _cef_translator_test_t* self);
+
+  ///
+  // Return a long value.
+  ///
+  long (CEF_CALLBACK *get_long)(struct _cef_translator_test_t* self);
+
+  ///
+  // Return a size_t value.
+  ///
+  size_t (CEF_CALLBACK *get_sizet)(struct _cef_translator_test_t* self);
+
+  ///
+  // Set a void value.
+  ///
+  int (CEF_CALLBACK *set_void)(struct _cef_translator_test_t* self);
+
+  ///
+  // Set a bool value.
+  ///
+  int (CEF_CALLBACK *set_bool)(struct _cef_translator_test_t* self, int val);
+
+  ///
+  // Set an int value.
+  ///
+  int (CEF_CALLBACK *set_int)(struct _cef_translator_test_t* self, int val);
+
+  ///
+  // Set a double value.
+  ///
+  int (CEF_CALLBACK *set_double)(struct _cef_translator_test_t* self,
+      double val);
+
+  ///
+  // Set a long value.
+  ///
+  int (CEF_CALLBACK *set_long)(struct _cef_translator_test_t* self, long val);
+
+  ///
+  // Set a size_t value.
+  ///
+  int (CEF_CALLBACK *set_sizet)(struct _cef_translator_test_t* self,
+      size_t val);
+
+  ///
+  // Set a int list value.
+  ///
+  int (CEF_CALLBACK *set_int_list)(struct _cef_translator_test_t* self,
+      size_t valCount, int const* val);
+
+  ///
+  // Return an int list value by out-param.
+  ///
+  int (CEF_CALLBACK *get_int_list_by_ref)(struct _cef_translator_test_t* self,
+      size_t* valCount, int* val);
+
+  ///
+  // Return the number of points that will be output above.
+  ///
+  size_t (CEF_CALLBACK *get_int_list_size)(struct _cef_translator_test_t* self);
+
+
+  // STRING VALUES
+
+  ///
+  // Return a string value.
+  ///
+  // The resulting string must be freed by calling cef_string_userfree_free().
+  cef_string_userfree_t (CEF_CALLBACK *get_string)(
+      struct _cef_translator_test_t* self);
+
+  ///
+  // Set a string value.
+  ///
+  int (CEF_CALLBACK *set_string)(struct _cef_translator_test_t* self,
+      const cef_string_t* val);
+
+  ///
+  // Return a string value by out-param.
+  ///
+  void (CEF_CALLBACK *get_string_by_ref)(struct _cef_translator_test_t* self,
+      cef_string_t* val);
+
+  ///
+  // Set a string list value.
+  ///
+  int (CEF_CALLBACK *set_string_list)(struct _cef_translator_test_t* self,
+      cef_string_list_t val);
+
+  ///
+  // Return a string list value by out-param.
+  ///
+  int (CEF_CALLBACK *get_string_list_by_ref)(
+      struct _cef_translator_test_t* self, cef_string_list_t val);
+
+  ///
+  // Set a string map value.
+  ///
+  int (CEF_CALLBACK *set_string_map)(struct _cef_translator_test_t* self,
+      cef_string_map_t val);
+
+  ///
+  // Return a string map value by out-param.
+  ///
+  int (CEF_CALLBACK *get_string_map_by_ref)(struct _cef_translator_test_t* self,
+      cef_string_map_t val);
+
+  ///
+  // Set a string multimap value.
+  ///
+  int (CEF_CALLBACK *set_string_multimap)(struct _cef_translator_test_t* self,
+      cef_string_multimap_t val);
+
+  ///
+  // Return a string multimap value by out-param.
+  ///
+  int (CEF_CALLBACK *get_string_multimap_by_ref)(
+      struct _cef_translator_test_t* self, cef_string_multimap_t val);
+
+
+  // STRUCT VALUES
+
+  ///
+  // Return a point value.
+  ///
+  cef_point_t (CEF_CALLBACK *get_point)(struct _cef_translator_test_t* self);
+
+  ///
+  // Set a point value.
+  ///
+  int (CEF_CALLBACK *set_point)(struct _cef_translator_test_t* self,
+      const cef_point_t* val);
+
+  ///
+  // Return a point value by out-param.
+  ///
+  void (CEF_CALLBACK *get_point_by_ref)(struct _cef_translator_test_t* self,
+      cef_point_t* val);
+
+  ///
+  // Set a point list vlaue.
+  ///
+  int (CEF_CALLBACK *set_point_list)(struct _cef_translator_test_t* self,
+      size_t valCount, cef_point_t const* val);
+
+  ///
+  // Return a point list value by out-param.
+  ///
+  int (CEF_CALLBACK *get_point_list_by_ref)(struct _cef_translator_test_t* self,
+      size_t* valCount, cef_point_t* val);
+
+  ///
+  // Return the number of points that will be output above.
+  ///
+  size_t (CEF_CALLBACK *get_point_list_size)(
+      struct _cef_translator_test_t* self);
+
+
+  // LIBRARY-SIDE REFPTR VALUES
+
+  ///
+  // Return an new library-side object.
+  ///
+  struct _cef_translator_test_ref_ptr_library_t* (
+      CEF_CALLBACK *get_ref_ptr_library)(struct _cef_translator_test_t* self,
+      int val);
+
+  ///
+  // Set an object. Returns the value from
+  // cef_translator_test_ref_ptr_library_t::get_value(). This tests input and
+  // execution of a library-side object type.
+  ///
+  int (CEF_CALLBACK *set_ref_ptr_library)(struct _cef_translator_test_t* self,
+      struct _cef_translator_test_ref_ptr_library_t* val);
+
+  ///
+  // Set an object. Returns the object passed in. This tests input and output of
+  // a library-side object type.
+  ///
+  struct _cef_translator_test_ref_ptr_library_t* (
+      CEF_CALLBACK *set_ref_ptr_library_and_return)(
+      struct _cef_translator_test_t* self,
+      struct _cef_translator_test_ref_ptr_library_t* val);
+
+  ///
+  // Set a child object. Returns the value from
+  // cef_translator_test_ref_ptr_library_t::get_value(). This tests input of a
+  // library- side child object type and execution as the parent type.
+  ///
+  int (CEF_CALLBACK *set_child_ref_ptr_library)(
+      struct _cef_translator_test_t* self,
+      struct _cef_translator_test_ref_ptr_library_child_t* val);
+
+  ///
+  // Set a child object. Returns the object as the parent type. This tests input
+  // of a library-side child object type and return as the parent type.
+  ///
+  struct _cef_translator_test_ref_ptr_library_t* (
+      CEF_CALLBACK *set_child_ref_ptr_library_and_return_parent)(
+      struct _cef_translator_test_t* self,
+      struct _cef_translator_test_ref_ptr_library_child_t* val);
+
+  ///
+  // Set an object list vlaue.
+  ///
+  int (CEF_CALLBACK *set_ref_ptr_library_list)(
+      struct _cef_translator_test_t* self, size_t valCount,
+      struct _cef_translator_test_ref_ptr_library_t* const* val, int val1,
+      int val2);
+
+  ///
+  // Return an object list value by out-param.
+  ///
+  int (CEF_CALLBACK *get_ref_ptr_library_list_by_ref)(
+      struct _cef_translator_test_t* self, size_t* valCount,
+      struct _cef_translator_test_ref_ptr_library_t** val, int val1,
+      int val2);
+
+  ///
+  // Return the number of object that will be output above.
+  ///
+  size_t (CEF_CALLBACK *get_ref_ptr_library_list_size)(
+      struct _cef_translator_test_t* self);
+
+
+  // CLIENT-SIDE REFPTR VALUES
+
+  ///
+  // Set an object. Returns the value from
+  // cef_translator_test_ref_ptr_client_t::get_value(). This tests input and
+  // execution of a client-side object type.
+  ///
+  int (CEF_CALLBACK *set_ref_ptr_client)(struct _cef_translator_test_t* self,
+      struct _cef_translator_test_ref_ptr_client_t* val);
+
+  ///
+  // Set an object. Returns the handler passed in. This tests input and output
+  // of a client-side object type.
+  ///
+  struct _cef_translator_test_ref_ptr_client_t* (
+      CEF_CALLBACK *set_ref_ptr_client_and_return)(
+      struct _cef_translator_test_t* self,
+      struct _cef_translator_test_ref_ptr_client_t* val);
+
+  ///
+  // Set a child object. Returns the value from
+  // cef_translator_test_ref_ptr_client_t::get_value(). This tests input of a
+  // client- side child object type and execution as the parent type.
+  ///
+  int (CEF_CALLBACK *set_child_ref_ptr_client)(
+      struct _cef_translator_test_t* self,
+      struct _cef_translator_test_ref_ptr_client_child_t* val);
+
+  ///
+  // Set a child object. Returns the object as the parent type. This tests input
+  // of a client-side child object type and return as the parent type.
+  ///
+  struct _cef_translator_test_ref_ptr_client_t* (
+      CEF_CALLBACK *set_child_ref_ptr_client_and_return_parent)(
+      struct _cef_translator_test_t* self,
+      struct _cef_translator_test_ref_ptr_client_child_t* val);
+
+  ///
+  // Set an object list vlaue.
+  ///
+  int (CEF_CALLBACK *set_ref_ptr_client_list)(
+      struct _cef_translator_test_t* self, size_t valCount,
+      struct _cef_translator_test_ref_ptr_client_t* const* val, int val1,
+      int val2);
+
+  ///
+  // Return an object list value by out-param.
+  ///
+  int (CEF_CALLBACK *get_ref_ptr_client_list_by_ref)(
+      struct _cef_translator_test_t* self, size_t* valCount,
+      struct _cef_translator_test_ref_ptr_client_t** val,
+      struct _cef_translator_test_ref_ptr_client_t* val1,
+      struct _cef_translator_test_ref_ptr_client_t* val2);
+
+  ///
+  // Return the number of object that will be output above.
+  ///
+  size_t (CEF_CALLBACK *get_ref_ptr_client_list_size)(
+      struct _cef_translator_test_t* self);
+
+
+  // LIBRARY-SIDE OWNPTR VALUES
+
+  ///
+  // Return an new library-side object.
+  ///
+  struct _cef_translator_test_scoped_library_t* (
+      CEF_CALLBACK *get_own_ptr_library)(struct _cef_translator_test_t* self,
+      int val);
+
+  ///
+  // Set an object. Returns the value from
+  // cef_translator_test_scoped_library_t::get_value(). This tests input and
+  // execution of a library-side object type.
+  ///
+  int (CEF_CALLBACK *set_own_ptr_library)(struct _cef_translator_test_t* self,
+      struct _cef_translator_test_scoped_library_t* val);
+
+  ///
+  // Set an object. Returns the object passed in. This tests input and output of
+  // a library-side object type.
+  ///
+  struct _cef_translator_test_scoped_library_t* (
+      CEF_CALLBACK *set_own_ptr_library_and_return)(
+      struct _cef_translator_test_t* self,
+      struct _cef_translator_test_scoped_library_t* val);
+
+  ///
+  // Set a child object. Returns the value from
+  // cef_translator_test_scoped_library_t::get_value(). This tests input of a
+  // library- side child object type and execution as the parent type.
+  ///
+  int (CEF_CALLBACK *set_child_own_ptr_library)(
+      struct _cef_translator_test_t* self,
+      struct _cef_translator_test_scoped_library_child_t* val);
+
+  ///
+  // Set a child object. Returns the object as the parent type. This tests input
+  // of a library-side child object type and return as the parent type.
+  ///
+  struct _cef_translator_test_scoped_library_t* (
+      CEF_CALLBACK *set_child_own_ptr_library_and_return_parent)(
+      struct _cef_translator_test_t* self,
+      struct _cef_translator_test_scoped_library_child_t* val);
+
+
+  // CLIENT-SIDE OWNPTR VALUES
+
+  ///
+  // Set an object. Returns the value from
+  // cef_translator_test_scoped_client_t::get_value(). This tests input and
+  // execution of a client-side object type.
+  ///
+  int (CEF_CALLBACK *set_own_ptr_client)(struct _cef_translator_test_t* self,
+      struct _cef_translator_test_scoped_client_t* val);
+
+  ///
+  // Set an object. Returns the handler passed in. This tests input and output
+  // of a client-side object type.
+  ///
+  struct _cef_translator_test_scoped_client_t* (
+      CEF_CALLBACK *set_own_ptr_client_and_return)(
+      struct _cef_translator_test_t* self,
+      struct _cef_translator_test_scoped_client_t* val);
+
+  ///
+  // Set a child object. Returns the value from
+  // cef_translator_test_scoped_client_t::get_value(). This tests input of a
+  // client- side child object type and execution as the parent type.
+  ///
+  int (CEF_CALLBACK *set_child_own_ptr_client)(
+      struct _cef_translator_test_t* self,
+      struct _cef_translator_test_scoped_client_child_t* val);
+
+  ///
+  // Set a child object. Returns the object as the parent type. This tests input
+  // of a client-side child object type and return as the parent type.
+  ///
+  struct _cef_translator_test_scoped_client_t* (
+      CEF_CALLBACK *set_child_own_ptr_client_and_return_parent)(
+      struct _cef_translator_test_t* self,
+      struct _cef_translator_test_scoped_client_child_t* val);
+
+
+  // LIBRARY-SIDE RAWPTR VALUES
+
+  ///
+  // Set an object. Returns the value from
+  // cef_translator_test_scoped_library_t::get_value(). This tests input and
+  // execution of a library-side object type.
+  ///
+  int (CEF_CALLBACK *set_raw_ptr_library)(struct _cef_translator_test_t* self,
+      struct _cef_translator_test_scoped_library_t* val);
+
+  ///
+  // Set a child object. Returns the value from
+  // cef_translator_test_scoped_library_t::get_value(). This tests input of a
+  // library- side child object type and execution as the parent type.
+  ///
+  int (CEF_CALLBACK *set_child_raw_ptr_library)(
+      struct _cef_translator_test_t* self,
+      struct _cef_translator_test_scoped_library_child_t* val);
+
+  ///
+  // Set an object list vlaue.
+  ///
+  int (CEF_CALLBACK *set_raw_ptr_library_list)(
+      struct _cef_translator_test_t* self, size_t valCount,
+      struct _cef_translator_test_scoped_library_t* const* val, int val1,
+      int val2);
+
+
+  // CLIENT-SIDE RAWPTR VALUES
+
+  ///
+  // Set an object. Returns the value from
+  // cef_translator_test_scoped_client_t::get_value(). This tests input and
+  // execution of a client-side object type.
+  ///
+  int (CEF_CALLBACK *set_raw_ptr_client)(struct _cef_translator_test_t* self,
+      struct _cef_translator_test_scoped_client_t* val);
+
+  ///
+  // Set a child object. Returns the value from
+  // cef_translator_test_scoped_client_t::get_value(). This tests input of a
+  // client- side child object type and execution as the parent type.
+  ///
+  int (CEF_CALLBACK *set_child_raw_ptr_client)(
+      struct _cef_translator_test_t* self,
+      struct _cef_translator_test_scoped_client_child_t* val);
+
+  ///
+  // Set an object list vlaue.
+  ///
+  int (CEF_CALLBACK *set_raw_ptr_client_list)(
+      struct _cef_translator_test_t* self, size_t valCount,
+      struct _cef_translator_test_scoped_client_t* const* val, int val1,
+      int val2);
+} cef_translator_test_t;
+
+
+///
+// Create the test object.
+///
+CEF_EXPORT cef_translator_test_t* cef_translator_test_create();
+
+
+///
+// Library-side test object for RefPtr.
+///
+typedef struct _cef_translator_test_ref_ptr_library_t {
+  ///
+  // Base structure.
+  ///
+  cef_base_ref_counted_t base;
+
+  ///
+  // Return a value.
+  ///
+  int (CEF_CALLBACK *get_value)(
+      struct _cef_translator_test_ref_ptr_library_t* self);
+
+  ///
+  // Set a value.
+  ///
+  void (CEF_CALLBACK *set_value)(
+      struct _cef_translator_test_ref_ptr_library_t* self, int value);
+} cef_translator_test_ref_ptr_library_t;
+
+
+///
+// Create the test object.
+///
+CEF_EXPORT cef_translator_test_ref_ptr_library_t* cef_translator_test_ref_ptr_library_create(
+    int value);
+
+
+///
+// Library-side child test object for RefPtr.
+///
+typedef struct _cef_translator_test_ref_ptr_library_child_t {
+  ///
+  // Base structure.
+  ///
+  cef_translator_test_ref_ptr_library_t base;
+
+  ///
+  // Return a value.
+  ///
+  int (CEF_CALLBACK *get_other_value)(
+      struct _cef_translator_test_ref_ptr_library_child_t* self);
+
+  ///
+  // Set a value.
+  ///
+  void (CEF_CALLBACK *set_other_value)(
+      struct _cef_translator_test_ref_ptr_library_child_t* self, int value);
+} cef_translator_test_ref_ptr_library_child_t;
+
+
+///
+// Create the test object.
+///
+CEF_EXPORT cef_translator_test_ref_ptr_library_child_t* cef_translator_test_ref_ptr_library_child_create(
+    int value, int other_value);
+
+
+///
+// Another library-side child test object for RefPtr.
+///
+typedef struct _cef_translator_test_ref_ptr_library_child_child_t {
+  ///
+  // Base structure.
+  ///
+  cef_translator_test_ref_ptr_library_child_t base;
+
+  ///
+  // Return a value.
+  ///
+  int (CEF_CALLBACK *get_other_other_value)(
+      struct _cef_translator_test_ref_ptr_library_child_child_t* self);
+
+  ///
+  // Set a value.
+  ///
+  void (CEF_CALLBACK *set_other_other_value)(
+      struct _cef_translator_test_ref_ptr_library_child_child_t* self,
+      int value);
+} cef_translator_test_ref_ptr_library_child_child_t;
+
+
+///
+// Create the test object.
+///
+CEF_EXPORT cef_translator_test_ref_ptr_library_child_child_t* cef_translator_test_ref_ptr_library_child_child_create(
+    int value, int other_value, int other_other_value);
+
+
+///
+// Client-side test object for RefPtr.
+///
+typedef struct _cef_translator_test_ref_ptr_client_t {
+  ///
+  // Base structure.
+  ///
+  cef_base_ref_counted_t base;
+
+  ///
+  // Return a value.
+  ///
+  int (CEF_CALLBACK *get_value)(
+      struct _cef_translator_test_ref_ptr_client_t* self);
+} cef_translator_test_ref_ptr_client_t;
+
+
+///
+// Client-side child test object for RefPtr.
+///
+typedef struct _cef_translator_test_ref_ptr_client_child_t {
+  ///
+  // Base structure.
+  ///
+  cef_translator_test_ref_ptr_client_t base;
+
+  ///
+  // Return a value.
+  ///
+  int (CEF_CALLBACK *get_other_value)(
+      struct _cef_translator_test_ref_ptr_client_child_t* self);
+} cef_translator_test_ref_ptr_client_child_t;
+
+
+///
+// Library-side test object for OwnPtr/RawPtr.
+///
+typedef struct _cef_translator_test_scoped_library_t {
+  ///
+  // Base structure.
+  ///
+  cef_base_scoped_t base;
+
+  ///
+  // Return a value.
+  ///
+  int (CEF_CALLBACK *get_value)(
+      struct _cef_translator_test_scoped_library_t* self);
+
+  ///
+  // Set a value.
+  ///
+  void (CEF_CALLBACK *set_value)(
+      struct _cef_translator_test_scoped_library_t* self, int value);
+} cef_translator_test_scoped_library_t;
+
+
+///
+// Create the test object.
+///
+CEF_EXPORT cef_translator_test_scoped_library_t* cef_translator_test_scoped_library_create(
+    int value);
+
+
+///
+// Library-side child test object for OwnPtr/RawPtr.
+///
+typedef struct _cef_translator_test_scoped_library_child_t {
+  ///
+  // Base structure.
+  ///
+  cef_translator_test_scoped_library_t base;
+
+  ///
+  // Return a value.
+  ///
+  int (CEF_CALLBACK *get_other_value)(
+      struct _cef_translator_test_scoped_library_child_t* self);
+
+  ///
+  // Set a value.
+  ///
+  void (CEF_CALLBACK *set_other_value)(
+      struct _cef_translator_test_scoped_library_child_t* self, int value);
+} cef_translator_test_scoped_library_child_t;
+
+
+///
+// Create the test object.
+///
+CEF_EXPORT cef_translator_test_scoped_library_child_t* cef_translator_test_scoped_library_child_create(
+    int value, int other_value);
+
+
+///
+// Another library-side child test object for OwnPtr/RawPtr.
+///
+typedef struct _cef_translator_test_scoped_library_child_child_t {
+  ///
+  // Base structure.
+  ///
+  cef_translator_test_scoped_library_child_t base;
+
+  ///
+  // Return a value.
+  ///
+  int (CEF_CALLBACK *get_other_other_value)(
+      struct _cef_translator_test_scoped_library_child_child_t* self);
+
+  ///
+  // Set a value.
+  ///
+  void (CEF_CALLBACK *set_other_other_value)(
+      struct _cef_translator_test_scoped_library_child_child_t* self,
+      int value);
+} cef_translator_test_scoped_library_child_child_t;
+
+
+///
+// Create the test object.
+///
+CEF_EXPORT cef_translator_test_scoped_library_child_child_t* cef_translator_test_scoped_library_child_child_create(
+    int value, int other_value, int other_other_value);
+
+
+///
+// Client-side test object for OwnPtr/RawPtr.
+///
+typedef struct _cef_translator_test_scoped_client_t {
+  ///
+  // Base structure.
+  ///
+  cef_base_scoped_t base;
+
+  ///
+  // Return a value.
+  ///
+  int (CEF_CALLBACK *get_value)(
+      struct _cef_translator_test_scoped_client_t* self);
+} cef_translator_test_scoped_client_t;
+
+
+///
+// Client-side child test object for OwnPtr/RawPtr.
+///
+typedef struct _cef_translator_test_scoped_client_child_t {
+  ///
+  // Base structure.
+  ///
+  cef_translator_test_scoped_client_t base;
+
+  ///
+  // Return a value.
+  ///
+  int (CEF_CALLBACK *get_other_value)(
+      struct _cef_translator_test_scoped_client_child_t* self);
+} cef_translator_test_scoped_client_child_t;
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif  // CEF_INCLUDE_CAPI_TEST_CEF_TRANSLATOR_TEST_CAPI_H_