text: // Copyright (c) 2011 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.
  //
  // ---------------------------------------------------------------------------
  //
  // A portion of this file was generated by the CEF translator tool.  When
  // making changes by hand only do so within the body of existing static and
  // virtual method implementations. See the translator.README.txt file in the
  // tools directory for more information.
  //
  
  #include "libcef_dll/cpptoc/request_cpptoc.h"
  #include "libcef_dll/cpptoc/response_cpptoc.h"
  #include "libcef_dll/cpptoc/scheme_handler_callback_cpptoc.h"
  #include "libcef_dll/ctocpp/scheme_handler_ctocpp.h"
  
  
  // VIRTUAL METHODS - Body may be edited by hand.
  
  bool CefSchemeHandlerCToCpp::ProcessRequest(CefRefPtr<CefRequest> request,
      CefString& redirectUrl, CefRefPtr<CefSchemeHandlerCallback> callback)
  {
    if(CEF_MEMBER_MISSING(struct_, process_request))
      return false;
  
    return struct_->process_request(struct_, CefRequestCppToC::Wrap(request),
        redirectUrl.GetWritableStruct(),
        CefSchemeHandlerCallbackCppToC::Wrap(callback)) ? true : false;
  }
  
  void CefSchemeHandlerCToCpp::GetResponseHeaders(CefRefPtr<CefResponse> response,
      int64& response_length)
  {
    if (CEF_MEMBER_MISSING(struct_, get_response_headers))
      return;
  
    struct_->get_response_headers(struct_, CefResponseCppToC::Wrap(response),
        &response_length);
  }
  
  bool CefSchemeHandlerCToCpp::ReadResponse(void* data_out, int bytes_to_read,
      int& bytes_read, CefRefPtr<CefSchemeHandlerCallback> callback)
  {
    if(CEF_MEMBER_MISSING(struct_, read_response))
      return false;
  
    return struct_->read_response(struct_, data_out, bytes_to_read, &bytes_read,
        CefSchemeHandlerCallbackCppToC::Wrap(callback)) ? true : false;
  }
  
  void CefSchemeHandlerCToCpp::Cancel()
  {
    if(CEF_MEMBER_MISSING(struct_, cancel))
      return;
  
    struct_->cancel(struct_);
  }
  
  
  #ifndef NDEBUG
  template<> long CefCToCpp<CefSchemeHandlerCToCpp, CefSchemeHandler,
      cef_scheme_handler_t>::DebugObjCt = 0;
  #endif
  
  