tss_esapi/structures/clock/
time_info.rs1use crate::{structures::ClockInfo, tss2_esys::TPMS_TIME_INFO, Error, Result};
5use std::convert::{TryFrom, TryInto};
6
7#[derive(Debug, Clone, Copy, PartialEq, Eq)]
13pub struct TimeInfo {
14 time: u64,
15 clock_info: ClockInfo,
16}
17
18impl TimeInfo {
19 pub const fn time(&self) -> u64 {
21 self.time
22 }
23
24 pub const fn clock_info(&self) -> &ClockInfo {
26 &self.clock_info
27 }
28}
29
30impl From<TimeInfo> for TPMS_TIME_INFO {
31 fn from(time_info: TimeInfo) -> Self {
32 TPMS_TIME_INFO {
33 time: time_info.time,
34 clockInfo: time_info.clock_info.into(),
35 }
36 }
37}
38
39impl TryFrom<TPMS_TIME_INFO> for TimeInfo {
40 type Error = Error;
41
42 fn try_from(tpms_time_info: TPMS_TIME_INFO) -> Result<Self> {
43 Ok(TimeInfo {
44 time: tpms_time_info.time,
45 clock_info: tpms_time_info.clockInfo.try_into()?,
46 })
47 }
48}