-/*-*- Mode: C; c-basic-offset: 8 -*-*/
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
#ifndef footimerhfoo
#define footimerhfoo
TIMER_WAITING,
TIMER_RUNNING,
TIMER_ELAPSED,
- TIMER_MAINTAINANCE,
+ TIMER_FAILED,
_TIMER_STATE_MAX,
_TIMER_STATE_INVALID = -1
} TimerState;
} TimerBase;
typedef struct TimerValue {
- TimerBase base;
usec_t value;
-
usec_t next_elapse;
- bool disabled;
-
LIST_FIELDS(struct TimerValue, value);
+
+ TimerBase base;
+ bool disabled;
} TimerValue;
+typedef enum TimerResult {
+ TIMER_SUCCESS,
+ TIMER_FAILURE_RESOURCES,
+ _TIMER_RESULT_MAX,
+ _TIMER_RESULT_INVALID = -1
+} TimerResult;
+
struct Timer {
- Meta meta;
+ Unit meta;
LIST_HEAD(TimerValue, values);
-
- TimerState state, deserialized_state;
-
usec_t next_elapse;
- Unit *unit;
+ TimerState state, deserialized_state;
+ UnitRef unit;
Watch timer_watch;
- bool failure;
+ TimerResult result;
};
void timer_unit_notify(Unit *u, UnitActiveState new_state);
const char *timer_base_to_string(TimerBase i);
TimerBase timer_base_from_string(const char *s);
+const char* timer_result_to_string(TimerResult i);
+TimerResult timer_result_from_string(const char *s);
+
#endif