1 | // This file was generated by gir (https://github.com/gtk-rs/gir) |
2 | // from gir-files (https://github.com/gtk-rs/gir-files) |
3 | // DO NOT EDIT |
4 | |
5 | use crate::{translate::*, TimeType}; |
6 | |
7 | crate::wrapper! { |
8 | #[derive (Debug, PartialEq, Eq, PartialOrd, Ord, Hash)] |
9 | pub struct TimeZone(Shared<ffi::GTimeZone>); |
10 | |
11 | match fn { |
12 | ref => |ptr| ffi::g_time_zone_ref(ptr), |
13 | unref => |ptr| ffi::g_time_zone_unref(ptr), |
14 | type_ => || ffi::g_time_zone_get_type(), |
15 | } |
16 | } |
17 | |
18 | impl TimeZone { |
19 | #[cfg_attr (feature = "v2_68" , deprecated = "Since 2.68" )] |
20 | #[allow (deprecated)] |
21 | #[doc (alias = "g_time_zone_new" )] |
22 | pub fn new(identifier: Option<&str>) -> TimeZone { |
23 | unsafe { from_glib_full(ffi::g_time_zone_new(identifier.to_glib_none().0)) } |
24 | } |
25 | |
26 | #[cfg (feature = "v2_68" )] |
27 | #[cfg_attr (docsrs, doc(cfg(feature = "v2_68" )))] |
28 | #[doc (alias = "g_time_zone_new_identifier" )] |
29 | #[doc (alias = "new_identifier" )] |
30 | pub fn from_identifier(identifier: Option<&str>) -> Option<TimeZone> { |
31 | unsafe { from_glib_full(ffi::g_time_zone_new_identifier(identifier.to_glib_none().0)) } |
32 | } |
33 | |
34 | #[doc (alias = "g_time_zone_new_local" )] |
35 | #[doc (alias = "new_local" )] |
36 | pub fn local() -> TimeZone { |
37 | unsafe { from_glib_full(ffi::g_time_zone_new_local()) } |
38 | } |
39 | |
40 | #[cfg (feature = "v2_58" )] |
41 | #[cfg_attr (docsrs, doc(cfg(feature = "v2_58" )))] |
42 | #[doc (alias = "g_time_zone_new_offset" )] |
43 | #[doc (alias = "new_offset" )] |
44 | pub fn from_offset(seconds: i32) -> TimeZone { |
45 | unsafe { from_glib_full(ffi::g_time_zone_new_offset(seconds)) } |
46 | } |
47 | |
48 | #[doc (alias = "g_time_zone_new_utc" )] |
49 | #[doc (alias = "new_utc" )] |
50 | pub fn utc() -> TimeZone { |
51 | unsafe { from_glib_full(ffi::g_time_zone_new_utc()) } |
52 | } |
53 | |
54 | #[doc (alias = "g_time_zone_find_interval" )] |
55 | pub fn find_interval(&self, type_: TimeType, time_: i64) -> i32 { |
56 | unsafe { ffi::g_time_zone_find_interval(self.to_glib_none().0, type_.into_glib(), time_) } |
57 | } |
58 | |
59 | #[doc (alias = "g_time_zone_get_abbreviation" )] |
60 | #[doc (alias = "get_abbreviation" )] |
61 | pub fn abbreviation(&self, interval: i32) -> crate::GString { |
62 | unsafe { |
63 | from_glib_none(ffi::g_time_zone_get_abbreviation( |
64 | self.to_glib_none().0, |
65 | interval, |
66 | )) |
67 | } |
68 | } |
69 | |
70 | #[cfg (feature = "v2_58" )] |
71 | #[cfg_attr (docsrs, doc(cfg(feature = "v2_58" )))] |
72 | #[doc (alias = "g_time_zone_get_identifier" )] |
73 | #[doc (alias = "get_identifier" )] |
74 | pub fn identifier(&self) -> crate::GString { |
75 | unsafe { from_glib_none(ffi::g_time_zone_get_identifier(self.to_glib_none().0)) } |
76 | } |
77 | |
78 | #[doc (alias = "g_time_zone_get_offset" )] |
79 | #[doc (alias = "get_offset" )] |
80 | pub fn offset(&self, interval: i32) -> i32 { |
81 | unsafe { ffi::g_time_zone_get_offset(self.to_glib_none().0, interval) } |
82 | } |
83 | |
84 | #[doc (alias = "g_time_zone_is_dst" )] |
85 | pub fn is_dst(&self, interval: i32) -> bool { |
86 | unsafe { from_glib(ffi::g_time_zone_is_dst(self.to_glib_none().0, interval)) } |
87 | } |
88 | } |
89 | |
90 | unsafe impl Send for TimeZone {} |
91 | unsafe impl Sync for TimeZone {} |
92 | |