1use super::{
4 LinkAddRequest,
5 LinkDelPropRequest,
6 LinkDelRequest,
7 LinkGetRequest,
8 LinkNewPropRequest,
9 LinkSetRequest,
10};
11use crate::Handle;
12
13pub struct LinkHandle(Handle);
14
15impl LinkHandle {
16 pub fn new(handle: Handle) -> Self {
17 LinkHandle(handle)
18 }
19
20 pub fn set(&self, index: u32) -> LinkSetRequest {
21 LinkSetRequest::new(self.0.clone(), index)
22 }
23
24 pub fn add(&self) -> LinkAddRequest {
25 LinkAddRequest::new(self.0.clone())
26 }
27
28 pub fn property_add(&self, index: u32) -> LinkNewPropRequest {
29 LinkNewPropRequest::new(self.0.clone(), index)
30 }
31
32 pub fn property_del(&self, index: u32) -> LinkDelPropRequest {
33 LinkDelPropRequest::new(self.0.clone(), index)
34 }
35
36 pub fn del(&mut self, index: u32) -> LinkDelRequest {
37 LinkDelRequest::new(self.0.clone(), index)
38 }
39
40 pub fn get(&mut self) -> LinkGetRequest {
42 LinkGetRequest::new(self.0.clone())
43 }
44}