use crate::{HostEntity, OwnedLocalEntity, RemoteEntity};
#[derive(Debug)]
pub struct LocalEntityRecord {
entity: OwnedLocalEntity,
}
impl LocalEntityRecord {
pub fn new_host_owned_entity(entity: HostEntity) -> Self {
Self {
entity: OwnedLocalEntity::new_host(entity),
}
}
pub fn new_static_host_owned_entity(entity: HostEntity) -> Self {
Self {
entity: OwnedLocalEntity::new_host_static(entity.value()),
}
}
pub fn new_remote_owned_entity(entity: RemoteEntity) -> Self {
Self {
entity: OwnedLocalEntity::new_remote(entity),
}
}
pub fn is_host_owned(&self) -> bool {
self.entity.is_host()
}
pub fn is_static(&self) -> bool {
self.entity.is_static()
}
pub fn is_remote_owned(&self) -> bool {
self.entity.is_remote()
}
pub(crate) fn host_entity(&self) -> HostEntity {
self.entity.host()
}
pub(crate) fn remote_entity(&self) -> RemoteEntity {
self.entity.remote()
}
pub(crate) fn owned_entity(&self) -> OwnedLocalEntity {
self.entity
}
}