cosmic-files/examples/gio-mount.rs
2024-09-16 09:18:35 -06:00

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);
});
}