1use crate::ffi;
6use glib::translate::*;
7
8glib::wrapper! {
9 #[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Hash)]
10 pub struct SrvTarget(Boxed<ffi::GSrvTarget>);
11
12 match fn {
13 copy => |ptr| ffi::g_srv_target_copy(mut_override(ptr)),
14 free => |ptr| ffi::g_srv_target_free(ptr),
15 type_ => || ffi::g_srv_target_get_type(),
16 }
17}
18
19impl SrvTarget {
20 #[doc(alias = "g_srv_target_new")]
21 pub fn new(hostname: &str, port: u16, priority: u16, weight: u16) -> SrvTarget {
22 unsafe {
23 from_glib_full(ffi::g_srv_target_new(
24 hostname.to_glib_none().0,
25 port,
26 priority,
27 weight,
28 ))
29 }
30 }
31
32 #[doc(alias = "g_srv_target_get_hostname")]
33 #[doc(alias = "get_hostname")]
34 pub fn hostname(&mut self) -> glib::GString {
35 unsafe { from_glib_none(ffi::g_srv_target_get_hostname(self.to_glib_none_mut().0)) }
36 }
37
38 #[doc(alias = "g_srv_target_get_port")]
39 #[doc(alias = "get_port")]
40 pub fn port(&mut self) -> u16 {
41 unsafe { ffi::g_srv_target_get_port(self.to_glib_none_mut().0) }
42 }
43
44 #[doc(alias = "g_srv_target_get_priority")]
45 #[doc(alias = "get_priority")]
46 pub fn priority(&mut self) -> u16 {
47 unsafe { ffi::g_srv_target_get_priority(self.to_glib_none_mut().0) }
48 }
49
50 #[doc(alias = "g_srv_target_get_weight")]
51 #[doc(alias = "get_weight")]
52 pub fn weight(&mut self) -> u16 {
53 unsafe { ffi::g_srv_target_get_weight(self.to_glib_none_mut().0) }
54 }
55
56 }