qtbridge_type_lib/testlib/qsignalspy/
mod.rs1use crate::{QObject, QVariantList};
5use cxx::UniquePtr;
6use std::pin::Pin;
7#[cxx::bridge]
8mod ffi {
9 unsafe extern "C++" {
10 include!("qtbridge-type-lib/src/testlib/qsignalspy/cpp/qsignalspy.h");
11 type QSignalSpy;
18 include!("qtbridge-type-lib/src/core/qlist/cpp/qlist_qvariant.h");
19 type QList_QVariant = crate::QList_QVariant;
20 include!("qtbridge-type-lib/src/core/qobject/cpp/qobject.h");
21 type QObject = crate::QObject;
22 }
23 #[namespace = "rust::bridge::qsignalspy"]
24 unsafe extern "C++" {
25 # [rust_name = inline_cpp_fn_new]
26 fn inlineCppFn_new(qobject: &QObject, signal_name: &str) -> UniquePtr<QSignalSpy>;
27 # [rust_name = inline_cpp_fn_count]
28 fn inlineCppFn_count(_obj: &QSignalSpy) -> isize;
29 # [rust_name = inline_cpp_fn_take_at]
30 fn inlineCppFn_take_at(_obj: Pin<&mut QSignalSpy>, idx: isize) -> QList_QVariant;
31 # [rust_name = inline_cpp_fn_take_first]
32 fn inlineCppFn_take_first(_obj: Pin<&mut QSignalSpy>) -> QList_QVariant;
33 # [rust_name = inline_cpp_fn_take_last]
34 fn inlineCppFn_take_last(_obj: Pin<&mut QSignalSpy>) -> QList_QVariant;
35 }
36}
37#[allow(dead_code)]
38#[allow(unused_imports)]
39pub use ffi::QSignalSpy;
40impl QSignalSpy {
41 #[allow(dead_code)]
42 pub fn new(qobject: &QObject, signal_name: &str) -> UniquePtr<Self> {
48 let cpp = ffi::inline_cpp_fn_new;
49 let ptr = cpp(qobject, signal_name);
50 if ptr.is_null() {
51 panic!("Failed to create QSignalSpy")
52 }
53 ptr
54 }
55 #[allow(dead_code)]
56 pub fn count(&self) -> isize {
58 let cpp = ffi::inline_cpp_fn_count;
59 cpp(self)
60 }
61 #[allow(dead_code)]
62 pub fn take_at(mut self: Pin<&mut Self>, idx: isize) -> QVariantList {
64 let cpp = ffi::inline_cpp_fn_take_at;
65 cpp(self.as_mut(), idx)
66 }
67 #[allow(dead_code)]
68 pub fn take_first(mut self: Pin<&mut Self>) -> QVariantList {
70 let cpp = ffi::inline_cpp_fn_take_first;
71 cpp(self.as_mut())
72 }
73 #[allow(dead_code)]
74 pub fn take_last(mut self: Pin<&mut Self>) -> QVariantList {
76 let cpp = ffi::inline_cpp_fn_take_last;
77 cpp(self.as_mut())
78 }
79}