qtbridge_interfaces/qobject/
proxy_cpp_bridge.rs

1// Copyright (C) 2025 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only
3
4use super::proxy_rust::QObjectProxyRust;
5#[cxx::bridge]
6pub mod ffi {
7    unsafe extern "C++" {
8        include!("qtbridge-type-lib/src/generated/core/qmetaobject/cpp/qmetaobject.h");
9        type QMetaObject = qtbridge_type_lib::QMetaObject;
10        include!("qtbridge-type-lib/src/generated/core/qmetatype/cpp/qmetatype.h");
11        type QMetaType = qtbridge_type_lib::QMetaType;
12        include!("qtbridge-interfaces/src/qobject/proxy_rust_bridge.rs.h");
13        type QObjectProxyRust = super::QObjectProxyRust;
14    }
15    #[namespace = "rust::bridge"]
16    unsafe extern "C++" {
17        include!("qtbridge-interfaces/src/qobject/cpp/QObjectProxyCpp.h");
18        type QObjectProxyCpp;
19        # [rust_name = create_qobject_proxy_cpp]
20        unsafe fn create_QObjectProxyCpp(rust_proxy: *mut QObjectProxyRust) -> *mut QObjectProxyCpp;
21        # [rust_name = create_qobject_proxy_cpp_at]
22        unsafe fn create_QObjectProxyCpp_At(addr: *mut u8, rust_proxy: *mut QObjectProxyRust) -> *mut QObjectProxyCpp;
23        # [rust_name = static_qmeta_object_of_qobject_proxy_cpp]
24        fn staticQMetaObjectOf_QObjectProxyCpp() -> &'static QMetaObject;
25        # [rust_name = size_of_qobject_proxy_cpp]
26        fn sizeOf_QObjectProxyCpp() -> usize;
27        # [rust_name = align_of_qobject_proxy_cpp]
28        fn alignOf_QObjectProxyCpp() -> usize;
29        # [rust_name = qmetatype_list_of_qobject_proxy_cpp]
30        fn qmetaTypeListOf_QObjectProxyCpp() -> QMetaType;
31    }
32}
33pub use ffi::QObjectProxyCpp;