2019-05-01 01:53:53 +00:00
|
|
|
package mousemover
|
|
|
|
|
|
|
|
import (
|
|
|
|
"os"
|
|
|
|
"sync"
|
|
|
|
"time"
|
|
|
|
)
|
|
|
|
|
|
|
|
//MouseMover is the main struct for the app
|
|
|
|
type MouseMover struct {
|
|
|
|
quit chan struct{}
|
|
|
|
logFile *os.File
|
|
|
|
state *state
|
|
|
|
}
|
|
|
|
|
|
|
|
//state manages the internal working of the app
|
|
|
|
type state struct {
|
|
|
|
mutex sync.RWMutex
|
|
|
|
isAppRunning bool
|
|
|
|
isSysSleeping bool
|
|
|
|
lastMouseMovedTime time.Time
|
2022-10-04 04:37:39 +00:00
|
|
|
lastErrorTime time.Time
|
2019-05-01 01:53:53 +00:00
|
|
|
didNotMoveCount int
|
|
|
|
override *override
|
|
|
|
}
|
|
|
|
|
|
|
|
//only needed for tests
|
|
|
|
type override struct {
|
|
|
|
valueToReturn bool
|
|
|
|
}
|