34 lines
846 B
Go
34 lines
846 B
Go
package updater
|
|
|
|
// import (
|
|
// "github.com/tevino/abool"
|
|
// )
|
|
|
|
// type notifier struct {
|
|
// upgradeAvailable *abool.AtomicBool
|
|
// notifyChannel chan struct{}
|
|
// }
|
|
|
|
// func newNotifier() *notifier {
|
|
// return ¬ifier{
|
|
// upgradeAvailable: abool.NewBool(false),
|
|
// notifyChannel: make(chan struct{}),
|
|
// }
|
|
// }
|
|
|
|
// func (n *notifier) markAsUpgradeable() {
|
|
// if n.upgradeAvailable.SetToIf(false, true) {
|
|
// close(n.notifyChannel)
|
|
// }
|
|
// }
|
|
|
|
// // UpgradeAvailable returns whether an upgrade is available for this file.
|
|
// func (file *File) UpgradeAvailable() bool {
|
|
// return file.notifier.upgradeAvailable.IsSet()
|
|
// }
|
|
|
|
// // WaitForAvailableUpgrade blocks (selectable) until an upgrade for this file is available.
|
|
// func (file *File) WaitForAvailableUpgrade() <-chan struct{} {
|
|
// return file.notifier.notifyChannel
|
|
// }
|