use crate::protocol::v2::server::server_info;
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub enum Capability {
ClientPublish,
Parameters,
Services,
Assets,
ConnectionGraph,
}
impl Capability {
pub(crate) fn as_protocol_capabilities(&self) -> &'static [server_info::Capability] {
match self {
Self::ClientPublish => &[server_info::Capability::ClientPublish],
Self::Parameters => &[
server_info::Capability::Parameters,
server_info::Capability::ParametersSubscribe,
],
Self::Services => &[server_info::Capability::Services],
Self::Assets => &[server_info::Capability::Assets],
Self::ConnectionGraph => &[server_info::Capability::ConnectionGraph],
}
}
}