| // Copyright 2015 The Weave 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 LIBWEAVE_SRC_PRIVET_PUBLISHER_H_ |
| #define LIBWEAVE_SRC_PRIVET_PUBLISHER_H_ |
| class DnsServiceDiscovery; |
| // Publishes privet service on DNS-SD. |
| Publisher(const DeviceDelegate* device, |
| const CloudDelegate* cloud, |
| const WifiDelegate* wifi, |
| provider::DnsServiceDiscovery* dns_sd); |
| // Updates published information. Removes service if HTTP is not alive. |
| provider::DnsServiceDiscovery* dns_sd_{nullptr}; |
| const DeviceDelegate* device_{nullptr}; |
| const CloudDelegate* cloud_{nullptr}; |
| const WifiDelegate* wifi_{nullptr}; |
| std::pair<uint16_t, std::vector<std::string>> published_; |
| DISALLOW_COPY_AND_ASSIGN(Publisher); |
| #endif // LIBWEAVE_SRC_PRIVET_PUBLISHER_H_ |