| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/extensions/api/mdns/dns_sd_device_lister.h" | 5 #include "chrome/browser/media/router/discovery/mdns/dns_sd_device_lister.h" |
| 6 | |
| 7 #include "chrome/common/extensions/api/mdns.h" | |
| 8 | 6 |
| 9 using local_discovery::ServiceDescription; | 7 using local_discovery::ServiceDescription; |
| 10 | 8 |
| 11 namespace extensions { | 9 namespace media_router { |
| 12 | 10 |
| 13 namespace { | 11 namespace { |
| 14 | 12 |
| 15 void FillServiceInfo(const ServiceDescription& service_description, | 13 void FillServiceInfo(const ServiceDescription& service_description, |
| 16 DnsSdService* service) { | 14 DnsSdService* service) { |
| 17 service->service_name = service_description.service_name; | 15 service->service_name = service_description.service_name; |
| 18 service->service_host_port = service_description.address.ToString(); | 16 service->service_host_port = service_description.address.ToString(); |
| 19 if (service_description.ip_address.IsValid()) { | 17 if (service_description.ip_address.IsValid()) { |
| 20 service->ip_address = service_description.ip_address.ToString(); | 18 service->ip_address = service_description.ip_address.ToString(); |
| 21 } | 19 } |
| 22 service->service_data = service_description.metadata; | 20 service->service_data = service_description.metadata; |
| 23 | 21 |
| 24 VLOG(1) << "Found " << service->service_name << ", " | 22 VLOG(1) << "Found " << service->service_name << ", " |
| 25 << service->service_host_port << ", " | 23 << service->service_host_port << ", " << service->ip_address; |
| 26 << service->ip_address; | |
| 27 } | 24 } |
| 28 | 25 |
| 29 } // namespace | 26 } // namespace |
| 30 | 27 |
| 31 DnsSdDeviceLister::DnsSdDeviceLister( | 28 DnsSdDeviceLister::DnsSdDeviceLister( |
| 32 local_discovery::ServiceDiscoveryClient* service_discovery_client, | 29 local_discovery::ServiceDiscoveryClient* service_discovery_client, |
| 33 DnsSdDelegate* delegate, | 30 DnsSdDelegate* delegate, |
| 34 const std::string& service_type) | 31 const std::string& service_type) |
| 35 : delegate_(delegate), | 32 : delegate_(delegate), |
| 36 device_lister_(this, service_discovery_client, service_type), | 33 device_lister_(this, service_discovery_client, service_type), |
| 37 started_(false) { | 34 started_(false) {} |
| 38 } | |
| 39 | 35 |
| 40 DnsSdDeviceLister::~DnsSdDeviceLister() { | 36 DnsSdDeviceLister::~DnsSdDeviceLister() {} |
| 41 } | |
| 42 | 37 |
| 43 void DnsSdDeviceLister::Discover(bool force_update) { | 38 void DnsSdDeviceLister::Discover(bool force_update) { |
| 44 if (!started_) { | 39 if (!started_) { |
| 45 device_lister_.Start(); | 40 device_lister_.Start(); |
| 46 started_ = true; | 41 started_ = true; |
| 47 VLOG(1) << "Started device lister for service type " | 42 VLOG(1) << "Started device lister for service type " |
| 48 << device_lister_.service_type(); | 43 << device_lister_.service_type(); |
| 49 } | 44 } |
| 50 device_lister_.DiscoverNewDevices(force_update); | 45 device_lister_.DiscoverNewDevices(force_update); |
| 51 VLOG(1) << "Discovery new devices for service type " | 46 VLOG(1) << "Discovery new devices for service type " |
| 52 << device_lister_.service_type(); | 47 << device_lister_.service_type(); |
| 53 } | 48 } |
| 54 | 49 |
| 55 void DnsSdDeviceLister::OnDeviceChanged( | 50 void DnsSdDeviceLister::OnDeviceChanged( |
| 56 bool added, | 51 bool added, |
| 57 const ServiceDescription& service_description) { | 52 const ServiceDescription& service_description) { |
| 58 DnsSdService service; | 53 DnsSdService service; |
| 59 FillServiceInfo(service_description, &service); | 54 FillServiceInfo(service_description, &service); |
| 60 VLOG(1) << "OnDeviceChanged: " | 55 VLOG(1) << "OnDeviceChanged: " |
| 61 << "service_name: " << service.service_name << ", " | 56 << "service_name: " << service.service_name << ", " |
| 62 << "added: " << added << ", " | 57 << "added: " << added << ", " |
| 63 << "service_type: " << device_lister_.service_type(); | 58 << "service_type: " << device_lister_.service_type(); |
| 64 delegate_->ServiceChanged(device_lister_.service_type(), added, service); | 59 delegate_->ServiceChanged(device_lister_.service_type(), added, service); |
| 65 } | 60 } |
| 66 | 61 |
| 67 void DnsSdDeviceLister::OnDeviceRemoved(const std::string& service_name) { | 62 void DnsSdDeviceLister::OnDeviceRemoved(const std::string& service_name) { |
| 68 VLOG(1) << "OnDeviceRemoved: " | 63 VLOG(1) << "OnDeviceRemoved: " |
| 69 << "service_name: " << service_name << ", " | 64 << "service_name: " << service_name << ", " |
| 70 << "service_type: " << device_lister_.service_type(); | 65 << "service_type: " << device_lister_.service_type(); |
| 71 delegate_->ServiceRemoved(device_lister_.service_type(), service_name); | 66 delegate_->ServiceRemoved(device_lister_.service_type(), service_name); |
| 72 } | 67 } |
| 73 | 68 |
| 74 void DnsSdDeviceLister::OnDeviceCacheFlushed() { | 69 void DnsSdDeviceLister::OnDeviceCacheFlushed() { |
| 75 VLOG(1) << "OnDeviceCacheFlushed: " | 70 VLOG(1) << "OnDeviceCacheFlushed: " |
| 76 << "service_type: " << device_lister_.service_type(); | 71 << "service_type: " << device_lister_.service_type(); |
| 77 delegate_->ServicesFlushed(device_lister_.service_type()); | 72 delegate_->ServicesFlushed(device_lister_.service_type()); |
| 78 device_lister_.DiscoverNewDevices(false); | 73 device_lister_.DiscoverNewDevices(false); |
| 79 } | 74 } |
| 80 | 75 |
| 81 } // namespace extensions | 76 } // namespace media_router |
| OLD | NEW |