• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 2022 Marshall A. Greenblatt. All rights reserved.
2 //
3 // Redistribution and use in source and binary forms, with or without
4 // modification, are permitted provided that the following conditions are
5 // met:
6 //
7 //    * Redistributions of source code must retain the above copyright
8 // notice, this list of conditions and the following disclaimer.
9 //    * Redistributions in binary form must reproduce the above
10 // copyright notice, this list of conditions and the following disclaimer
11 // in the documentation and/or other materials provided with the
12 // distribution.
13 //    * Neither the name of Google Inc. nor the name Chromium Embedded
14 // Framework nor the names of its contributors may be used to endorse
15 // or promote products derived from this software without specific prior
16 // written permission.
17 //
18 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 //
30 // ---------------------------------------------------------------------------
31 //
32 // This file was generated by the CEF translator tool and should not edited
33 // by hand. See the translator.README.txt file in the tools directory for
34 // more information.
35 //
36 // $hash=d70d5b74890e3ca91f01333ebdb4f3298caeb619$
37 //
38 
39 #ifndef CEF_INCLUDE_CAPI_TEST_CEF_TRANSLATOR_TEST_CAPI_H_
40 #define CEF_INCLUDE_CAPI_TEST_CEF_TRANSLATOR_TEST_CAPI_H_
41 #pragma once
42 
43 #if !defined(BUILDING_CEF_SHARED) && !defined(WRAPPING_CEF_SHARED) && \
44     !defined(UNIT_TEST)
45 #error This file can be included for unit tests only
46 #endif
47 
48 #include "include/capi/cef_base_capi.h"
49 
50 #ifdef __cplusplus
51 extern "C" {
52 #endif
53 
54 struct _cef_translator_test_ref_ptr_client_child_t;
55 struct _cef_translator_test_ref_ptr_client_t;
56 struct _cef_translator_test_ref_ptr_library_child_t;
57 struct _cef_translator_test_ref_ptr_library_t;
58 struct _cef_translator_test_scoped_client_child_t;
59 struct _cef_translator_test_scoped_client_t;
60 struct _cef_translator_test_scoped_library_child_t;
61 struct _cef_translator_test_scoped_library_t;
62 
63 ///
64 // Structure for testing all of the possible data transfer types.
65 ///
66 typedef struct _cef_translator_test_t {
67   ///
68   // Base structure.
69   ///
70   cef_base_ref_counted_t base;
71 
72   // PRIMITIVE VALUES
73 
74   ///
75   // Return a void value.
76   ///
77   void(CEF_CALLBACK* get_void)(struct _cef_translator_test_t* self);
78 
79   ///
80   // Return a bool value.
81   ///
82   int(CEF_CALLBACK* get_bool)(struct _cef_translator_test_t* self);
83 
84   ///
85   // Return an int value.
86   ///
87   int(CEF_CALLBACK* get_int)(struct _cef_translator_test_t* self);
88 
89   ///
90   // Return a double value.
91   ///
92   double(CEF_CALLBACK* get_double)(struct _cef_translator_test_t* self);
93 
94   ///
95   // Return a long value.
96   ///
97   long(CEF_CALLBACK* get_long)(struct _cef_translator_test_t* self);
98 
99   ///
100   // Return a size_t value.
101   ///
102   size_t(CEF_CALLBACK* get_sizet)(struct _cef_translator_test_t* self);
103 
104   ///
105   // Set a void value.
106   ///
107   int(CEF_CALLBACK* set_void)(struct _cef_translator_test_t* self);
108 
109   ///
110   // Set a bool value.
111   ///
112   int(CEF_CALLBACK* set_bool)(struct _cef_translator_test_t* self, int val);
113 
114   ///
115   // Set an int value.
116   ///
117   int(CEF_CALLBACK* set_int)(struct _cef_translator_test_t* self, int val);
118 
119   ///
120   // Set a double value.
121   ///
122   int(CEF_CALLBACK* set_double)(struct _cef_translator_test_t* self,
123                                 double val);
124 
125   ///
126   // Set a long value.
127   ///
128   int(CEF_CALLBACK* set_long)(struct _cef_translator_test_t* self, long val);
129 
130   ///
131   // Set a size_t value.
132   ///
133   int(CEF_CALLBACK* set_sizet)(struct _cef_translator_test_t* self, size_t val);
134 
135   ///
136   // Set a int list value.
137   ///
138   int(CEF_CALLBACK* set_int_list)(struct _cef_translator_test_t* self,
139                                   size_t valCount,
140                                   int const* val);
141 
142   ///
143   // Return an int list value by out-param.
144   ///
145   int(CEF_CALLBACK* get_int_list_by_ref)(struct _cef_translator_test_t* self,
146                                          size_t* valCount,
147                                          int* val);
148 
149   ///
150   // Return the number of points that will be output above.
151   ///
152   size_t(CEF_CALLBACK* get_int_list_size)(struct _cef_translator_test_t* self);
153 
154   // STRING VALUES
155 
156   ///
157   // Return a string value.
158   ///
159   // The resulting string must be freed by calling cef_string_userfree_free().
160   cef_string_userfree_t(CEF_CALLBACK* get_string)(
161       struct _cef_translator_test_t* self);
162 
163   ///
164   // Set a string value.
165   ///
166   int(CEF_CALLBACK* set_string)(struct _cef_translator_test_t* self,
167                                 const cef_string_t* val);
168 
169   ///
170   // Return a string value by out-param.
171   ///
172   void(CEF_CALLBACK* get_string_by_ref)(struct _cef_translator_test_t* self,
173                                         cef_string_t* val);
174 
175   ///
176   // Set a string list value.
177   ///
178   int(CEF_CALLBACK* set_string_list)(struct _cef_translator_test_t* self,
179                                      cef_string_list_t val);
180 
181   ///
182   // Return a string list value by out-param.
183   ///
184   int(CEF_CALLBACK* get_string_list_by_ref)(struct _cef_translator_test_t* self,
185                                             cef_string_list_t val);
186 
187   ///
188   // Set a string map value.
189   ///
190   int(CEF_CALLBACK* set_string_map)(struct _cef_translator_test_t* self,
191                                     cef_string_map_t val);
192 
193   ///
194   // Return a string map value by out-param.
195   ///
196   int(CEF_CALLBACK* get_string_map_by_ref)(struct _cef_translator_test_t* self,
197                                            cef_string_map_t val);
198 
199   ///
200   // Set a string multimap value.
201   ///
202   int(CEF_CALLBACK* set_string_multimap)(struct _cef_translator_test_t* self,
203                                          cef_string_multimap_t val);
204 
205   ///
206   // Return a string multimap value by out-param.
207   ///
208   int(CEF_CALLBACK* get_string_multimap_by_ref)(
209       struct _cef_translator_test_t* self,
210       cef_string_multimap_t val);
211 
212   // STRUCT VALUES
213 
214   ///
215   // Return a point value.
216   ///
217   cef_point_t(CEF_CALLBACK* get_point)(struct _cef_translator_test_t* self);
218 
219   ///
220   // Set a point value.
221   ///
222   int(CEF_CALLBACK* set_point)(struct _cef_translator_test_t* self,
223                                const cef_point_t* val);
224 
225   ///
226   // Return a point value by out-param.
227   ///
228   void(CEF_CALLBACK* get_point_by_ref)(struct _cef_translator_test_t* self,
229                                        cef_point_t* val);
230 
231   ///
232   // Set a point list vlaue.
233   ///
234   int(CEF_CALLBACK* set_point_list)(struct _cef_translator_test_t* self,
235                                     size_t valCount,
236                                     cef_point_t const* val);
237 
238   ///
239   // Return a point list value by out-param.
240   ///
241   int(CEF_CALLBACK* get_point_list_by_ref)(struct _cef_translator_test_t* self,
242                                            size_t* valCount,
243                                            cef_point_t* val);
244 
245   ///
246   // Return the number of points that will be output above.
247   ///
248   size_t(CEF_CALLBACK* get_point_list_size)(
249       struct _cef_translator_test_t* self);
250 
251   // LIBRARY-SIDE REFPTR VALUES
252 
253   ///
254   // Return an new library-side object.
255   ///
256   struct _cef_translator_test_ref_ptr_library_t*(
257       CEF_CALLBACK* get_ref_ptr_library)(struct _cef_translator_test_t* self,
258                                          int val);
259 
260   ///
261   // Set an object. Returns the value from
262   // cef_translator_test_ref_ptr_library_t::get_value(). This tests input and
263   // execution of a library-side object type.
264   ///
265   int(CEF_CALLBACK* set_ref_ptr_library)(
266       struct _cef_translator_test_t* self,
267       struct _cef_translator_test_ref_ptr_library_t* val);
268 
269   ///
270   // Set an object. Returns the object passed in. This tests input and output of
271   // a library-side object type.
272   ///
273   struct _cef_translator_test_ref_ptr_library_t*(
274       CEF_CALLBACK* set_ref_ptr_library_and_return)(
275       struct _cef_translator_test_t* self,
276       struct _cef_translator_test_ref_ptr_library_t* val);
277 
278   ///
279   // Set a child object. Returns the value from
280   // cef_translator_test_ref_ptr_library_t::get_value(). This tests input of a
281   // library- side child object type and execution as the parent type.
282   ///
283   int(CEF_CALLBACK* set_child_ref_ptr_library)(
284       struct _cef_translator_test_t* self,
285       struct _cef_translator_test_ref_ptr_library_child_t* val);
286 
287   ///
288   // Set a child object. Returns the object as the parent type. This tests input
289   // of a library-side child object type and return as the parent type.
290   ///
291   struct _cef_translator_test_ref_ptr_library_t*(
292       CEF_CALLBACK* set_child_ref_ptr_library_and_return_parent)(
293       struct _cef_translator_test_t* self,
294       struct _cef_translator_test_ref_ptr_library_child_t* val);
295 
296   ///
297   // Set an object list vlaue.
298   ///
299   int(CEF_CALLBACK* set_ref_ptr_library_list)(
300       struct _cef_translator_test_t* self,
301       size_t valCount,
302       struct _cef_translator_test_ref_ptr_library_t* const* val,
303       int val1,
304       int val2);
305 
306   ///
307   // Return an object list value by out-param.
308   ///
309   int(CEF_CALLBACK* get_ref_ptr_library_list_by_ref)(
310       struct _cef_translator_test_t* self,
311       size_t* valCount,
312       struct _cef_translator_test_ref_ptr_library_t** val,
313       int val1,
314       int val2);
315 
316   ///
317   // Return the number of object that will be output above.
318   ///
319   size_t(CEF_CALLBACK* get_ref_ptr_library_list_size)(
320       struct _cef_translator_test_t* self);
321 
322   // CLIENT-SIDE REFPTR VALUES
323 
324   ///
325   // Set an object. Returns the value from
326   // cef_translator_test_ref_ptr_client_t::get_value(). This tests input and
327   // execution of a client-side object type.
328   ///
329   int(CEF_CALLBACK* set_ref_ptr_client)(
330       struct _cef_translator_test_t* self,
331       struct _cef_translator_test_ref_ptr_client_t* val);
332 
333   ///
334   // Set an object. Returns the handler passed in. This tests input and output
335   // of a client-side object type.
336   ///
337   struct _cef_translator_test_ref_ptr_client_t*(
338       CEF_CALLBACK* set_ref_ptr_client_and_return)(
339       struct _cef_translator_test_t* self,
340       struct _cef_translator_test_ref_ptr_client_t* val);
341 
342   ///
343   // Set a child object. Returns the value from
344   // cef_translator_test_ref_ptr_client_t::get_value(). This tests input of a
345   // client- side child object type and execution as the parent type.
346   ///
347   int(CEF_CALLBACK* set_child_ref_ptr_client)(
348       struct _cef_translator_test_t* self,
349       struct _cef_translator_test_ref_ptr_client_child_t* val);
350 
351   ///
352   // Set a child object. Returns the object as the parent type. This tests input
353   // of a client-side child object type and return as the parent type.
354   ///
355   struct _cef_translator_test_ref_ptr_client_t*(
356       CEF_CALLBACK* set_child_ref_ptr_client_and_return_parent)(
357       struct _cef_translator_test_t* self,
358       struct _cef_translator_test_ref_ptr_client_child_t* val);
359 
360   ///
361   // Set an object list vlaue.
362   ///
363   int(CEF_CALLBACK* set_ref_ptr_client_list)(
364       struct _cef_translator_test_t* self,
365       size_t valCount,
366       struct _cef_translator_test_ref_ptr_client_t* const* val,
367       int val1,
368       int val2);
369 
370   ///
371   // Return an object list value by out-param.
372   ///
373   int(CEF_CALLBACK* get_ref_ptr_client_list_by_ref)(
374       struct _cef_translator_test_t* self,
375       size_t* valCount,
376       struct _cef_translator_test_ref_ptr_client_t** val,
377       struct _cef_translator_test_ref_ptr_client_t* val1,
378       struct _cef_translator_test_ref_ptr_client_t* val2);
379 
380   ///
381   // Return the number of object that will be output above.
382   ///
383   size_t(CEF_CALLBACK* get_ref_ptr_client_list_size)(
384       struct _cef_translator_test_t* self);
385 
386   // LIBRARY-SIDE OWNPTR VALUES
387 
388   ///
389   // Return an new library-side object.
390   ///
391   struct _cef_translator_test_scoped_library_t*(
392       CEF_CALLBACK* get_own_ptr_library)(struct _cef_translator_test_t* self,
393                                          int val);
394 
395   ///
396   // Set an object. Returns the value from
397   // cef_translator_test_scoped_library_t::get_value(). This tests input and
398   // execution of a library-side object type.
399   ///
400   int(CEF_CALLBACK* set_own_ptr_library)(
401       struct _cef_translator_test_t* self,
402       struct _cef_translator_test_scoped_library_t* val);
403 
404   ///
405   // Set an object. Returns the object passed in. This tests input and output of
406   // a library-side object type.
407   ///
408   struct _cef_translator_test_scoped_library_t*(
409       CEF_CALLBACK* set_own_ptr_library_and_return)(
410       struct _cef_translator_test_t* self,
411       struct _cef_translator_test_scoped_library_t* val);
412 
413   ///
414   // Set a child object. Returns the value from
415   // cef_translator_test_scoped_library_t::get_value(). This tests input of a
416   // library- side child object type and execution as the parent type.
417   ///
418   int(CEF_CALLBACK* set_child_own_ptr_library)(
419       struct _cef_translator_test_t* self,
420       struct _cef_translator_test_scoped_library_child_t* val);
421 
422   ///
423   // Set a child object. Returns the object as the parent type. This tests input
424   // of a library-side child object type and return as the parent type.
425   ///
426   struct _cef_translator_test_scoped_library_t*(
427       CEF_CALLBACK* set_child_own_ptr_library_and_return_parent)(
428       struct _cef_translator_test_t* self,
429       struct _cef_translator_test_scoped_library_child_t* val);
430 
431   // CLIENT-SIDE OWNPTR VALUES
432 
433   ///
434   // Set an object. Returns the value from
435   // cef_translator_test_scoped_client_t::get_value(). This tests input and
436   // execution of a client-side object type.
437   ///
438   int(CEF_CALLBACK* set_own_ptr_client)(
439       struct _cef_translator_test_t* self,
440       struct _cef_translator_test_scoped_client_t* val);
441 
442   ///
443   // Set an object. Returns the handler passed in. This tests input and output
444   // of a client-side object type.
445   ///
446   struct _cef_translator_test_scoped_client_t*(
447       CEF_CALLBACK* set_own_ptr_client_and_return)(
448       struct _cef_translator_test_t* self,
449       struct _cef_translator_test_scoped_client_t* val);
450 
451   ///
452   // Set a child object. Returns the value from
453   // cef_translator_test_scoped_client_t::get_value(). This tests input of a
454   // client- side child object type and execution as the parent type.
455   ///
456   int(CEF_CALLBACK* set_child_own_ptr_client)(
457       struct _cef_translator_test_t* self,
458       struct _cef_translator_test_scoped_client_child_t* val);
459 
460   ///
461   // Set a child object. Returns the object as the parent type. This tests input
462   // of a client-side child object type and return as the parent type.
463   ///
464   struct _cef_translator_test_scoped_client_t*(
465       CEF_CALLBACK* set_child_own_ptr_client_and_return_parent)(
466       struct _cef_translator_test_t* self,
467       struct _cef_translator_test_scoped_client_child_t* val);
468 
469   // LIBRARY-SIDE RAWPTR VALUES
470 
471   ///
472   // Set an object. Returns the value from
473   // cef_translator_test_scoped_library_t::get_value(). This tests input and
474   // execution of a library-side object type.
475   ///
476   int(CEF_CALLBACK* set_raw_ptr_library)(
477       struct _cef_translator_test_t* self,
478       struct _cef_translator_test_scoped_library_t* val);
479 
480   ///
481   // Set a child object. Returns the value from
482   // cef_translator_test_scoped_library_t::get_value(). This tests input of a
483   // library- side child object type and execution as the parent type.
484   ///
485   int(CEF_CALLBACK* set_child_raw_ptr_library)(
486       struct _cef_translator_test_t* self,
487       struct _cef_translator_test_scoped_library_child_t* val);
488 
489   ///
490   // Set an object list vlaue.
491   ///
492   int(CEF_CALLBACK* set_raw_ptr_library_list)(
493       struct _cef_translator_test_t* self,
494       size_t valCount,
495       struct _cef_translator_test_scoped_library_t* const* val,
496       int val1,
497       int val2);
498 
499   // CLIENT-SIDE RAWPTR VALUES
500 
501   ///
502   // Set an object. Returns the value from
503   // cef_translator_test_scoped_client_t::get_value(). This tests input and
504   // execution of a client-side object type.
505   ///
506   int(CEF_CALLBACK* set_raw_ptr_client)(
507       struct _cef_translator_test_t* self,
508       struct _cef_translator_test_scoped_client_t* val);
509 
510   ///
511   // Set a child object. Returns the value from
512   // cef_translator_test_scoped_client_t::get_value(). This tests input of a
513   // client- side child object type and execution as the parent type.
514   ///
515   int(CEF_CALLBACK* set_child_raw_ptr_client)(
516       struct _cef_translator_test_t* self,
517       struct _cef_translator_test_scoped_client_child_t* val);
518 
519   ///
520   // Set an object list vlaue.
521   ///
522   int(CEF_CALLBACK* set_raw_ptr_client_list)(
523       struct _cef_translator_test_t* self,
524       size_t valCount,
525       struct _cef_translator_test_scoped_client_t* const* val,
526       int val1,
527       int val2);
528 } cef_translator_test_t;
529 
530 ///
531 // Create the test object.
532 ///
533 CEF_EXPORT cef_translator_test_t* cef_translator_test_create();
534 
535 ///
536 // Library-side test object for RefPtr.
537 ///
538 typedef struct _cef_translator_test_ref_ptr_library_t {
539   ///
540   // Base structure.
541   ///
542   cef_base_ref_counted_t base;
543 
544   ///
545   // Return a value.
546   ///
547   int(CEF_CALLBACK* get_value)(
548       struct _cef_translator_test_ref_ptr_library_t* self);
549 
550   ///
551   // Set a value.
552   ///
553   void(CEF_CALLBACK* set_value)(
554       struct _cef_translator_test_ref_ptr_library_t* self,
555       int value);
556 } cef_translator_test_ref_ptr_library_t;
557 
558 ///
559 // Create the test object.
560 ///
561 CEF_EXPORT cef_translator_test_ref_ptr_library_t*
562 cef_translator_test_ref_ptr_library_create(int value);
563 
564 ///
565 // Library-side child test object for RefPtr.
566 ///
567 typedef struct _cef_translator_test_ref_ptr_library_child_t {
568   ///
569   // Base structure.
570   ///
571   cef_translator_test_ref_ptr_library_t base;
572 
573   ///
574   // Return a value.
575   ///
576   int(CEF_CALLBACK* get_other_value)(
577       struct _cef_translator_test_ref_ptr_library_child_t* self);
578 
579   ///
580   // Set a value.
581   ///
582   void(CEF_CALLBACK* set_other_value)(
583       struct _cef_translator_test_ref_ptr_library_child_t* self,
584       int value);
585 } cef_translator_test_ref_ptr_library_child_t;
586 
587 ///
588 // Create the test object.
589 ///
590 CEF_EXPORT cef_translator_test_ref_ptr_library_child_t*
591 cef_translator_test_ref_ptr_library_child_create(int value, int other_value);
592 
593 ///
594 // Another library-side child test object for RefPtr.
595 ///
596 typedef struct _cef_translator_test_ref_ptr_library_child_child_t {
597   ///
598   // Base structure.
599   ///
600   cef_translator_test_ref_ptr_library_child_t base;
601 
602   ///
603   // Return a value.
604   ///
605   int(CEF_CALLBACK* get_other_other_value)(
606       struct _cef_translator_test_ref_ptr_library_child_child_t* self);
607 
608   ///
609   // Set a value.
610   ///
611   void(CEF_CALLBACK* set_other_other_value)(
612       struct _cef_translator_test_ref_ptr_library_child_child_t* self,
613       int value);
614 } cef_translator_test_ref_ptr_library_child_child_t;
615 
616 ///
617 // Create the test object.
618 ///
619 CEF_EXPORT cef_translator_test_ref_ptr_library_child_child_t*
620 cef_translator_test_ref_ptr_library_child_child_create(int value,
621                                                        int other_value,
622                                                        int other_other_value);
623 
624 ///
625 // Client-side test object for RefPtr.
626 ///
627 typedef struct _cef_translator_test_ref_ptr_client_t {
628   ///
629   // Base structure.
630   ///
631   cef_base_ref_counted_t base;
632 
633   ///
634   // Return a value.
635   ///
636   int(CEF_CALLBACK* get_value)(
637       struct _cef_translator_test_ref_ptr_client_t* self);
638 } cef_translator_test_ref_ptr_client_t;
639 
640 ///
641 // Client-side child test object for RefPtr.
642 ///
643 typedef struct _cef_translator_test_ref_ptr_client_child_t {
644   ///
645   // Base structure.
646   ///
647   cef_translator_test_ref_ptr_client_t base;
648 
649   ///
650   // Return a value.
651   ///
652   int(CEF_CALLBACK* get_other_value)(
653       struct _cef_translator_test_ref_ptr_client_child_t* self);
654 } cef_translator_test_ref_ptr_client_child_t;
655 
656 ///
657 // Library-side test object for OwnPtr/RawPtr.
658 ///
659 typedef struct _cef_translator_test_scoped_library_t {
660   ///
661   // Base structure.
662   ///
663   cef_base_scoped_t base;
664 
665   ///
666   // Return a value.
667   ///
668   int(CEF_CALLBACK* get_value)(
669       struct _cef_translator_test_scoped_library_t* self);
670 
671   ///
672   // Set a value.
673   ///
674   void(CEF_CALLBACK* set_value)(
675       struct _cef_translator_test_scoped_library_t* self,
676       int value);
677 } cef_translator_test_scoped_library_t;
678 
679 ///
680 // Create the test object.
681 ///
682 CEF_EXPORT cef_translator_test_scoped_library_t*
683 cef_translator_test_scoped_library_create(int value);
684 
685 ///
686 // Library-side child test object for OwnPtr/RawPtr.
687 ///
688 typedef struct _cef_translator_test_scoped_library_child_t {
689   ///
690   // Base structure.
691   ///
692   cef_translator_test_scoped_library_t base;
693 
694   ///
695   // Return a value.
696   ///
697   int(CEF_CALLBACK* get_other_value)(
698       struct _cef_translator_test_scoped_library_child_t* self);
699 
700   ///
701   // Set a value.
702   ///
703   void(CEF_CALLBACK* set_other_value)(
704       struct _cef_translator_test_scoped_library_child_t* self,
705       int value);
706 } cef_translator_test_scoped_library_child_t;
707 
708 ///
709 // Create the test object.
710 ///
711 CEF_EXPORT cef_translator_test_scoped_library_child_t*
712 cef_translator_test_scoped_library_child_create(int value, int other_value);
713 
714 ///
715 // Another library-side child test object for OwnPtr/RawPtr.
716 ///
717 typedef struct _cef_translator_test_scoped_library_child_child_t {
718   ///
719   // Base structure.
720   ///
721   cef_translator_test_scoped_library_child_t base;
722 
723   ///
724   // Return a value.
725   ///
726   int(CEF_CALLBACK* get_other_other_value)(
727       struct _cef_translator_test_scoped_library_child_child_t* self);
728 
729   ///
730   // Set a value.
731   ///
732   void(CEF_CALLBACK* set_other_other_value)(
733       struct _cef_translator_test_scoped_library_child_child_t* self,
734       int value);
735 } cef_translator_test_scoped_library_child_child_t;
736 
737 ///
738 // Create the test object.
739 ///
740 CEF_EXPORT cef_translator_test_scoped_library_child_child_t*
741 cef_translator_test_scoped_library_child_child_create(int value,
742                                                       int other_value,
743                                                       int other_other_value);
744 
745 ///
746 // Client-side test object for OwnPtr/RawPtr.
747 ///
748 typedef struct _cef_translator_test_scoped_client_t {
749   ///
750   // Base structure.
751   ///
752   cef_base_scoped_t base;
753 
754   ///
755   // Return a value.
756   ///
757   int(CEF_CALLBACK* get_value)(
758       struct _cef_translator_test_scoped_client_t* self);
759 } cef_translator_test_scoped_client_t;
760 
761 ///
762 // Client-side child test object for OwnPtr/RawPtr.
763 ///
764 typedef struct _cef_translator_test_scoped_client_child_t {
765   ///
766   // Base structure.
767   ///
768   cef_translator_test_scoped_client_t base;
769 
770   ///
771   // Return a value.
772   ///
773   int(CEF_CALLBACK* get_other_value)(
774       struct _cef_translator_test_scoped_client_child_t* self);
775 } cef_translator_test_scoped_client_child_t;
776 
777 #ifdef __cplusplus
778 }
779 #endif
780 
781 #endif  // CEF_INCLUDE_CAPI_TEST_CEF_TRANSLATOR_TEST_CAPI_H_
782