linux: add method to query adapter state

This commit is contained in:
Baden Parr 2023-09-15 14:56:38 +12:00
parent 5d5d23fad9
commit 5d5d0d99a3

View file

@ -73,6 +73,22 @@ func (a *Adapter) SetStateChangeHandler(c func(newState AdapterState)) {
a.stateChangeHandler = c
}
// State returns the current state of the adapter.
func (a *Adapter) State() AdapterState {
if a.adapter == nil {
return AdapterStateUnknown
}
powered, err := a.adapter.GetPowered()
if err != nil {
return AdapterStateUnknown
}
if powered {
return AdapterStatePoweredOn
}
return AdapterStatePoweredOff
}
// watchForConnect watches for a signal from the bluez adapter interface that indicates a Powered/Unpowered event.
//
// We can add extra signals to watch for here,