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 CHROMECAST_ANDROID_CHROMECAST_CONFIG_ANDROID_H_
6#define CHROMECAST_ANDROID_CHROMECAST_CONFIG_ANDROID_H_
7
8#include <jni.h>
9
10#include "base/callback.h"
11#include "base/lazy_instance.h"
12#include "base/macros.h"
13
14namespace chromecast {
15namespace android {
16
17class ChromecastConfigAndroid {
18 public:
19  static ChromecastConfigAndroid* GetInstance();
20
21  // Registers a handler to be notified when SendUsageStats is changed.
22  void SetSendUsageStatsChangedCallback(
23      const base::Callback<void(bool)>& callback);
24
25  const base::Callback<void(bool)>& send_usage_stats_changed_callback() const {
26    return send_usage_stats_changed_callback_;
27  }
28
29 private:
30  friend struct base::DefaultLazyInstanceTraits<ChromecastConfigAndroid>;
31
32  ChromecastConfigAndroid();
33  ~ChromecastConfigAndroid();
34
35  base::Callback<void(bool)> send_usage_stats_changed_callback_;
36
37  DISALLOW_COPY_AND_ASSIGN(ChromecastConfigAndroid);
38};
39
40}  // namespace android
41}  // namespace chromecast
42
43#endif  // CHROMECAST_ANDROID_CHROMECAST_CONFIG_ANDROID_H_
44