blob: 7f542e6e4c73e7e6ef2b02b230b89f00d381cffb [file] [log] [blame]
Michael van Ouwerkerked905122021-07-22 14:24:391// Copyright 2021 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_BLUETOOTH_CHROME_BLUETOOTH_DELEGATE_IMPL_CLIENT_H_
6#define CHROME_BROWSER_BLUETOOTH_CHROME_BLUETOOTH_DELEGATE_IMPL_CLIENT_H_
7
8#include <memory>
9
10#include "components/permissions/bluetooth_chooser_controller.h"
11#include "components/permissions/bluetooth_delegate_impl.h"
12#include "content/public/browser/bluetooth_delegate.h"
13
14namespace content {
15class RenderFrameHost;
16} // namespace content
17
18namespace permissions {
19class BluetoothChooserContext;
20} // namespace permissions
21
22// Provides embedder-level functionality to BluetoothDelegateImpl in Chrome.
23class ChromeBluetoothDelegateImplClient
24 : public permissions::BluetoothDelegateImpl::Client {
25 public:
26 ChromeBluetoothDelegateImplClient();
27 ~ChromeBluetoothDelegateImplClient() override;
28
29 ChromeBluetoothDelegateImplClient(const ChromeBluetoothDelegateImplClient&) =
30 delete;
31 ChromeBluetoothDelegateImplClient& operator=(
32 const ChromeBluetoothDelegateImplClient&) = delete;
33
34 // BluetoothDelegateImpl::Client implementation:
35 permissions::BluetoothChooserContext* GetBluetoothChooserContext(
36 content::RenderFrameHost* frame) override;
37 std::unique_ptr<content::BluetoothChooser> RunBluetoothChooser(
38 content::RenderFrameHost* frame,
39 const content::BluetoothChooser::EventHandler& event_handler) override;
40 std::unique_ptr<content::BluetoothScanningPrompt> ShowBluetoothScanningPrompt(
41 content::RenderFrameHost* frame,
42 const content::BluetoothScanningPrompt::EventHandler& event_handler)
43 override;
44};
45
46#endif // CHROME_BROWSER_BLUETOOTH_CHROME_BLUETOOTH_DELEGATE_IMPL_CLIENT_H_