guest_emulation_log/
resolver.rs1use crate::GuestEmulationLog;
5use get_resources::gel::GuestEmulationLogHandle;
6use std::convert::Infallible;
7use vm_resource::ResolveResource;
8use vm_resource::declare_static_resolver;
9use vm_resource::kind::VmbusDeviceHandleKind;
10use vmbus_channel::resources::ResolveVmbusDeviceHandleParams;
11use vmbus_channel::resources::ResolvedVmbusDevice;
12use vmbus_channel::simple::SimpleDeviceWrapper;
13
14pub struct GuestEmulationLogResolver;
16
17declare_static_resolver!(
18 GuestEmulationLogResolver,
19 (VmbusDeviceHandleKind, GuestEmulationLogHandle)
20);
21
22impl ResolveResource<VmbusDeviceHandleKind, GuestEmulationLogHandle> for GuestEmulationLogResolver {
23 type Output = ResolvedVmbusDevice;
24 type Error = Infallible;
25
26 fn resolve(
27 &self,
28 _resource: GuestEmulationLogHandle,
29 input: ResolveVmbusDeviceHandleParams<'_>,
30 ) -> Result<Self::Output, Self::Error> {
31 Ok(SimpleDeviceWrapper::new(input.driver_source.simple(), GuestEmulationLog::new()).into())
32 }
33}