workflow_nw/ipc/
target.rs1use crate::ipc::imports::*;
2
3#[derive(Clone, Debug)]
4pub struct IpcTarget {
7 target: Rc<JsValue>,
8}
9
10unsafe impl Send for IpcTarget {}
11unsafe impl Sync for IpcTarget {}
12
13impl IpcTarget {
14 pub fn new(target: &JsValue) -> IpcTarget {
16 IpcTarget {
17 target: Rc::new(target.clone()),
18 }
19 }
20}
21
22impl AsRef<JsValue> for IpcTarget {
23 fn as_ref(&self) -> &JsValue {
24 &self.target
25 }
26}
27
28impl From<nw_sys::Window> for IpcTarget {
29 fn from(window: nw_sys::Window) -> IpcTarget {
30 IpcTarget::new(window.window().as_ref())
31 }
32}
33
34impl From<Arc<nw_sys::Window>> for IpcTarget {
35 fn from(window: Arc<nw_sys::Window>) -> IpcTarget {
36 IpcTarget::new(window.window().as_ref())
37 }
38}