use crate::AsyncPoll;
#[doc = crate::_tags!(error runtime)]
#[doc = crate::_doc_meta!{
location("run/permission", enum PermissionError),
test_size_of(PermissionError = 1|8; niche Option),
}]
#[derive(Copy, Clone, Debug, PartialEq, Eq, Hash)]
pub enum PermissionError {
Unsupported,
Failed,
}
crate::impl_trait![fmt::Display+Error for PermissionError |self, f| match *self {
Self::Unsupported => f.write_str(""),
Self::Failed => f.write_str(""),
}];
#[doc = crate::_tags!(runtime result)]
#[doc = crate::_doc_meta!{
location("run/permission", type PermissionQuery),
test_size_of(PermissionQuery = 2|16; niche Option),
}]
pub type PermissionQuery<E = PermissionError> = AsyncPoll<Result<PermissionState, E>>;
#[doc = crate::_tags!(runtime state)]
#[doc = crate::_doc_meta!{
location("run/permission", enum PermissionState),
test_size_of(PermissionState = 1|8; niche Option),
}]
#[derive(Copy, Clone, Debug, PartialEq, Eq, Hash)]
pub enum PermissionState {
Granted,
Prompt,
Denied,
}
crate::_impl_init![Self::Prompt => PermissionState];