xref: /aosp_15_r20/external/crosvm/cros_async/src/event.rs (revision bb4ee6a4ae7042d18b07a98463b9c8b875e44b39)
1*bb4ee6a4SAndroid Build Coastguard Worker // Copyright 2020 The ChromiumOS Authors
2*bb4ee6a4SAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be
3*bb4ee6a4SAndroid Build Coastguard Worker // found in the LICENSE file.
4*bb4ee6a4SAndroid Build Coastguard Worker 
5*bb4ee6a4SAndroid Build Coastguard Worker use base::Event;
6*bb4ee6a4SAndroid Build Coastguard Worker 
7*bb4ee6a4SAndroid Build Coastguard Worker use crate::IntoAsync;
8*bb4ee6a4SAndroid Build Coastguard Worker use crate::IoSource;
9*bb4ee6a4SAndroid Build Coastguard Worker 
10*bb4ee6a4SAndroid Build Coastguard Worker /// An async version of `base::Event`.
11*bb4ee6a4SAndroid Build Coastguard Worker pub struct EventAsync {
12*bb4ee6a4SAndroid Build Coastguard Worker     pub(crate) io_source: IoSource<Event>,
13*bb4ee6a4SAndroid Build Coastguard Worker     #[cfg(windows)]
14*bb4ee6a4SAndroid Build Coastguard Worker     pub(crate) reset_after_read: bool,
15*bb4ee6a4SAndroid Build Coastguard Worker }
16*bb4ee6a4SAndroid Build Coastguard Worker 
17*bb4ee6a4SAndroid Build Coastguard Worker impl EventAsync {
get_io_source_ref(&self) -> &IoSource<Event>18*bb4ee6a4SAndroid Build Coastguard Worker     pub fn get_io_source_ref(&self) -> &IoSource<Event> {
19*bb4ee6a4SAndroid Build Coastguard Worker         &self.io_source
20*bb4ee6a4SAndroid Build Coastguard Worker     }
21*bb4ee6a4SAndroid Build Coastguard Worker }
22*bb4ee6a4SAndroid Build Coastguard Worker 
23*bb4ee6a4SAndroid Build Coastguard Worker impl IntoAsync for Event {}
24