diff options
author | Vika <vika@fireburn.ru> | 2024-10-22 21:52:10 +0300 |
---|---|---|
committer | Vika <vika@fireburn.ru> | 2024-10-22 21:52:10 +0300 |
commit | f2f7b6ffec7bf657966353c850d25c6ab218ff7c (patch) | |
tree | d4d5cc76474453863a064eb04d75af5353579f5b /libsecret/src/auto/prompt.rs | |
parent | 3bd499a9d696a850a493bf81c01c68aee18c9d7b (diff) | |
download | bowl-f2f7b6ffec7bf657966353c850d25c6ab218ff7c.tar.zst |
vendor libsecret
The libsecret-rs crate is unmaintained, so I'm vendoring it for now. Bumping the glib version turned out to be enough. The exact process I used was: 1. Cloning the repository 2. Making changes 3. `cargo build` to ensure it works 4. `cargo package --no-verify` (b/c it tries to build all crates separately instead of the entire workspace as a whole) 5. `mkdir libsecret/sys -p` 6. `tar --strip-components 1 -C libsecret -xvf ../libsecret-rs/target/package/libsecret-0.6.0.crate` 7. `tar --strip-components 1 -C libsecret/sys -xvf ../libsecret-rs/target/package/libsecret-sys-0.6.0.crate` Then `Cargo.toml` is modified to ensure the libsecret and its `-sys` crate build out of my vendored sources. In the future, if I gain maintainership of the `libsecret` crate, I could just revert this commit to make it point back to the upstream.
Diffstat (limited to 'libsecret/src/auto/prompt.rs')
-rw-r--r-- | libsecret/src/auto/prompt.rs | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/libsecret/src/auto/prompt.rs b/libsecret/src/auto/prompt.rs new file mode 100644 index 0000000..245f68a --- /dev/null +++ b/libsecret/src/auto/prompt.rs @@ -0,0 +1,76 @@ +// This file was generated by gir (https://github.com/gtk-rs/gir) +// from +// from gir-files (https://github.com/gtk-rs/gir-files.git) +// DO NOT EDIT + +use glib::{prelude::*, translate::*}; + +glib::wrapper! { + #[doc(alias = "SecretPrompt")] + pub struct Prompt(Object<ffi::SecretPrompt, ffi::SecretPromptClass>) @extends gio::DBusProxy, @implements gio::DBusInterface, gio::Initable; + + match fn { + type_ => || ffi::secret_prompt_get_type(), + } +} + +impl Prompt { + pub const NONE: Option<&'static Prompt> = None; +} + +mod sealed { + pub trait Sealed {} + impl<T: super::IsA<super::Prompt>> Sealed for T {} +} + +pub trait PromptExt: IsA<Prompt> + sealed::Sealed + 'static { + #[doc(alias = "secret_prompt_perform_sync")] + fn perform_sync( + &self, + window_id: Option<&str>, + cancellable: Option<&impl IsA<gio::Cancellable>>, + return_type: &glib::VariantTy, + ) -> Result<glib::Variant, glib::Error> { + unsafe { + let mut error = std::ptr::null_mut(); + let ret = ffi::secret_prompt_perform_sync( + self.as_ref().to_glib_none().0, + window_id.to_glib_none().0, + cancellable.map(|p| p.as_ref()).to_glib_none().0, + return_type.to_glib_none().0, + &mut error, + ); + if error.is_null() { + Ok(from_glib_full(ret)) + } else { + Err(from_glib_full(error)) + } + } + } + + #[doc(alias = "secret_prompt_run")] + fn run( + &self, + window_id: Option<&str>, + cancellable: Option<&impl IsA<gio::Cancellable>>, + return_type: &glib::VariantTy, + ) -> Result<glib::Variant, glib::Error> { + unsafe { + let mut error = std::ptr::null_mut(); + let ret = ffi::secret_prompt_run( + self.as_ref().to_glib_none().0, + window_id.to_glib_none().0, + cancellable.map(|p| p.as_ref()).to_glib_none().0, + return_type.to_glib_none().0, + &mut error, + ); + if error.is_null() { + Ok(from_glib_full(ret)) + } else { + Err(from_glib_full(error)) + } + } + } +} + +impl<O: IsA<Prompt>> PromptExt for O {} |