• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 2021 The Chromium Embedded Framework Authors. All rights
2 // reserved. Use of this source code is governed by a BSD-style license that
3 // can be found in the LICENSE file.
4 //
5 // ---------------------------------------------------------------------------
6 //
7 // This file was generated by the CEF translator tool. If making changes by
8 // hand only do so within the body of existing method and function
9 // implementations. See the translator.README.txt file in the tools directory
10 // for more information.
11 //
12 // $hash=2b6f6a88740653aabe8cb154633433afff15ece5$
13 //
14 
15 #include "libcef_dll/cpptoc/xml_reader_cpptoc.h"
16 #include "libcef_dll/cpptoc/stream_reader_cpptoc.h"
17 #include "libcef_dll/shutdown_checker.h"
18 
19 // GLOBAL FUNCTIONS - Body may be edited by hand.
20 
cef_xml_reader_create(cef_stream_reader_t * stream,cef_xml_encoding_type_t encodingType,const cef_string_t * URI)21 CEF_EXPORT cef_xml_reader_t* cef_xml_reader_create(
22     cef_stream_reader_t* stream,
23     cef_xml_encoding_type_t encodingType,
24     const cef_string_t* URI) {
25   shutdown_checker::AssertNotShutdown();
26 
27   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
28 
29   // Verify param: stream; type: refptr_same
30   DCHECK(stream);
31   if (!stream)
32     return NULL;
33   // Verify param: URI; type: string_byref_const
34   DCHECK(URI);
35   if (!URI)
36     return NULL;
37 
38   // Execute
39   CefRefPtr<CefXmlReader> _retval = CefXmlReader::Create(
40       CefStreamReaderCppToC::Unwrap(stream), encodingType, CefString(URI));
41 
42   // Return type: refptr_same
43   return CefXmlReaderCppToC::Wrap(_retval);
44 }
45 
46 namespace {
47 
48 // MEMBER FUNCTIONS - Body may be edited by hand.
49 
xml_reader_move_to_next_node(struct _cef_xml_reader_t * self)50 int CEF_CALLBACK xml_reader_move_to_next_node(struct _cef_xml_reader_t* self) {
51   shutdown_checker::AssertNotShutdown();
52 
53   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
54 
55   DCHECK(self);
56   if (!self)
57     return 0;
58 
59   // Execute
60   bool _retval = CefXmlReaderCppToC::Get(self)->MoveToNextNode();
61 
62   // Return type: bool
63   return _retval;
64 }
65 
xml_reader_close(struct _cef_xml_reader_t * self)66 int CEF_CALLBACK xml_reader_close(struct _cef_xml_reader_t* self) {
67   shutdown_checker::AssertNotShutdown();
68 
69   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
70 
71   DCHECK(self);
72   if (!self)
73     return 0;
74 
75   // Execute
76   bool _retval = CefXmlReaderCppToC::Get(self)->Close();
77 
78   // Return type: bool
79   return _retval;
80 }
81 
xml_reader_has_error(struct _cef_xml_reader_t * self)82 int CEF_CALLBACK xml_reader_has_error(struct _cef_xml_reader_t* self) {
83   shutdown_checker::AssertNotShutdown();
84 
85   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
86 
87   DCHECK(self);
88   if (!self)
89     return 0;
90 
91   // Execute
92   bool _retval = CefXmlReaderCppToC::Get(self)->HasError();
93 
94   // Return type: bool
95   return _retval;
96 }
97 
98 cef_string_userfree_t CEF_CALLBACK
xml_reader_get_error(struct _cef_xml_reader_t * self)99 xml_reader_get_error(struct _cef_xml_reader_t* self) {
100   shutdown_checker::AssertNotShutdown();
101 
102   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
103 
104   DCHECK(self);
105   if (!self)
106     return NULL;
107 
108   // Execute
109   CefString _retval = CefXmlReaderCppToC::Get(self)->GetError();
110 
111   // Return type: string
112   return _retval.DetachToUserFree();
113 }
114 
115 cef_xml_node_type_t CEF_CALLBACK
xml_reader_get_type(struct _cef_xml_reader_t * self)116 xml_reader_get_type(struct _cef_xml_reader_t* self) {
117   shutdown_checker::AssertNotShutdown();
118 
119   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
120 
121   DCHECK(self);
122   if (!self)
123     return XML_NODE_UNSUPPORTED;
124 
125   // Execute
126   cef_xml_node_type_t _retval = CefXmlReaderCppToC::Get(self)->GetType();
127 
128   // Return type: simple
129   return _retval;
130 }
131 
xml_reader_get_depth(struct _cef_xml_reader_t * self)132 int CEF_CALLBACK xml_reader_get_depth(struct _cef_xml_reader_t* self) {
133   shutdown_checker::AssertNotShutdown();
134 
135   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
136 
137   DCHECK(self);
138   if (!self)
139     return 0;
140 
141   // Execute
142   int _retval = CefXmlReaderCppToC::Get(self)->GetDepth();
143 
144   // Return type: simple
145   return _retval;
146 }
147 
148 cef_string_userfree_t CEF_CALLBACK
xml_reader_get_local_name(struct _cef_xml_reader_t * self)149 xml_reader_get_local_name(struct _cef_xml_reader_t* self) {
150   shutdown_checker::AssertNotShutdown();
151 
152   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
153 
154   DCHECK(self);
155   if (!self)
156     return NULL;
157 
158   // Execute
159   CefString _retval = CefXmlReaderCppToC::Get(self)->GetLocalName();
160 
161   // Return type: string
162   return _retval.DetachToUserFree();
163 }
164 
165 cef_string_userfree_t CEF_CALLBACK
xml_reader_get_prefix(struct _cef_xml_reader_t * self)166 xml_reader_get_prefix(struct _cef_xml_reader_t* self) {
167   shutdown_checker::AssertNotShutdown();
168 
169   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
170 
171   DCHECK(self);
172   if (!self)
173     return NULL;
174 
175   // Execute
176   CefString _retval = CefXmlReaderCppToC::Get(self)->GetPrefix();
177 
178   // Return type: string
179   return _retval.DetachToUserFree();
180 }
181 
182 cef_string_userfree_t CEF_CALLBACK
xml_reader_get_qualified_name(struct _cef_xml_reader_t * self)183 xml_reader_get_qualified_name(struct _cef_xml_reader_t* self) {
184   shutdown_checker::AssertNotShutdown();
185 
186   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
187 
188   DCHECK(self);
189   if (!self)
190     return NULL;
191 
192   // Execute
193   CefString _retval = CefXmlReaderCppToC::Get(self)->GetQualifiedName();
194 
195   // Return type: string
196   return _retval.DetachToUserFree();
197 }
198 
199 cef_string_userfree_t CEF_CALLBACK
xml_reader_get_namespace_uri(struct _cef_xml_reader_t * self)200 xml_reader_get_namespace_uri(struct _cef_xml_reader_t* self) {
201   shutdown_checker::AssertNotShutdown();
202 
203   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
204 
205   DCHECK(self);
206   if (!self)
207     return NULL;
208 
209   // Execute
210   CefString _retval = CefXmlReaderCppToC::Get(self)->GetNamespaceURI();
211 
212   // Return type: string
213   return _retval.DetachToUserFree();
214 }
215 
216 cef_string_userfree_t CEF_CALLBACK
xml_reader_get_base_uri(struct _cef_xml_reader_t * self)217 xml_reader_get_base_uri(struct _cef_xml_reader_t* self) {
218   shutdown_checker::AssertNotShutdown();
219 
220   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
221 
222   DCHECK(self);
223   if (!self)
224     return NULL;
225 
226   // Execute
227   CefString _retval = CefXmlReaderCppToC::Get(self)->GetBaseURI();
228 
229   // Return type: string
230   return _retval.DetachToUserFree();
231 }
232 
233 cef_string_userfree_t CEF_CALLBACK
xml_reader_get_xml_lang(struct _cef_xml_reader_t * self)234 xml_reader_get_xml_lang(struct _cef_xml_reader_t* self) {
235   shutdown_checker::AssertNotShutdown();
236 
237   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
238 
239   DCHECK(self);
240   if (!self)
241     return NULL;
242 
243   // Execute
244   CefString _retval = CefXmlReaderCppToC::Get(self)->GetXmlLang();
245 
246   // Return type: string
247   return _retval.DetachToUserFree();
248 }
249 
xml_reader_is_empty_element(struct _cef_xml_reader_t * self)250 int CEF_CALLBACK xml_reader_is_empty_element(struct _cef_xml_reader_t* self) {
251   shutdown_checker::AssertNotShutdown();
252 
253   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
254 
255   DCHECK(self);
256   if (!self)
257     return 0;
258 
259   // Execute
260   bool _retval = CefXmlReaderCppToC::Get(self)->IsEmptyElement();
261 
262   // Return type: bool
263   return _retval;
264 }
265 
xml_reader_has_value(struct _cef_xml_reader_t * self)266 int CEF_CALLBACK xml_reader_has_value(struct _cef_xml_reader_t* self) {
267   shutdown_checker::AssertNotShutdown();
268 
269   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
270 
271   DCHECK(self);
272   if (!self)
273     return 0;
274 
275   // Execute
276   bool _retval = CefXmlReaderCppToC::Get(self)->HasValue();
277 
278   // Return type: bool
279   return _retval;
280 }
281 
282 cef_string_userfree_t CEF_CALLBACK
xml_reader_get_value(struct _cef_xml_reader_t * self)283 xml_reader_get_value(struct _cef_xml_reader_t* self) {
284   shutdown_checker::AssertNotShutdown();
285 
286   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
287 
288   DCHECK(self);
289   if (!self)
290     return NULL;
291 
292   // Execute
293   CefString _retval = CefXmlReaderCppToC::Get(self)->GetValue();
294 
295   // Return type: string
296   return _retval.DetachToUserFree();
297 }
298 
xml_reader_has_attributes(struct _cef_xml_reader_t * self)299 int CEF_CALLBACK xml_reader_has_attributes(struct _cef_xml_reader_t* self) {
300   shutdown_checker::AssertNotShutdown();
301 
302   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
303 
304   DCHECK(self);
305   if (!self)
306     return 0;
307 
308   // Execute
309   bool _retval = CefXmlReaderCppToC::Get(self)->HasAttributes();
310 
311   // Return type: bool
312   return _retval;
313 }
314 
315 size_t CEF_CALLBACK
xml_reader_get_attribute_count(struct _cef_xml_reader_t * self)316 xml_reader_get_attribute_count(struct _cef_xml_reader_t* self) {
317   shutdown_checker::AssertNotShutdown();
318 
319   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
320 
321   DCHECK(self);
322   if (!self)
323     return 0;
324 
325   // Execute
326   size_t _retval = CefXmlReaderCppToC::Get(self)->GetAttributeCount();
327 
328   // Return type: simple
329   return _retval;
330 }
331 
332 cef_string_userfree_t CEF_CALLBACK
xml_reader_get_attribute_byindex(struct _cef_xml_reader_t * self,int index)333 xml_reader_get_attribute_byindex(struct _cef_xml_reader_t* self, int index) {
334   shutdown_checker::AssertNotShutdown();
335 
336   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
337 
338   DCHECK(self);
339   if (!self)
340     return NULL;
341   // Verify param: index; type: simple_byval
342   DCHECK_GE(index, 0);
343   if (index < 0)
344     return NULL;
345 
346   // Execute
347   CefString _retval = CefXmlReaderCppToC::Get(self)->GetAttribute(index);
348 
349   // Return type: string
350   return _retval.DetachToUserFree();
351 }
352 
353 cef_string_userfree_t CEF_CALLBACK
xml_reader_get_attribute_byqname(struct _cef_xml_reader_t * self,const cef_string_t * qualifiedName)354 xml_reader_get_attribute_byqname(struct _cef_xml_reader_t* self,
355                                  const cef_string_t* qualifiedName) {
356   shutdown_checker::AssertNotShutdown();
357 
358   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
359 
360   DCHECK(self);
361   if (!self)
362     return NULL;
363   // Verify param: qualifiedName; type: string_byref_const
364   DCHECK(qualifiedName);
365   if (!qualifiedName)
366     return NULL;
367 
368   // Execute
369   CefString _retval =
370       CefXmlReaderCppToC::Get(self)->GetAttribute(CefString(qualifiedName));
371 
372   // Return type: string
373   return _retval.DetachToUserFree();
374 }
375 
376 cef_string_userfree_t CEF_CALLBACK
xml_reader_get_attribute_bylname(struct _cef_xml_reader_t * self,const cef_string_t * localName,const cef_string_t * namespaceURI)377 xml_reader_get_attribute_bylname(struct _cef_xml_reader_t* self,
378                                  const cef_string_t* localName,
379                                  const cef_string_t* namespaceURI) {
380   shutdown_checker::AssertNotShutdown();
381 
382   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
383 
384   DCHECK(self);
385   if (!self)
386     return NULL;
387   // Verify param: localName; type: string_byref_const
388   DCHECK(localName);
389   if (!localName)
390     return NULL;
391   // Verify param: namespaceURI; type: string_byref_const
392   DCHECK(namespaceURI);
393   if (!namespaceURI)
394     return NULL;
395 
396   // Execute
397   CefString _retval = CefXmlReaderCppToC::Get(self)->GetAttribute(
398       CefString(localName), CefString(namespaceURI));
399 
400   // Return type: string
401   return _retval.DetachToUserFree();
402 }
403 
404 cef_string_userfree_t CEF_CALLBACK
xml_reader_get_inner_xml(struct _cef_xml_reader_t * self)405 xml_reader_get_inner_xml(struct _cef_xml_reader_t* self) {
406   shutdown_checker::AssertNotShutdown();
407 
408   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
409 
410   DCHECK(self);
411   if (!self)
412     return NULL;
413 
414   // Execute
415   CefString _retval = CefXmlReaderCppToC::Get(self)->GetInnerXml();
416 
417   // Return type: string
418   return _retval.DetachToUserFree();
419 }
420 
421 cef_string_userfree_t CEF_CALLBACK
xml_reader_get_outer_xml(struct _cef_xml_reader_t * self)422 xml_reader_get_outer_xml(struct _cef_xml_reader_t* self) {
423   shutdown_checker::AssertNotShutdown();
424 
425   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
426 
427   DCHECK(self);
428   if (!self)
429     return NULL;
430 
431   // Execute
432   CefString _retval = CefXmlReaderCppToC::Get(self)->GetOuterXml();
433 
434   // Return type: string
435   return _retval.DetachToUserFree();
436 }
437 
xml_reader_get_line_number(struct _cef_xml_reader_t * self)438 int CEF_CALLBACK xml_reader_get_line_number(struct _cef_xml_reader_t* self) {
439   shutdown_checker::AssertNotShutdown();
440 
441   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
442 
443   DCHECK(self);
444   if (!self)
445     return 0;
446 
447   // Execute
448   int _retval = CefXmlReaderCppToC::Get(self)->GetLineNumber();
449 
450   // Return type: simple
451   return _retval;
452 }
453 
454 int CEF_CALLBACK
xml_reader_move_to_attribute_byindex(struct _cef_xml_reader_t * self,int index)455 xml_reader_move_to_attribute_byindex(struct _cef_xml_reader_t* self,
456                                      int index) {
457   shutdown_checker::AssertNotShutdown();
458 
459   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
460 
461   DCHECK(self);
462   if (!self)
463     return 0;
464   // Verify param: index; type: simple_byval
465   DCHECK_GE(index, 0);
466   if (index < 0)
467     return 0;
468 
469   // Execute
470   bool _retval = CefXmlReaderCppToC::Get(self)->MoveToAttribute(index);
471 
472   // Return type: bool
473   return _retval;
474 }
475 
476 int CEF_CALLBACK
xml_reader_move_to_attribute_byqname(struct _cef_xml_reader_t * self,const cef_string_t * qualifiedName)477 xml_reader_move_to_attribute_byqname(struct _cef_xml_reader_t* self,
478                                      const cef_string_t* qualifiedName) {
479   shutdown_checker::AssertNotShutdown();
480 
481   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
482 
483   DCHECK(self);
484   if (!self)
485     return 0;
486   // Verify param: qualifiedName; type: string_byref_const
487   DCHECK(qualifiedName);
488   if (!qualifiedName)
489     return 0;
490 
491   // Execute
492   bool _retval =
493       CefXmlReaderCppToC::Get(self)->MoveToAttribute(CefString(qualifiedName));
494 
495   // Return type: bool
496   return _retval;
497 }
498 
499 int CEF_CALLBACK
xml_reader_move_to_attribute_bylname(struct _cef_xml_reader_t * self,const cef_string_t * localName,const cef_string_t * namespaceURI)500 xml_reader_move_to_attribute_bylname(struct _cef_xml_reader_t* self,
501                                      const cef_string_t* localName,
502                                      const cef_string_t* namespaceURI) {
503   shutdown_checker::AssertNotShutdown();
504 
505   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
506 
507   DCHECK(self);
508   if (!self)
509     return 0;
510   // Verify param: localName; type: string_byref_const
511   DCHECK(localName);
512   if (!localName)
513     return 0;
514   // Verify param: namespaceURI; type: string_byref_const
515   DCHECK(namespaceURI);
516   if (!namespaceURI)
517     return 0;
518 
519   // Execute
520   bool _retval = CefXmlReaderCppToC::Get(self)->MoveToAttribute(
521       CefString(localName), CefString(namespaceURI));
522 
523   // Return type: bool
524   return _retval;
525 }
526 
527 int CEF_CALLBACK
xml_reader_move_to_first_attribute(struct _cef_xml_reader_t * self)528 xml_reader_move_to_first_attribute(struct _cef_xml_reader_t* self) {
529   shutdown_checker::AssertNotShutdown();
530 
531   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
532 
533   DCHECK(self);
534   if (!self)
535     return 0;
536 
537   // Execute
538   bool _retval = CefXmlReaderCppToC::Get(self)->MoveToFirstAttribute();
539 
540   // Return type: bool
541   return _retval;
542 }
543 
544 int CEF_CALLBACK
xml_reader_move_to_next_attribute(struct _cef_xml_reader_t * self)545 xml_reader_move_to_next_attribute(struct _cef_xml_reader_t* self) {
546   shutdown_checker::AssertNotShutdown();
547 
548   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
549 
550   DCHECK(self);
551   if (!self)
552     return 0;
553 
554   // Execute
555   bool _retval = CefXmlReaderCppToC::Get(self)->MoveToNextAttribute();
556 
557   // Return type: bool
558   return _retval;
559 }
560 
561 int CEF_CALLBACK
xml_reader_move_to_carrying_element(struct _cef_xml_reader_t * self)562 xml_reader_move_to_carrying_element(struct _cef_xml_reader_t* self) {
563   shutdown_checker::AssertNotShutdown();
564 
565   // AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
566 
567   DCHECK(self);
568   if (!self)
569     return 0;
570 
571   // Execute
572   bool _retval = CefXmlReaderCppToC::Get(self)->MoveToCarryingElement();
573 
574   // Return type: bool
575   return _retval;
576 }
577 
578 }  // namespace
579 
580 // CONSTRUCTOR - Do not edit by hand.
581 
CefXmlReaderCppToC()582 CefXmlReaderCppToC::CefXmlReaderCppToC() {
583   GetStruct()->move_to_next_node = xml_reader_move_to_next_node;
584   GetStruct()->close = xml_reader_close;
585   GetStruct()->has_error = xml_reader_has_error;
586   GetStruct()->get_error = xml_reader_get_error;
587   GetStruct()->get_type = xml_reader_get_type;
588   GetStruct()->get_depth = xml_reader_get_depth;
589   GetStruct()->get_local_name = xml_reader_get_local_name;
590   GetStruct()->get_prefix = xml_reader_get_prefix;
591   GetStruct()->get_qualified_name = xml_reader_get_qualified_name;
592   GetStruct()->get_namespace_uri = xml_reader_get_namespace_uri;
593   GetStruct()->get_base_uri = xml_reader_get_base_uri;
594   GetStruct()->get_xml_lang = xml_reader_get_xml_lang;
595   GetStruct()->is_empty_element = xml_reader_is_empty_element;
596   GetStruct()->has_value = xml_reader_has_value;
597   GetStruct()->get_value = xml_reader_get_value;
598   GetStruct()->has_attributes = xml_reader_has_attributes;
599   GetStruct()->get_attribute_count = xml_reader_get_attribute_count;
600   GetStruct()->get_attribute_byindex = xml_reader_get_attribute_byindex;
601   GetStruct()->get_attribute_byqname = xml_reader_get_attribute_byqname;
602   GetStruct()->get_attribute_bylname = xml_reader_get_attribute_bylname;
603   GetStruct()->get_inner_xml = xml_reader_get_inner_xml;
604   GetStruct()->get_outer_xml = xml_reader_get_outer_xml;
605   GetStruct()->get_line_number = xml_reader_get_line_number;
606   GetStruct()->move_to_attribute_byindex = xml_reader_move_to_attribute_byindex;
607   GetStruct()->move_to_attribute_byqname = xml_reader_move_to_attribute_byqname;
608   GetStruct()->move_to_attribute_bylname = xml_reader_move_to_attribute_bylname;
609   GetStruct()->move_to_first_attribute = xml_reader_move_to_first_attribute;
610   GetStruct()->move_to_next_attribute = xml_reader_move_to_next_attribute;
611   GetStruct()->move_to_carrying_element = xml_reader_move_to_carrying_element;
612 }
613 
614 // DESTRUCTOR - Do not edit by hand.
615 
~CefXmlReaderCppToC()616 CefXmlReaderCppToC::~CefXmlReaderCppToC() {
617   shutdown_checker::AssertNotShutdown();
618 }
619 
620 template <>
621 CefRefPtr<CefXmlReader>
622 CefCppToCRefCounted<CefXmlReaderCppToC, CefXmlReader, cef_xml_reader_t>::
UnwrapDerived(CefWrapperType type,cef_xml_reader_t * s)623     UnwrapDerived(CefWrapperType type, cef_xml_reader_t* s) {
624   NOTREACHED() << "Unexpected class type: " << type;
625   return nullptr;
626 }
627 
628 template <>
629 CefWrapperType CefCppToCRefCounted<CefXmlReaderCppToC,
630                                    CefXmlReader,
631                                    cef_xml_reader_t>::kWrapperType =
632     WT_XML_READER;
633