23 lines
801 B
Rust
23 lines
801 B
Rust
use gio::prelude::*;
|
|
use std::env;
|
|
|
|
fn main() {
|
|
let uri = env::args().nth(1).expect("no uri provided");
|
|
let context = glib::MainContext::new();
|
|
context.block_on(async {
|
|
let mount_op = gio::MountOperation::new();
|
|
mount_op.connect_ask_password(|mount_op, message, default_user, default_domain, flags| {
|
|
println!(
|
|
"{}, {}, {}, {:?}",
|
|
message, default_user, default_domain, flags
|
|
);
|
|
mount_op.set_anonymous(true);
|
|
mount_op.reply(gio::MountOperationResult::Handled);
|
|
});
|
|
let file = gio::File::for_uri(&uri);
|
|
let res = file
|
|
.mount_enclosing_volume_future(gio::MountMountFlags::empty(), Some(&mount_op))
|
|
.await;
|
|
println!("{:?}", res);
|
|
});
|
|
}
|