Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / local_discovery / service_discovery_shared_client.h
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_