wasmer_wasix/state/handles/
global.rs

1#![cfg_attr(feature = "js", allow(unused))]
2use wasmer::Memory;
3
4use crate::WasiModuleTreeHandles;
5
6pub(crate) type WasiInstanceGuard<'a> = &'a WasiModuleTreeHandles;
7pub(crate) type WasiInstanceGuardMut<'a> = &'a mut WasiModuleTreeHandles;
8pub(crate) type WasiInstanceGuardMemory<'a> = &'a Memory;
9
10/// This pointer provides global access to some instance handles
11#[derive(Debug, Clone, Default)]
12pub(crate) struct WasiInstanceHandlesPointer {
13    inner: Option<WasiModuleTreeHandles>,
14}
15impl WasiInstanceHandlesPointer {
16    pub fn get(&self) -> Option<&WasiModuleTreeHandles> {
17        self.inner.as_ref()
18    }
19    pub fn get_mut(&mut self) -> Option<&mut WasiModuleTreeHandles> {
20        self.inner.as_mut()
21    }
22    pub fn set(&mut self, val: WasiModuleTreeHandles) {
23        self.inner.replace(val);
24    }
25    #[allow(dead_code)]
26    pub fn clear(&mut self) {
27        self.inner.take();
28    }
29}