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. 4 5 #ifndef CHROME_BROWSER_LOCAL_DISCOVERY_SERVICE_DISCOVERY_SHARED_CLIENT_H_ 6 #define CHROME_BROWSER_LOCAL_DISCOVERY_SERVICE_DISCOVERY_SHARED_CLIENT_H_ 7 8 #include "chrome/common/local_discovery/service_discovery_client.h" 9 10 namespace local_discovery { 11 12 class ServiceDiscoverySharedClient 13 : public base::RefCounted<ServiceDiscoverySharedClient>, 14 public ServiceDiscoveryClient { 15 public: 16 static scoped_refptr<ServiceDiscoverySharedClient> GetInstance(); 17 18 typedef base::Callback<void( 19 const scoped_refptr<ServiceDiscoverySharedClient>&)> GetInstanceCallback; 20 static void GetInstanceWithoutAlert(const GetInstanceCallback& callback); 21 22 protected: 23 ServiceDiscoverySharedClient(); 24 virtual ~ServiceDiscoverySharedClient(); 25 26 private: 27 friend class base::RefCounted<ServiceDiscoverySharedClient>; 28 29 DISALLOW_COPY_AND_ASSIGN(ServiceDiscoverySharedClient); 30 }; 31 32 } // namespace local_discovery 33 34 #endif // CHROME_BROWSER_LOCAL_DISCOVERY_SERVICE_DISCOVERY_SHARED_CLIENT_H_ 35