pub struct TimerManager { /* private fields */ }Expand description
Timer manager for controlling timer operations
Provides methods to start, stop, pause, and resume timers, as well as query their current status. Manages persistence through the StorageManager layer.
Implementations§
Source§impl TimerManager
impl TimerManager
Sourcepub fn new(storage: Storage) -> Self
pub fn new(storage: Storage) -> Self
Create a new timer manager with low-level Storage For internal use - external callers should use storage::StorageManager instead
Sourcepub fn start(
&self,
task_name: String,
description: Option<String>,
project: Option<String>,
customer: Option<String>,
source_record_id: Option<u32>,
source_record_date: Option<Date>,
) -> Result<TimerState>
pub fn start( &self, task_name: String, description: Option<String>, project: Option<String>, customer: Option<String>, source_record_id: Option<u32>, source_record_date: Option<Date>, ) -> Result<TimerState>
Sourcepub fn stop(&self) -> Result<WorkRecord>
pub fn stop(&self) -> Result<WorkRecord>
Stop the active timer and convert it to a WorkRecord
§Errors
Returns an error if no timer is running
Sourcepub fn pause(&self) -> Result<TimerState>
pub fn pause(&self) -> Result<TimerState>
Sourcepub fn resume(&self) -> Result<TimerState>
pub fn resume(&self) -> Result<TimerState>
Sourcepub fn status(&self) -> Result<Option<TimerState>>
pub fn status(&self) -> Result<Option<TimerState>>
Get the current timer status
Returns None if no timer is running
Sourcepub fn get_elapsed_duration(&self, timer: &TimerState) -> StdDuration
pub fn get_elapsed_duration(&self, timer: &TimerState) -> StdDuration
Calculate elapsed duration of a timer
Returns the time since start_time, minus any paused durations.
Auto Trait Implementations§
impl Freeze for TimerManager
impl RefUnwindSafe for TimerManager
impl Send for TimerManager
impl Sync for TimerManager
impl Unpin for TimerManager
impl UnsafeUnpin for TimerManager
impl UnwindSafe for TimerManager
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more