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/local_discovery/service_discovery_host_client.h" | 5 #include "chrome/browser/local_discovery/service_discovery_host_client.h" |
6 | 6 |
7 #if defined(OS_POSIX) | 7 #if defined(OS_POSIX) |
8 #include "base/file_descriptor_posix.h" | 8 #include "base/file_descriptor_posix.h" |
9 #endif // OS_POSIX | 9 #endif // OS_POSIX |
10 | 10 |
(...skipping 12 matching lines...) Expand all Loading... |
23 ServiceWatcherProxy(ServiceDiscoveryHostClient* host, | 23 ServiceWatcherProxy(ServiceDiscoveryHostClient* host, |
24 const std::string& service_type, | 24 const std::string& service_type, |
25 const ServiceWatcher::UpdatedCallback& callback) | 25 const ServiceWatcher::UpdatedCallback& callback) |
26 : host_(host), | 26 : host_(host), |
27 service_type_(service_type), | 27 service_type_(service_type), |
28 id_(host_->RegisterWatcherCallback(callback)), | 28 id_(host_->RegisterWatcherCallback(callback)), |
29 started_(false) { | 29 started_(false) { |
30 } | 30 } |
31 | 31 |
32 virtual ~ServiceWatcherProxy() { | 32 virtual ~ServiceWatcherProxy() { |
| 33 DVLOG(1) << "~ServiceWatcherProxy with id " << id_; |
33 host_->UnregisterWatcherCallback(id_); | 34 host_->UnregisterWatcherCallback(id_); |
34 if (started_) | 35 if (started_) |
35 host_->Send(new LocalDiscoveryMsg_DestroyWatcher(id_)); | 36 host_->Send(new LocalDiscoveryMsg_DestroyWatcher(id_)); |
36 } | 37 } |
37 | 38 |
38 virtual void Start() OVERRIDE { | 39 virtual void Start() OVERRIDE { |
| 40 DVLOG(1) << "ServiceWatcher::Start with id " << id_; |
39 DCHECK(!started_); | 41 DCHECK(!started_); |
40 host_->Send(new LocalDiscoveryMsg_StartWatcher(id_, service_type_)); | 42 host_->Send(new LocalDiscoveryMsg_StartWatcher(id_, service_type_)); |
41 started_ = true; | 43 started_ = true; |
42 } | 44 } |
43 | 45 |
44 virtual void DiscoverNewServices(bool force_update) OVERRIDE { | 46 virtual void DiscoverNewServices(bool force_update) OVERRIDE { |
| 47 DVLOG(1) << "ServiceWatcher::DiscoverNewServices with id " |
| 48 << id_; |
45 DCHECK(started_); | 49 DCHECK(started_); |
46 host_->Send(new LocalDiscoveryMsg_DiscoverServices(id_, force_update)); | 50 host_->Send(new LocalDiscoveryMsg_DiscoverServices(id_, force_update)); |
47 } | 51 } |
48 | 52 |
49 virtual std::string GetServiceType() const OVERRIDE { | 53 virtual std::string GetServiceType() const OVERRIDE { |
50 return service_type_; | 54 return service_type_; |
51 } | 55 } |
52 | 56 |
53 private: | 57 private: |
54 scoped_refptr<ServiceDiscoveryHostClient> host_; | 58 scoped_refptr<ServiceDiscoveryHostClient> host_; |
55 const std::string service_type_; | 59 const std::string service_type_; |
56 const uint64 id_; | 60 const uint64 id_; |
57 bool started_; | 61 bool started_; |
58 }; | 62 }; |
59 | 63 |
60 class ServiceDiscoveryHostClient::ServiceResolverProxy | 64 class ServiceDiscoveryHostClient::ServiceResolverProxy |
61 : public ServiceResolver { | 65 : public ServiceResolver { |
62 public: | 66 public: |
63 ServiceResolverProxy(ServiceDiscoveryHostClient* host, | 67 ServiceResolverProxy(ServiceDiscoveryHostClient* host, |
64 const std::string& service_name, | 68 const std::string& service_name, |
65 const ServiceResolver::ResolveCompleteCallback& callback) | 69 const ServiceResolver::ResolveCompleteCallback& callback) |
66 : host_(host), | 70 : host_(host), |
67 service_name_(service_name), | 71 service_name_(service_name), |
68 id_(host->RegisterResolverCallback(callback)), | 72 id_(host->RegisterResolverCallback(callback)), |
69 started_(false) { | 73 started_(false) { |
70 } | 74 } |
71 | 75 |
72 virtual ~ServiceResolverProxy() { | 76 virtual ~ServiceResolverProxy() { |
| 77 DVLOG(1) << "~ServiceResolverProxy with id " << id_; |
73 host_->UnregisterResolverCallback(id_); | 78 host_->UnregisterResolverCallback(id_); |
74 if (started_) | 79 if (started_) |
75 host_->Send(new LocalDiscoveryMsg_DestroyResolver(id_)); | 80 host_->Send(new LocalDiscoveryMsg_DestroyResolver(id_)); |
76 } | 81 } |
77 | 82 |
78 virtual void StartResolving() OVERRIDE { | 83 virtual void StartResolving() OVERRIDE { |
| 84 DVLOG(1) |
| 85 << "ServiceResolverProxy::StartResolving with id " |
| 86 << id_; |
79 DCHECK(!started_); | 87 DCHECK(!started_); |
80 host_->Send(new LocalDiscoveryMsg_ResolveService(id_, service_name_)); | 88 host_->Send(new LocalDiscoveryMsg_ResolveService(id_, service_name_)); |
81 started_ = true; | 89 started_ = true; |
82 } | 90 } |
83 | 91 |
84 virtual std::string GetName() const OVERRIDE { | 92 virtual std::string GetName() const OVERRIDE { |
85 return service_name_; | 93 return service_name_; |
86 } | 94 } |
87 | 95 |
88 private: | 96 private: |
(...skipping 11 matching lines...) Expand all Loading... |
100 net::AddressFamily address_family, | 108 net::AddressFamily address_family, |
101 const LocalDomainResolver::IPAddressCallback& callback) | 109 const LocalDomainResolver::IPAddressCallback& callback) |
102 : host_(host), | 110 : host_(host), |
103 domain_(domain), | 111 domain_(domain), |
104 address_family_(address_family), | 112 address_family_(address_family), |
105 id_(host->RegisterLocalDomainResolverCallback(callback)), | 113 id_(host->RegisterLocalDomainResolverCallback(callback)), |
106 started_(false) { | 114 started_(false) { |
107 } | 115 } |
108 | 116 |
109 virtual ~LocalDomainResolverProxy() { | 117 virtual ~LocalDomainResolverProxy() { |
| 118 DVLOG(1) << "~LocalDomainResolverProxy with id " |
| 119 << id_; |
110 host_->UnregisterLocalDomainResolverCallback(id_); | 120 host_->UnregisterLocalDomainResolverCallback(id_); |
111 if (started_) | 121 if (started_) |
112 host_->Send(new LocalDiscoveryMsg_DestroyLocalDomainResolver(id_)); | 122 host_->Send(new LocalDiscoveryMsg_DestroyLocalDomainResolver(id_)); |
113 } | 123 } |
114 | 124 |
115 virtual void Start() OVERRIDE { | 125 virtual void Start() OVERRIDE { |
| 126 DVLOG(1) << "LocalDomainResolverProxy::Start with id " |
| 127 << id_; |
116 DCHECK(!started_); | 128 DCHECK(!started_); |
117 host_->Send(new LocalDiscoveryMsg_ResolveLocalDomain(id_, domain_, | 129 host_->Send(new LocalDiscoveryMsg_ResolveLocalDomain(id_, domain_, |
118 address_family_)); | 130 address_family_)); |
119 started_ = true; | 131 started_ = true; |
120 } | 132 } |
121 | 133 |
122 private: | 134 private: |
123 scoped_refptr<ServiceDiscoveryHostClient> host_; | 135 scoped_refptr<ServiceDiscoveryHostClient> host_; |
124 std::string domain_; | 136 std::string domain_; |
125 net::AddressFamily address_family_; | 137 net::AddressFamily address_family_; |
(...skipping 288 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
414 void ServiceDiscoveryHostClientFactory::ReleaseClientInternal() { | 426 void ServiceDiscoveryHostClientFactory::ReleaseClientInternal() { |
415 DCHECK(CalledOnValidThread()); | 427 DCHECK(CalledOnValidThread()); |
416 references_--; | 428 references_--; |
417 if (references_ == 0) { | 429 if (references_ == 0) { |
418 instance_->Shutdown(); | 430 instance_->Shutdown(); |
419 instance_ = NULL; | 431 instance_ = NULL; |
420 } | 432 } |
421 } | 433 } |
422 | 434 |
423 } // namespace local_discovery | 435 } // namespace local_discovery |
OLD | NEW |