1use crate::{ffi, TlsDatabase};
6use glib::{prelude::*, translate::*};
7
8glib::wrapper! {
9 #[doc(alias = "GTlsBackend")]
10 pub struct TlsBackend(Interface<ffi::GTlsBackend, ffi::GTlsBackendInterface>);
11
12 match fn {
13 type_ => || ffi::g_tls_backend_get_type(),
14 }
15}
16
17impl TlsBackend {
18 pub const NONE: Option<&'static TlsBackend> = None;
19
20 #[doc(alias = "g_tls_backend_get_default")]
21 #[doc(alias = "get_default")]
22 #[allow(clippy::should_implement_trait)]
23 pub fn default() -> TlsBackend {
24 unsafe { from_glib_none(ffi::g_tls_backend_get_default()) }
25 }
26}
27
28pub trait TlsBackendExt: IsA<TlsBackend> + 'static {
29 #[doc(alias = "g_tls_backend_get_certificate_type")]
30 #[doc(alias = "get_certificate_type")]
31 fn certificate_type(&self) -> glib::types::Type {
32 unsafe {
33 from_glib(ffi::g_tls_backend_get_certificate_type(
34 self.as_ref().to_glib_none().0,
35 ))
36 }
37 }
38
39 #[doc(alias = "g_tls_backend_get_client_connection_type")]
40 #[doc(alias = "get_client_connection_type")]
41 fn client_connection_type(&self) -> glib::types::Type {
42 unsafe {
43 from_glib(ffi::g_tls_backend_get_client_connection_type(
44 self.as_ref().to_glib_none().0,
45 ))
46 }
47 }
48
49 #[doc(alias = "g_tls_backend_get_default_database")]
50 #[doc(alias = "get_default_database")]
51 fn default_database(&self) -> TlsDatabase {
52 unsafe {
53 from_glib_full(ffi::g_tls_backend_get_default_database(
54 self.as_ref().to_glib_none().0,
55 ))
56 }
57 }
58
59 #[doc(alias = "g_tls_backend_get_dtls_client_connection_type")]
60 #[doc(alias = "get_dtls_client_connection_type")]
61 fn dtls_client_connection_type(&self) -> glib::types::Type {
62 unsafe {
63 from_glib(ffi::g_tls_backend_get_dtls_client_connection_type(
64 self.as_ref().to_glib_none().0,
65 ))
66 }
67 }
68
69 #[doc(alias = "g_tls_backend_get_dtls_server_connection_type")]
70 #[doc(alias = "get_dtls_server_connection_type")]
71 fn dtls_server_connection_type(&self) -> glib::types::Type {
72 unsafe {
73 from_glib(ffi::g_tls_backend_get_dtls_server_connection_type(
74 self.as_ref().to_glib_none().0,
75 ))
76 }
77 }
78
79 #[doc(alias = "g_tls_backend_get_file_database_type")]
80 #[doc(alias = "get_file_database_type")]
81 fn file_database_type(&self) -> glib::types::Type {
82 unsafe {
83 from_glib(ffi::g_tls_backend_get_file_database_type(
84 self.as_ref().to_glib_none().0,
85 ))
86 }
87 }
88
89 #[doc(alias = "g_tls_backend_get_server_connection_type")]
90 #[doc(alias = "get_server_connection_type")]
91 fn server_connection_type(&self) -> glib::types::Type {
92 unsafe {
93 from_glib(ffi::g_tls_backend_get_server_connection_type(
94 self.as_ref().to_glib_none().0,
95 ))
96 }
97 }
98
99 #[cfg(feature = "v2_60")]
100 #[cfg_attr(docsrs, doc(cfg(feature = "v2_60")))]
101 #[doc(alias = "g_tls_backend_set_default_database")]
102 fn set_default_database(&self, database: Option<&impl IsA<TlsDatabase>>) {
103 unsafe {
104 ffi::g_tls_backend_set_default_database(
105 self.as_ref().to_glib_none().0,
106 database.map(|p| p.as_ref()).to_glib_none().0,
107 );
108 }
109 }
110
111 #[doc(alias = "g_tls_backend_supports_dtls")]
112 fn supports_dtls(&self) -> bool {
113 unsafe {
114 from_glib(ffi::g_tls_backend_supports_dtls(
115 self.as_ref().to_glib_none().0,
116 ))
117 }
118 }
119
120 #[doc(alias = "g_tls_backend_supports_tls")]
121 fn supports_tls(&self) -> bool {
122 unsafe {
123 from_glib(ffi::g_tls_backend_supports_tls(
124 self.as_ref().to_glib_none().0,
125 ))
126 }
127 }
128}
129
130impl<O: IsA<TlsBackend>> TlsBackendExt for O {}