Add CefThread interface (issue #1632)

This commit is contained in:
Marshall Greenblatt
2016-11-11 18:22:53 -05:00
parent 607d420baf
commit 18d56feac0
20 changed files with 1318 additions and 41 deletions

View File

@@ -0,0 +1,112 @@
// Copyright (c) 2016 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/ctocpp/task_runner_ctocpp.h"
#include "libcef_dll/ctocpp/thread_ctocpp.h"
// STATIC METHODS - Body may be edited by hand.
CefRefPtr<CefThread> CefThread::CreateThread(const CefString& display_name,
cef_thread_priority_t priority, cef_message_loop_type_t message_loop_type,
bool stoppable, cef_com_init_mode_t com_init_mode) {
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
// Unverified params: display_name
// Execute
cef_thread_t* _retval = cef_thread_create(
display_name.GetStruct(),
priority,
message_loop_type,
stoppable,
com_init_mode);
// Return type: refptr_same
return CefThreadCToCpp::Wrap(_retval);
}
// VIRTUAL METHODS - Body may be edited by hand.
CefRefPtr<CefTaskRunner> CefThreadCToCpp::GetTaskRunner() {
cef_thread_t* _struct = GetStruct();
if (CEF_MEMBER_MISSING(_struct, get_task_runner))
return NULL;
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
// Execute
cef_task_runner_t* _retval = _struct->get_task_runner(_struct);
// Return type: refptr_same
return CefTaskRunnerCToCpp::Wrap(_retval);
}
cef_platform_thread_id_t CefThreadCToCpp::GetPlatformThreadId() {
cef_thread_t* _struct = GetStruct();
if (CEF_MEMBER_MISSING(_struct, get_platform_thread_id))
return kInvalidPlatformThreadId;
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
// Execute
cef_platform_thread_id_t _retval = _struct->get_platform_thread_id(_struct);
// Return type: simple
return _retval;
}
void CefThreadCToCpp::Stop() {
cef_thread_t* _struct = GetStruct();
if (CEF_MEMBER_MISSING(_struct, stop))
return;
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
// Execute
_struct->stop(_struct);
}
bool CefThreadCToCpp::IsRunning() {
cef_thread_t* _struct = GetStruct();
if (CEF_MEMBER_MISSING(_struct, is_running))
return false;
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
// Execute
int _retval = _struct->is_running(_struct);
// Return type: bool
return _retval?true:false;
}
// CONSTRUCTOR - Do not edit by hand.
CefThreadCToCpp::CefThreadCToCpp() {
}
template<> cef_thread_t* CefCToCpp<CefThreadCToCpp, CefThread,
cef_thread_t>::UnwrapDerived(CefWrapperType type, CefThread* c) {
NOTREACHED() << "Unexpected class type: " << type;
return NULL;
}
#if DCHECK_IS_ON()
template<> base::AtomicRefCount CefCToCpp<CefThreadCToCpp, CefThread,
cef_thread_t>::DebugObjCt = 0;
#endif
template<> CefWrapperType CefCToCpp<CefThreadCToCpp, CefThread,
cef_thread_t>::kWrapperType = WT_THREAD;

View File

@@ -0,0 +1,40 @@
// Copyright (c) 2016 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.
//
#ifndef CEF_LIBCEF_DLL_CTOCPP_THREAD_CTOCPP_H_
#define CEF_LIBCEF_DLL_CTOCPP_THREAD_CTOCPP_H_
#pragma once
#ifndef USING_CEF_SHARED
#pragma message("Warning: "__FILE__" may be accessed wrapper-side only")
#else // USING_CEF_SHARED
#include "include/cef_thread.h"
#include "include/capi/cef_thread_capi.h"
#include "libcef_dll/ctocpp/ctocpp.h"
// Wrap a C structure with a C++ class.
// This class may be instantiated and accessed wrapper-side only.
class CefThreadCToCpp
: public CefCToCpp<CefThreadCToCpp, CefThread, cef_thread_t> {
public:
CefThreadCToCpp();
// CefThread methods.
CefRefPtr<CefTaskRunner> GetTaskRunner() OVERRIDE;
cef_platform_thread_id_t GetPlatformThreadId() OVERRIDE;
void Stop() OVERRIDE;
bool IsRunning() OVERRIDE;
};
#endif // USING_CEF_SHARED
#endif // CEF_LIBCEF_DLL_CTOCPP_THREAD_CTOCPP_H_