Skip to main content

qtbridge_interfaces/qparser_status/
proxy_cpp_bridge.rs

1// Copyright (C) 2026 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only
3
4use qtbridge_runtime::qproxies::QCppProxy;
5use qtbridge_runtime::DynamicMetaObjectData;
6use qtbridge_type_lib::QMetaObject;
7use super::proxy_rust::QParserStatusProxyRust;
8use crate::impl_qcpp_proxy;
9
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/qparser_status/proxy_rust_bridge.rs.h");
20        type QParserStatusProxyRust = super::QParserStatusProxyRust;
21    }
22    #[allow(clippy::missing_safety_doc)]
23    #[namespace = "rust::bridge"]
24    unsafe extern "C++" {
25        include!("qtbridge-interfaces/src/qparser_status/cpp/QParserStatusProxyCpp.h");
26        type QParserStatusProxyCpp;
27        # [Self = QParserStatusProxyCpp]
28        # [rust_name = create]
29        unsafe fn create(rust_proxy: *mut QParserStatusProxyRust, metaobject: *const DynamicMetaObjectData) -> *mut QParserStatusProxyCpp;
30        # [Self = QParserStatusProxyCpp]
31        # [rust_name = create_at]
32        unsafe fn createAt(rust_proxy: *mut QParserStatusProxyRust, metaobject: *const DynamicMetaObjectData, addr: *mut u8)
33        -> *mut QParserStatusProxyCpp;
34        # [Self = QParserStatusProxyCpp]
35        # [rust_name = static_qmeta_object]
36        fn baseStaticMetaObject() -> &'static QMetaObject;
37        # [Self = QParserStatusProxyCpp]
38        # [rust_name = size_of]
39        fn sizeOfProxy() -> usize;
40        # [Self = QParserStatusProxyCpp]
41        # [rust_name = align_of]
42        fn alignOfProxy() -> usize;
43        # [Self = QParserStatusProxyCpp]
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::QParserStatusProxyCpp;
51
52impl_qcpp_proxy!(QParserStatusProxyCpp, QParserStatusProxyRust);