qtbridge_interfaces/qobject/
proxy_cpp_bridge.rs1use qtbridge_runtime::qproxies::QCppProxy;
5use qtbridge_runtime::DynamicMetaObjectData;
6use qtbridge_type_lib::QMetaObject;
7use crate::impl_qcpp_proxy;
8
9use super::proxy_rust::QObjectProxyRust;
10#[cxx::bridge]
11pub mod ffi {
12 unsafe extern "C++" {
13 include!("qtbridge-type-lib/src/core/qmetaobject/cpp/qmetaobject.h");
14 type QMetaObject = qtbridge_type_lib::QMetaObject;
15 include!("qtbridge-type-lib/src/core/qmetatype/cpp/qmetatype.h");
16 type QMetaType = qtbridge_type_lib::QMetaType;
17 include!("qtbridge-runtime/src/cpp/dynamicmetaobjectdata.h");
18 type DynamicMetaObjectData = qtbridge_runtime::DynamicMetaObjectData;
19 include!("qtbridge-interfaces/src/qobject/proxy_rust_bridge.rs.h");
20 type QObjectProxyRust = super::QObjectProxyRust;
21 }
22 #[allow(clippy::missing_safety_doc)]
23 #[namespace = "rust::bridge"]
24 unsafe extern "C++" {
25 include!("qtbridge-interfaces/src/qobject/cpp/QObjectProxyCpp.h");
26 type QObjectProxyCpp;
27 # [Self = QObjectProxyCpp]
28 # [rust_name = create]
29 unsafe fn create(rust_proxy: *mut QObjectProxyRust, metaobject: *const DynamicMetaObjectData) -> *mut QObjectProxyCpp;
30 # [Self = QObjectProxyCpp]
31 # [rust_name = create_at]
32 unsafe fn createAt(rust_proxy: *mut QObjectProxyRust, metaobject: *const DynamicMetaObjectData, addr: *mut u8)
33 -> *mut QObjectProxyCpp;
34 # [Self = QObjectProxyCpp]
35 # [rust_name = static_qmeta_object]
36 fn baseStaticMetaObject() -> &'static QMetaObject;
37 # [Self = QObjectProxyCpp]
38 # [rust_name = size_of]
39 fn sizeOfProxy() -> usize;
40 # [Self = QObjectProxyCpp]
41 # [rust_name = align_of]
42 fn alignOfProxy() -> usize;
43 # [Self = QObjectProxyCpp]
44 # [rust_name = parser_status_cast]
45 fn parserStatusCast() -> i32;
46 # [rust_name = emit_signal_cpp]
47 fn emitSignal(self: Pin<&mut Self>, signal_name: &str, argv: &[*const u8]);
48 }
49}
50pub use ffi::QObjectProxyCpp;
51
52impl_qcpp_proxy!(QObjectProxyCpp, QObjectProxyRust);