Index: chrome/browser/extensions/api/mdns/dns_sd_registry.h |
diff --git a/chrome/browser/extensions/api/mdns/dns_sd_registry.h b/chrome/browser/extensions/api/mdns/dns_sd_registry.h |
deleted file mode 100644 |
index 2ea2057ebd08dcabd4a6747d8ce72576f67485d3..0000000000000000000000000000000000000000 |
--- a/chrome/browser/extensions/api/mdns/dns_sd_registry.h |
+++ /dev/null |
@@ -1,123 +0,0 @@ |
-// Copyright 2013 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#ifndef CHROME_BROWSER_EXTENSIONS_API_MDNS_DNS_SD_REGISTRY_H_ |
-#define CHROME_BROWSER_EXTENSIONS_API_MDNS_DNS_SD_REGISTRY_H_ |
- |
-#include <map> |
-#include <memory> |
-#include <string> |
-#include <utility> |
-#include <vector> |
- |
-#include "base/macros.h" |
-#include "base/observer_list.h" |
-#include "chrome/browser/extensions/api/mdns/dns_sd_delegate.h" |
- |
-namespace local_discovery { |
-class ServiceDiscoverySharedClient; |
-} |
- |
-namespace extensions { |
- |
-class DnsSdDeviceLister; |
-class ServiceTypeData; |
- |
-// Registry class for keeping track of discovered network services over DNS-SD. |
-class DnsSdRegistry : public DnsSdDelegate { |
- public: |
- typedef std::vector<DnsSdService> DnsSdServiceList; |
- |
- class DnsSdObserver { |
- public: |
- virtual void OnDnsSdEvent(const std::string& service_type, |
- const DnsSdServiceList& services) = 0; |
- |
- protected: |
- virtual ~DnsSdObserver() {} |
- }; |
- |
- DnsSdRegistry(); |
- explicit DnsSdRegistry(local_discovery::ServiceDiscoverySharedClient* client); |
- virtual ~DnsSdRegistry(); |
- |
- // Publishes the current device list for |service_type| to event listeners |
- // whose event filter matches the service type. |
- virtual void Publish(const std::string& service_type); |
- |
- // Immediately issues a multicast DNS query for all service types of the |
- // calling extension. |
- virtual void ForceDiscovery(); |
- |
- // Observer registration for parties interested in discovery events. |
- virtual void AddObserver(DnsSdObserver* observer); |
- virtual void RemoveObserver(DnsSdObserver* observer); |
- |
- // DNS-SD-related discovery functionality. |
- virtual void RegisterDnsSdListener(const std::string& service_type); |
- virtual void UnregisterDnsSdListener(const std::string& service_type); |
- |
- protected: |
- // Data class for managing all the resources and information related to a |
- // particular service type. |
- class ServiceTypeData { |
- public: |
- explicit ServiceTypeData(std::unique_ptr<DnsSdDeviceLister> lister); |
- virtual ~ServiceTypeData(); |
- |
- // Notify the data class of listeners so that it can be reference counted. |
- void ListenerAdded(); |
- // Returns true if the last listener was removed. |
- bool ListenerRemoved(); |
- int GetListenerCount(); |
- |
- // Immediately issues a multicast DNS query for the service type owned by |
- // |this|. |
- void ForceDiscovery(); |
- |
- // Methods for adding, updating or removing services for this service type. |
- bool UpdateService(bool added, const DnsSdService& service); |
- bool RemoveService(const std::string& service_name); |
- // Called when the discovery service was restarted. |
- // Clear the local cache and initiate rediscovery. |
- bool ClearServices(); |
- |
- const DnsSdRegistry::DnsSdServiceList& GetServiceList(); |
- |
- private: |
- int ref_count; |
- std::unique_ptr<DnsSdDeviceLister> lister_; |
- DnsSdRegistry::DnsSdServiceList service_list_; |
- DISALLOW_COPY_AND_ASSIGN(ServiceTypeData); |
- }; |
- |
- virtual DnsSdDeviceLister* CreateDnsSdDeviceLister( |
- DnsSdDelegate* delegate, |
- const std::string& service_type, |
- local_discovery::ServiceDiscoverySharedClient* discovery_client); |
- |
- // DnsSdDelegate implementation: |
- void ServiceChanged(const std::string& service_type, |
- bool added, |
- const DnsSdService& service) override; |
- void ServiceRemoved(const std::string& service_type, |
- const std::string& service_name) override; |
- void ServicesFlushed(const std::string& service_type) override; |
- |
- std::map<std::string, std::unique_ptr<ServiceTypeData>> service_data_map_; |
- |
- private: |
- void DispatchApiEvent(const std::string& service_type); |
- bool IsRegistered(const std::string& service_type); |
- |
- scoped_refptr<local_discovery::ServiceDiscoverySharedClient> |
- service_discovery_client_; |
- base::ObserverList<DnsSdObserver> observers_; |
- |
- DISALLOW_COPY_AND_ASSIGN(DnsSdRegistry); |
-}; |
- |
-} // namespace extensions |
- |
-#endif // CHROME_BROWSER_EXTENSIONS_API_MDNS_DNS_SD_REGISTRY_H_ |