cxx_qt_lib/core/qvariant/
qvariant_qpersistentmodelindex.rs

1// SPDX-FileCopyrightText: 2022 Klarälvdalens Datakonsult AB, a KDAB Group company <info@kdab.com>
2// SPDX-FileContributor: Andrew Hayzen <andrew.hayzen@kdab.com>
3//
4// SPDX-License-Identifier: MIT OR Apache-2.0
5
6#[cxx::bridge]
7pub mod ffi {
8    unsafe extern "C++" {
9        include!("cxx-qt-lib/qpersistentmodelindex.h");
10        type QPersistentModelIndex = crate::QPersistentModelIndex;
11
12        include!("cxx-qt-lib/qvariant.h");
13        type QVariant = crate::QVariant;
14    }
15
16    #[namespace = "rust::cxxqtlib1::qvariant"]
17    unsafe extern "C++" {
18        #[rust_name = "can_convert_QPersistentModelIndex"]
19        fn qvariantCanConvertQPersistentModelIndex(variant: &QVariant) -> bool;
20        #[rust_name = "construct_QPersistentModelIndex"]
21        fn qvariantConstruct(value: &QPersistentModelIndex) -> QVariant;
22        #[rust_name = "value_or_default_QPersistentModelIndex"]
23        fn qvariantValueOrDefault(variant: &QVariant) -> QPersistentModelIndex;
24    }
25}
26
27pub(crate) fn can_convert(variant: &ffi::QVariant) -> bool {
28    ffi::can_convert_QPersistentModelIndex(variant)
29}
30
31pub(crate) fn construct(value: &ffi::QPersistentModelIndex) -> ffi::QVariant {
32    ffi::construct_QPersistentModelIndex(value)
33}
34
35pub(crate) fn value_or_default(variant: &ffi::QVariant) -> ffi::QPersistentModelIndex {
36    ffi::value_or_default_QPersistentModelIndex(variant)
37}