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
3 // found in the LICENSE file.
5 #ifndef CHROME_BROWSER_EXTENSIONS_API_MDNS_DNS_SD_DELEGATE_H_
6 #define CHROME_BROWSER_EXTENSIONS_API_MDNS_DNS_SD_DELEGATE_H_
11 namespace extensions
{
14 std::string service_name
;
15 std::string service_host_port
;
16 std::string ip_address
;
17 std::vector
<std::string
> service_data
;
20 virtual ~DnsSdService();
22 bool operator==(const DnsSdService
& other
) const {
23 return service_name
== other
.service_name
&&
24 service_host_port
== other
.service_host_port
&&
25 ip_address
== other
.ip_address
&&
26 service_data
== other
.service_data
;
29 bool operator!=(const DnsSdService
& other
) const {
30 return !(*this == other
);
34 // Delegate that is notified when a watched service is added, updated or
38 virtual void ServiceChanged(const std::string
& service_type
,
40 const DnsSdService
& service
) = 0;
41 virtual void ServiceRemoved(const std::string
& service_type
,
42 const std::string
& service_name
) = 0;
43 virtual void ServicesFlushed(const std::string
& service_type
) = 0;
46 } // namespace extensions
48 #endif // CHROME_BROWSER_EXTENSIONS_API_MDNS_DNS_SD_DELEGATE_H_