go-hue-interface/monitor.go
2019-02-11 22:15:45 +01:00

24 lines
428 B
Go

package hue
import "reflect"
// Monitor is a interface which is used for checking events
type Monitor struct {
CurrentState interface{}
Handler func(interface{})
}
func (m *Monitor) hasChanged(newState interface{}) bool {
return reflect.DeepEqual(m.CurrentState, newState)
}
func (m *Monitor) Update(newState interface{}) {
if m.hasChanged(newState) {
m.Handler(newState)
}
}
func (b *Bridge) AddMonitor() {
}