cef/libcef_dll/ctocpp/request_handler_ctocpp.cc

315 lines
8.9 KiB
C++

// 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.
//
// ---------------------------------------------------------------------------
//
// This file was generated by the CEF translator tool. If making changes by
// hand only do so within the body of existing method and function
// implementations. See the translator.README.txt file in the tools directory
// for more information.
//
#include "libcef_dll/cpptoc/browser_cpptoc.h"
#include "libcef_dll/cpptoc/frame_cpptoc.h"
#include "libcef_dll/cpptoc/request_cpptoc.h"
#include "libcef_dll/cpptoc/response_cpptoc.h"
#include "libcef_dll/cpptoc/stream_reader_cpptoc.h"
#include "libcef_dll/ctocpp/content_filter_ctocpp.h"
#include "libcef_dll/ctocpp/download_handler_ctocpp.h"
#include "libcef_dll/ctocpp/request_handler_ctocpp.h"
// VIRTUAL METHODS - Body may be edited by hand.
bool CefRequestHandlerCToCpp::OnBeforeBrowse(CefRefPtr<CefBrowser> browser,
CefRefPtr<CefFrame> frame, CefRefPtr<CefRequest> request, NavType navType,
bool isRedirect)
{
if (CEF_MEMBER_MISSING(struct_, on_before_browse))
return false;
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
// Verify param: browser; type: refptr_diff
DCHECK(browser.get());
if (!browser.get())
return false;
// Verify param: frame; type: refptr_diff
DCHECK(frame.get());
if (!frame.get())
return false;
// Verify param: request; type: refptr_diff
DCHECK(request.get());
if (!request.get())
return false;
// Execute
int _retval = struct_->on_before_browse(struct_,
CefBrowserCppToC::Wrap(browser),
CefFrameCppToC::Wrap(frame),
CefRequestCppToC::Wrap(request),
navType,
isRedirect);
// Return type: bool
return _retval?true:false;
}
bool CefRequestHandlerCToCpp::OnBeforeResourceLoad(
CefRefPtr<CefBrowser> browser, CefRefPtr<CefRequest> request,
CefString& redirectUrl, CefRefPtr<CefStreamReader>& resourceStream,
CefRefPtr<CefResponse> response, int loadFlags)
{
if (CEF_MEMBER_MISSING(struct_, on_before_resource_load))
return false;
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
// Verify param: browser; type: refptr_diff
DCHECK(browser.get());
if (!browser.get())
return false;
// Verify param: request; type: refptr_diff
DCHECK(request.get());
if (!request.get())
return false;
// Verify param: response; type: refptr_diff
DCHECK(response.get());
if (!response.get())
return false;
// Translate param: resourceStream; type: refptr_diff_byref
cef_stream_reader_t* resourceStreamStruct = NULL;
if(resourceStream.get())
resourceStreamStruct = CefStreamReaderCppToC::Wrap(resourceStream);
cef_stream_reader_t* resourceStreamOrig = resourceStreamStruct;
// Execute
int _retval = struct_->on_before_resource_load(struct_,
CefBrowserCppToC::Wrap(browser),
CefRequestCppToC::Wrap(request),
redirectUrl.GetWritableStruct(),
&resourceStreamStruct,
CefResponseCppToC::Wrap(response),
loadFlags);
// Restore param:resourceStream; type: refptr_diff_byref
if (resourceStreamStruct) {
if (resourceStreamStruct != resourceStreamOrig) {
resourceStream = CefStreamReaderCppToC::Unwrap(resourceStreamStruct);
}
} else {
resourceStream = NULL;
}
// Return type: bool
return _retval?true:false;
}
void CefRequestHandlerCToCpp::OnResourceRedirect(CefRefPtr<CefBrowser> browser,
const CefString& old_url, CefString& new_url)
{
if (CEF_MEMBER_MISSING(struct_, on_resource_redirect))
return;
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
// Verify param: browser; type: refptr_diff
DCHECK(browser.get());
if (!browser.get())
return;
// Verify param: old_url; type: string_byref_const
DCHECK(!old_url.empty());
if (old_url.empty())
return;
// Execute
struct_->on_resource_redirect(struct_,
CefBrowserCppToC::Wrap(browser),
old_url.GetStruct(),
new_url.GetWritableStruct());
}
void CefRequestHandlerCToCpp::OnResourceResponse(CefRefPtr<CefBrowser> browser,
const CefString& url, CefRefPtr<CefResponse> response,
CefRefPtr<CefContentFilter>& filter)
{
if (CEF_MEMBER_MISSING(struct_, on_resource_response))
return;
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
// Verify param: browser; type: refptr_diff
DCHECK(browser.get());
if (!browser.get())
return;
// Verify param: url; type: string_byref_const
DCHECK(!url.empty());
if (url.empty())
return;
// Verify param: response; type: refptr_diff
DCHECK(response.get());
if (!response.get())
return;
// Translate param: filter; type: refptr_same_byref
cef_content_filter_t* filterStruct = NULL;
if(filter.get())
filterStruct = CefContentFilterCToCpp::Unwrap(filter);
cef_content_filter_t* filterOrig = filterStruct;
// Execute
struct_->on_resource_response(struct_,
CefBrowserCppToC::Wrap(browser),
url.GetStruct(),
CefResponseCppToC::Wrap(response),
&filterStruct);
// Restore param:filter; type: refptr_same_byref
if (filterStruct) {
if (filterStruct != filterOrig) {
filter = CefContentFilterCToCpp::Wrap(filterStruct);
}
} else {
filter = NULL;
}
}
bool CefRequestHandlerCToCpp::OnProtocolExecution(CefRefPtr<CefBrowser> browser,
const CefString& url, bool& allowOSExecution)
{
if (CEF_MEMBER_MISSING(struct_, on_protocol_execution))
return false;
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
// Verify param: browser; type: refptr_diff
DCHECK(browser.get());
if (!browser.get())
return false;
// Verify param: url; type: string_byref_const
DCHECK(!url.empty());
if (url.empty())
return false;
// Translate param: allowOSExecution; type: bool_byref
int allowOSExecutionInt = allowOSExecution;
// Execute
int _retval = struct_->on_protocol_execution(struct_,
CefBrowserCppToC::Wrap(browser),
url.GetStruct(),
&allowOSExecutionInt);
// Restore param:allowOSExecution; type: bool_byref
allowOSExecution = allowOSExecutionInt?true:false;
// Return type: bool
return _retval?true:false;
}
bool CefRequestHandlerCToCpp::GetDownloadHandler(CefRefPtr<CefBrowser> browser,
const CefString& mimeType, const CefString& fileName, int64 contentLength,
CefRefPtr<CefDownloadHandler>& handler)
{
if (CEF_MEMBER_MISSING(struct_, get_download_handler))
return false;
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
// Verify param: browser; type: refptr_diff
DCHECK(browser.get());
if (!browser.get())
return false;
// Verify param: mimeType; type: string_byref_const
DCHECK(!mimeType.empty());
if (mimeType.empty())
return false;
// Verify param: fileName; type: string_byref_const
DCHECK(!fileName.empty());
if (fileName.empty())
return false;
// Translate param: handler; type: refptr_same_byref
cef_download_handler_t* handlerStruct = NULL;
if(handler.get())
handlerStruct = CefDownloadHandlerCToCpp::Unwrap(handler);
cef_download_handler_t* handlerOrig = handlerStruct;
// Execute
int _retval = struct_->get_download_handler(struct_,
CefBrowserCppToC::Wrap(browser),
mimeType.GetStruct(),
fileName.GetStruct(),
contentLength,
&handlerStruct);
// Restore param:handler; type: refptr_same_byref
if (handlerStruct) {
if (handlerStruct != handlerOrig) {
handler = CefDownloadHandlerCToCpp::Wrap(handlerStruct);
}
} else {
handler = NULL;
}
// Return type: bool
return _retval?true:false;
}
bool CefRequestHandlerCToCpp::GetAuthCredentials(CefRefPtr<CefBrowser> browser,
bool isProxy, const CefString& host, int port, const CefString& realm,
const CefString& scheme, CefString& username, CefString& password)
{
if (CEF_MEMBER_MISSING(struct_, get_auth_credentials))
return false;
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
// Verify param: browser; type: refptr_diff
DCHECK(browser.get());
if (!browser.get())
return false;
// Verify param: host; type: string_byref_const
DCHECK(!host.empty());
if (host.empty())
return false;
// Verify param: realm; type: string_byref_const
DCHECK(!realm.empty());
if (realm.empty())
return false;
// Verify param: scheme; type: string_byref_const
DCHECK(!scheme.empty());
if (scheme.empty())
return false;
// Execute
int _retval = struct_->get_auth_credentials(struct_,
CefBrowserCppToC::Wrap(browser),
isProxy,
host.GetStruct(),
port,
realm.GetStruct(),
scheme.GetStruct(),
username.GetWritableStruct(),
password.GetWritableStruct());
// Return type: bool
return _retval?true:false;
}
#ifndef NDEBUG
template<> long CefCToCpp<CefRequestHandlerCToCpp, CefRequestHandler,
cef_request_handler_t>::DebugObjCt = 0;
#endif