vmbus_channel/
resources.rs1use crate::channel::VmbusDevice;
7use vm_resource::CanResolveTo;
8use vm_resource::kind::VmbusDeviceHandleKind;
9use vmcore::vm_task::VmTaskDriverSource;
10
11impl CanResolveTo<ResolvedVmbusDevice> for VmbusDeviceHandleKind {
12 type Input<'a> = ResolveVmbusDeviceHandleParams<'a>;
13}
14
15pub struct ResolveVmbusDeviceHandleParams<'a> {
17 pub driver_source: &'a VmTaskDriverSource,
19}
20
21pub struct ResolvedVmbusDevice(pub Box<dyn VmbusDevice>);
23
24impl<T: 'static + VmbusDevice> From<T> for ResolvedVmbusDevice {
25 fn from(value: T) -> Self {
26 Self(Box::new(value))
27 }
28}