blob: 20e4570334cafbe9b11e87294bccf83c01e4f883 [file] [log] [blame]
Daniel d'Andrada6ac3d852023-03-27 16:05:311// Copyright 2023 The Chromium Authors
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_SMART_CARD_CHROMEOS_SMART_CARD_DELEGATE_H_
6#define CHROME_BROWSER_SMART_CARD_CHROMEOS_SMART_CARD_DELEGATE_H_
7
Daniel d'Andradad6cd88f2023-12-12 14:35:518#include "base/memory/weak_ptr.h"
Daniel d'Andrada6ac3d852023-03-27 16:05:319#include "content/public/browser/smart_card_delegate.h"
10
11class ChromeOsSmartCardDelegate : public content::SmartCardDelegate {
12 public:
13 ChromeOsSmartCardDelegate();
Daniel d'Andradad6cd88f2023-12-12 14:35:5114 ~ChromeOsSmartCardDelegate() override;
Daniel d'Andrada6ac3d852023-03-27 16:05:3115
16 // `content::SmartCardDelegate` overrides:
17 mojo::PendingRemote<device::mojom::SmartCardContextFactory>
18 GetSmartCardContextFactory(content::BrowserContext& browser_context) override;
Daniel d'Andrada553de6f2024-01-24 11:21:1519 bool IsPermissionBlocked(
20 content::RenderFrameHost& render_frame_host) override;
Daniel d'Andrada8153e722023-11-15 10:54:0921 bool HasReaderPermission(content::RenderFrameHost& render_frame_host,
22 const std::string& reader_name) override;
23 void RequestReaderPermission(
24 content::RenderFrameHost& render_frame_host,
25 const std::string& reader_name,
26 RequestReaderPermissionCallback callback) override;
Luke Klimek288960b2025-02-19 13:43:2227
28 void NotifyConnectionUsed(
29 content::RenderFrameHost& render_frame_host) override;
30 void NotifyLastConnectionLost(
31 content::RenderFrameHost& render_frame_host) override;
Luke Klimek4a6b0ff2025-03-12 05:01:3032
33 void AddObserver(content::RenderFrameHost& render_frame_host,
34 PermissionObserver* observer) override;
35 void RemoveObserver(content::RenderFrameHost& render_frame_host,
36 PermissionObserver* observer) override;
Daniel d'Andrada6ac3d852023-03-27 16:05:3137};
38
39#endif // CHROME_BROWSER_SMART_CARD_CHROMEOS_SMART_CARD_DELEGATE_H_