pub trait SizedProperty<'a>: 'static {
type Value: 'a;
const DESCRIPTION: &'static str = "";
}
pub trait Property<'a>: 'static {
type Value: ?Sized + 'a;
const DESCRIPTION: &'static str = "";
}
impl<'a, P: SizedProperty<'a>> Property<'a> for P {
type Value = P::Value;
const DESCRIPTION: &'static str = P::DESCRIPTION;
}
pub use properties::*;
mod properties {
use super::Property;
#[derive(Debug)]
#[non_exhaustive]
pub struct AuthId;
impl Property<'_> for AuthId {
type Value = str;
}
#[derive(Debug)]
#[non_exhaustive]
pub struct AuthzId;
impl Property<'_> for AuthzId {
type Value = str;
}
#[derive(Debug)]
#[non_exhaustive]
pub struct OpenID20AuthenticateInBrowser;
impl Property<'_> for OpenID20AuthenticateInBrowser {
type Value = str;
}
#[derive(Debug)]
#[non_exhaustive]
pub struct Saml20AuthenticateInBrowser;
impl Property<'_> for Saml20AuthenticateInBrowser {
type Value = str;
}
#[derive(Debug)]
#[non_exhaustive]
pub struct OpenID20OutcomeData;
#[derive(Debug)]
#[non_exhaustive]
pub struct OpenID20RedirectUrl;
#[derive(Debug)]
#[non_exhaustive]
pub struct SAML20RedirectUrl;
#[derive(Debug)]
#[non_exhaustive]
pub struct SAML20IDPIdentifier;
#[derive(Debug)]
#[non_exhaustive]
pub struct Qop;
#[derive(Debug)]
#[non_exhaustive]
pub struct Qops;
#[derive(Debug)]
#[non_exhaustive]
pub struct DigestMD5HashedPassword;
#[derive(Debug)]
#[non_exhaustive]
pub struct Realm;
impl Property<'_> for Realm {
type Value = str;
}
#[derive(Debug)]
#[non_exhaustive]
pub struct Pin;
#[derive(Debug)]
#[non_exhaustive]
pub struct SuggestedPin;
#[derive(Debug)]
#[non_exhaustive]
pub struct Passcode;
#[derive(Debug)]
#[non_exhaustive]
pub struct GssapiDisplayName;
#[derive(Debug)]
#[non_exhaustive]
pub struct Hostname;
impl Property<'_> for Hostname {
type Value = str;
}
#[derive(Debug)]
#[non_exhaustive]
pub struct Service;
impl Property<'_> for Service {
type Value = str;
}
#[derive(Debug)]
#[non_exhaustive]
pub struct Password;
impl Property<'_> for Password {
type Value = [u8];
}
#[derive(Debug)]
#[non_exhaustive]
pub struct OAuthBearerToken;
impl Property<'_> for OAuthBearerToken {
type Value = str;
}
#[derive(Debug)]
#[non_exhaustive]
pub struct OAuthBearerKV;
impl<'a> Property<'a> for OAuthBearerKV {
type Value = [(&'a str, &'a str)];
}
#[derive(Debug)]
#[non_exhaustive]
pub struct ChannelBindings;
impl Property<'_> for ChannelBindings {
type Value = [u8];
}
#[derive(Debug)]
#[non_exhaustive]
pub struct ChannelBindingName;
impl Property<'_> for ChannelBindingName {
type Value = str;
}
#[derive(Debug)]
#[non_exhaustive]
pub struct OverrideCBType;
impl Property<'_> for OverrideCBType {
type Value = str;
}
}