| Index: chrome/browser/local_discovery/service_discovery_client_mdns.h
|
| diff --git a/chrome/browser/local_discovery/service_discovery_client_utility.h b/chrome/browser/local_discovery/service_discovery_client_mdns.h
|
| similarity index 60%
|
| copy from chrome/browser/local_discovery/service_discovery_client_utility.h
|
| copy to chrome/browser/local_discovery/service_discovery_client_mdns.h
|
| index 75def15d89d9faf106fef8353afdfcb726be9edc..5662a1f183843f7f6161dcbb64b116823abadc16 100644
|
| --- a/chrome/browser/local_discovery/service_discovery_client_utility.h
|
| +++ b/chrome/browser/local_discovery/service_discovery_client_mdns.h
|
| @@ -2,8 +2,8 @@
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| -#ifndef CHROME_BROWSER_LOCAL_DISCOVERY_SERVICE_DISCOVERY_CLIENT_UTILITY_H_
|
| -#define CHROME_BROWSER_LOCAL_DISCOVERY_SERVICE_DISCOVERY_CLIENT_UTILITY_H_
|
| +#ifndef CHROME_BROWSER_LOCAL_DISCOVERY_SERVICE_DISCOVERY_CLIENT_MDNS_H_
|
| +#define CHROME_BROWSER_LOCAL_DISCOVERY_SERVICE_DISCOVERY_CLIENT_MDNS_H_
|
|
|
| #include <string>
|
|
|
| @@ -11,18 +11,18 @@
|
| #include "chrome/browser/local_discovery/service_discovery_shared_client.h"
|
| #include "chrome/common/local_discovery/service_discovery_client.h"
|
| #include "net/base/network_change_notifier.h"
|
| +#include "net/dns/mdns_client.h"
|
|
|
| namespace local_discovery {
|
|
|
| -class ServiceDiscoveryHostClient;
|
| -
|
| -// Wrapper for ServiceDiscoveryHostClient to hide restarting of utility process
|
| -// from mdns users.
|
| -class ServiceDiscoveryClientUtility
|
| +// Implementation of ServiceDiscoverySharedClient with front-end of UI thread
|
| +// and networking code on IO thread.
|
| +class ServiceDiscoveryClientMdns
|
| : public ServiceDiscoverySharedClient,
|
| public net::NetworkChangeNotifier::NetworkChangeObserver {
|
| public:
|
| - ServiceDiscoveryClientUtility();
|
| + class Proxy;
|
| + ServiceDiscoveryClientMdns();
|
|
|
| // ServiceDiscoveryClient implementation.
|
| virtual scoped_ptr<ServiceWatcher> CreateServiceWatcher(
|
| @@ -41,20 +41,41 @@ class ServiceDiscoveryClientUtility
|
| net::NetworkChangeNotifier::ConnectionType type) OVERRIDE;
|
|
|
| private:
|
| - friend class base::RefCounted<ServiceDiscoveryClientUtility>;
|
| + virtual ~ServiceDiscoveryClientMdns();
|
|
|
| - virtual ~ServiceDiscoveryClientUtility();
|
| void ScheduleStartNewClient();
|
| void StartNewClient();
|
| + void OnInterfaceListReady(const net::InterfaceIndexFamilyList& interfaces);
|
| + void OnMdnsInitialized(bool success);
|
| void ReportSuccess();
|
| + void InvalidateWeakPtrs();
|
| + void Reset();
|
| +
|
| + bool PostToMdnsThread(const base::Closure& task);
|
| +
|
| + std::set<Proxy*> proxies_;
|
| +
|
| + scoped_refptr<base::SequencedTaskRunner> mdns_runner_;
|
| +
|
| + // Access only on |mdns_runner_| thread.
|
| + scoped_ptr<net::MDnsClient> mdns_;
|
| +
|
| + // Access only on |mdns_runner_| thread.
|
| + scoped_ptr<ServiceDiscoveryClient> client_;
|
| +
|
| + // If false delay tasks until initialization is posted to |mdns_runner_|
|
| + // thread.
|
| + bool need_dalay_mdns_tasks_;
|
| +
|
| + // Delayed |mdns_runner_| tasks.
|
| + std::vector<base::Closure> delayed_tasks_;
|
|
|
| - scoped_refptr<ServiceDiscoveryHostClient> host_client_;
|
| int restart_attempts_;
|
| - base::WeakPtrFactory<ServiceDiscoveryClientUtility> weak_ptr_factory_;
|
| + base::WeakPtrFactory<ServiceDiscoveryClientMdns> weak_ptr_factory_;
|
|
|
| - DISALLOW_COPY_AND_ASSIGN(ServiceDiscoveryClientUtility);
|
| + DISALLOW_COPY_AND_ASSIGN(ServiceDiscoveryClientMdns);
|
| };
|
|
|
| } // namespace local_discovery
|
|
|
| -#endif // CHROME_BROWSER_LOCAL_DISCOVERY_SERVICE_DISCOVERY_CLIENT_UTILITY_H_
|
| +#endif // CHROME_BROWSER_LOCAL_DISCOVERY_SERVICE_DISCOVERY_CLIENT_MDNS_H_
|
|
|