24 lines
368 B
Go
24 lines
368 B
Go
package lookup
|
|
|
|
import (
|
|
"net"
|
|
|
|
"dnsupdater/ip"
|
|
)
|
|
|
|
type Service interface {
|
|
Name() string
|
|
|
|
Lookup() (net.IP, error)
|
|
}
|
|
|
|
const WAN_IFACE = "wan"
|
|
|
|
func LookupWrapper(service Service) ip.NetInterfaceIPResolver {
|
|
return func(iface_name string) (net.IP, error) {
|
|
if iface_name == WAN_IFACE {
|
|
return service.Lookup()
|
|
}
|
|
return ip.GetInterfaceIP(iface_name)
|
|
}
|
|
}
|