This commit is contained in:
crusader 2018-10-10 22:38:53 +09:00
parent 6be23297a4
commit a9f2de065e
2 changed files with 24 additions and 4 deletions

View File

@ -18,6 +18,18 @@ const (
TargetSSDPAll = "ssdp:all"
)
var (
deviceTypes = map[string]omm.MetaHostTypeEnum{
"urn:schemas-upnp-org:device:InternetGatewayDevice:1": omm.MetaHostTypeEnumRouter,
"urn:schemas-upnp-org:device:InternetGatewayDevice:2": omm.MetaHostTypeEnumRouter,
"urn:schemas-upnp-org:device:WLANAccessPointDevice:1": omm.MetaHostTypeEnumWLANAccessPoint,
"urn:schemas-upnp-org:device:MediaServer:1": omm.MetaHostTypeEnumMediaServer,
"urn:schemas-upnp-org:device:MediaServer:2": omm.MetaHostTypeEnumMediaServer,
"urn:schemas-upnp-org:device:MediaServer:3": omm.MetaHostTypeEnumMediaServer,
"urn:schemas-upnp-org:device:MediaServer:4": omm.MetaHostTypeEnumMediaServer,
}
)
func Scan(discoverySession session.DiscoverySession) error {
devs, err := goupnp.DiscoverDevices(TargetRootDevice)
if nil != err {
@ -74,6 +86,13 @@ LOOP:
h.Name = rd.ModelName
h.DiscoveredDate = omu.NowPtr()
mht, ok := deviceTypes[rd.DeviceType]
if ok {
h.HostType = mht.String()
} else {
h.HostType = omm.MetaHostTypeEnumHost.String()
}
discoverySession.AddHost(
omm.ToMetaDiscovererType(omm.MetaDiscovererTypeEnumUPnP),
h,

View File

@ -722,7 +722,8 @@ func (ds *ofDiscoverySession) addtionalHostMDNS(host *omd.Host, meta map[string]
_model, ok := meta["model"]
if ok || "" != _model {
h.HostModel = _model
if "Synology" == _vendor && strings.Contains(_model, "DS1817+") {
// if "Synology" == _vendor && strings.Contains(_model, "DS1817+") {
if "Synology" == _vendor && strings.Contains(_model, "DS") {
h.HostType = omm.MetaHostTypeEnumNAS.String()
}
modified = true
@ -744,9 +745,9 @@ func (ds *ofDiscoverySession) addtionalHostUPnP(host *omd.Host, meta map[string]
_model, ok := meta["ModelName"]
if ok || "" != _model {
h.HostModel = _model
if "EFM Networks" == _vendor && strings.Contains(_model, "ipTIME A2004NS") {
h.HostType = omm.MetaHostTypeEnumRouter.String()
}
// if "EFM Networks" == _vendor && strings.Contains(_model, "ipTIME A2004NS") {
// h.HostType = omm.MetaHostTypeEnumRouter.String()
// }
modified = true
}