blob: a76a6770e825725d55632c9322a14feaed7e1a1f [file] [log] [blame]
package sample
// Alarm allows clients to manipulate an alarm and query its status.
type Alarm interface {
// Status returns the current status of the Alarm (i.e., armed, unarmed, panicking).
Status() (string | error)
// Arm sets the Alarm to the armed state.
Arm() error
// DelayArm sets the Alarm to the armed state after the given delay in seconds.
DelayArm(seconds float32) error
// Unarm sets the Alarm to the unarmed state.
Unarm() error
// Panic sets the Alarm to the panicking state.
Panic() error
}