1 // Copyright 2014 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. 4 5 #ifndef CHROME_BROWSER_LOCAL_DISCOVERY_PRIVET_DEVICE_RESOLVER_H_ 6 #define CHROME_BROWSER_LOCAL_DISCOVERY_PRIVET_DEVICE_RESOLVER_H_ 7 8 #include <string> 9 10 #include "base/callback.h" 11 #include "chrome/browser/local_discovery/device_description.h" 12 #include "chrome/common/local_discovery/service_discovery_client.h" 13 14 namespace local_discovery { 15 16 class PrivetDeviceResolver { 17 public: 18 typedef base::Callback<void(bool /*success*/, 19 const DeviceDescription& /*description*/)> 20 ResultCallback; 21 22 PrivetDeviceResolver( 23 ServiceDiscoveryClient* service_discovery_client, 24 const std::string& service_name, 25 const ResultCallback& callback); 26 ~PrivetDeviceResolver(); 27 28 void Start(); 29 30 private: 31 void OnServiceResolved( 32 ServiceResolver::RequestStatus request_status, 33 const ServiceDescription& service_description); 34 35 36 ServiceDiscoveryClient* service_discovery_client_; 37 scoped_ptr<ServiceResolver> service_resolver_; 38 std::string service_name_; 39 ResultCallback callback_; 40 }; 41 42 } // namespace local_discovery 43 44 #endif // CHROME_BROWSER_LOCAL_DISCOVERY_PRIVET_DEVICE_RESOLVER_H_ 45