summaryrefslogtreecommitdiffstats
path: root/chromeos/dbus/fake_debug_daemon_client.h
blob: e58cb75715050cbd93fba1c32f151179db4a8028 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
// Copyright 2013 The Chromium 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 CHROMEOS_DBUS_FAKE_DEBUG_DAEMON_CLIENT_H_
#define CHROMEOS_DBUS_FAKE_DEBUG_DAEMON_CLIENT_H_

#include <vector>

#include "base/basictypes.h"
#include "base/compiler_specific.h"
#include "chromeos/dbus/debug_daemon_client.h"

namespace chromeos {

// The DebugDaemonClient implementation used on Linux desktop,
// which does nothing.
class CHROMEOS_EXPORT FakeDebugDaemonClient : public DebugDaemonClient {
 public:
  FakeDebugDaemonClient();
  ~FakeDebugDaemonClient() override;

  void Init(dbus::Bus* bus) override;
  void DumpDebugLogs(bool is_compressed,
                     base::File file,
                     scoped_refptr<base::TaskRunner> task_runner,
                     const GetDebugLogsCallback& callback) override;
  void SetDebugMode(const std::string& subsystem,
                    const SetDebugModeCallback& callback) override;
  void StartSystemTracing() override;
  bool RequestStopSystemTracing(
      scoped_refptr<base::TaskRunner> task_runner,
      const StopSystemTracingCallback& callback) override;
  void GetRoutes(bool numeric,
                 bool ipv6,
                 const GetRoutesCallback& callback) override;
  void GetNetworkStatus(const GetNetworkStatusCallback& callback) override;
  void GetModemStatus(const GetModemStatusCallback& callback) override;
  void GetWiMaxStatus(const GetWiMaxStatusCallback& callback) override;
  void GetNetworkInterfaces(
      const GetNetworkInterfacesCallback& callback) override;
  void GetPerfData(uint32_t duration,
                   const GetPerfDataCallback& callback) override;
  void GetScrubbedLogs(const GetLogsCallback& callback) override;
  void GetAllLogs(const GetLogsCallback& callback) override;
  void GetUserLogFiles(const GetLogsCallback& callback) override;
  void TestICMP(const std::string& ip_address,
                const TestICMPCallback& callback) override;
  void TestICMPWithOptions(const std::string& ip_address,
                           const std::map<std::string, std::string>& options,
                           const TestICMPCallback& callback) override;
  void UploadCrashes() override;
  void EnableDebuggingFeatures(
      const std::string& password,
      const EnableDebuggingCallback& callback) override;
  void QueryDebuggingFeatures(
      const QueryDevFeaturesCallback& callback) override;
  void RemoveRootfsVerification(
      const EnableDebuggingCallback& callback) override;
  void WaitForServiceToBeAvailable(
      const WaitForServiceToBeAvailableCallback& callback) override;

  // Sets debugging features mask for testing.
  virtual void SetDebuggingFeaturesStatus(int featues_mask);

  // Changes the behavior of WaitForServiceToBeAvailable(). This method runs
  // pending callbacks if is_available is true.
  void SetServiceIsAvailable(bool is_available);

 private:
  int featues_mask_;

  bool service_is_available_;
  std::vector<WaitForServiceToBeAvailableCallback>
      pending_wait_for_service_to_be_available_callbacks_;

  DISALLOW_COPY_AND_ASSIGN(FakeDebugDaemonClient);
};

}  // namespace chromeos

#endif  // CHROMEOS_DBUS_FAKE_DEBUG_DAEMON_CLIENT_H_