From 567837af523e3c5a1ae922cafd973c3b27ee7368 Mon Sep 17 00:00:00 2001 From: Ahmad Asaad Date: Mon, 28 Oct 2024 12:46:38 +0200 Subject: [PATCH] feat: prototype for timer --- src/lib.rs | 1 + src/timer.rs | 41 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 src/timer.rs diff --git a/src/lib.rs b/src/lib.rs index bfe5e9a..e649286 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1 +1,2 @@ pub mod alarm; +pub mod timer; diff --git a/src/timer.rs b/src/timer.rs new file mode 100644 index 0000000..16c416b --- /dev/null +++ b/src/timer.rs @@ -0,0 +1,41 @@ +#[derive(Debug, PartialEq)] +pub struct Timer { + length: u32, + message: Option, + vibrate: bool, +} + +impl Timer { + pub fn new() -> Timer { + Timer { + length: 0, + message: None, + vibrate: false, + } + } + + pub fn hour(mut self, hour: u32) -> Self { + self.length += hour * 3600; + self + } + + pub fn minutes(mut self, minutes: u32) -> Self { + self.length += minutes * 60; + self + } + + pub fn seconds(mut self, seconds: u32) -> Self { + self.length += seconds; + self + } + + pub fn message(mut self, message: String) -> Self { + self.message = Some(message); + self + } + + pub fn vibrate(mut self, vibrate: bool) -> Self { + self.vibrate = vibrate; + self + } +}