summaryrefslogtreecommitdiffstats
path: root/chromium/chrome/browser/ui/webui/bluetooth_internals/bluetooth_internals.mojom
blob: ed3c332629c56119ae235e6e3ae08d75be17c8df (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
// Copyright 2017 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.

module mojom;

import "device/bluetooth/public/mojom/adapter.mojom";

// Handles requests from chrome://bluetooth-internals to enable or disable the
// usage of Bluetooth debug logs. The debug logs to be enabled reside in the
// kernel as well within BlueZ/NewBlue. Note that these logs are text-only and
// do not include captured packets from btmon.
interface DebugLogsChangeHandler {
  // Enables or disables debug logs, depending on the value of
  // |should_debug_logs_be_enabled|.
  ChangeDebugLogsState(bool should_debug_logs_be_enabled);
};

interface BluetoothInternalsHandler {
  // Gets an Adapter interface. Returns null if Bluetooth is not supported.
  GetAdapter() => (pending_remote<bluetooth.mojom.Adapter>? adapter);

  // Retrieves a handler for changing the state of debug logs. If debug logs are
  // not supported (e.g., the required flags are disabled or the logged-in user
  // is not eligible), null is returned. When a valid handler is returned, an
  // extra boolean is provided which represents the initial state of the toggle.
  GetDebugLogsChangeHandler() => (DebugLogsChangeHandler? handler,
                                  bool initial_toggle_value);
};