pbconfig/changed.go

27 lines
594 B
Go

package config
import "sync"
// this package can provide a trivial way to track which
// protobufs have been modified and need to be written to disk
// todo: autogenpb could generate code to work with this
var saveMap map[string]bool
var saveLock sync.Mutex
func init() {
// init() should be avoided, but this package and for making
// this small string map, it seems a sensible exception
saveMap = make(map[string]bool)
}
func SetChanged(name string, b bool) {
saveLock.Lock()
defer saveLock.Unlock()
saveMap[name] = b
}
func HasChanged(name string) bool {
return saveMap[name]
}