43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
# File 'lib/sony_camera_remote/discovery/device_info.rb', line 43
def map(device_info)
if swadi_device_info = device_info['X_ScalarWebAPI_DeviceInfo']
device = ScalarWebAPIDevice.new.tap do |swadi|
swadi.version = swadi_device_info['X_ScalarWebAPI_Version']
swadi.imaging_device = swadi_device_info['X_ScalarWebAPI_ImagingDevice']
ScalarWebAPIServicesMapper.map(swadi_device_info['X_ScalarWebAPI_ServiceList']).each do |service|
swadi.services[service.id] = service
end
end
else
device = Device.new
end
device.name = device_info['friendlyName']
device.manufacturer = Manufacturer.new(device_info['manufacturer'], device_info['manufacturerURL'])
device.model = Model.new(device_info['modelName'], device_info['modelDescription'], device_info['modelURL'])
ServicesMapper.map(device_info['serviceList']).each do |service|
device.services[service.id] = service
end
device
end
|