chromium/media/base/user_input_monitor_linux.cc

// Copyright 2013 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "media/base/user_input_monitor.h"

#include <memory>

#include "base/functional/bind.h"
#include "base/memory/raw_ptr.h"
#include "base/task/single_thread_task_runner.h"
#include "ui/ozone/public/ozone_platform.h"
#include "ui/ozone/public/platform_user_input_monitor.h"

namespace media {
namespace {

WriteKeyPressCallback;

// Provides a unified interface for using user input monitors of unrelated
// classes.
// TODO(crbug.com/40136193): remove this when non-Ozone path is deprecated.
class UserInputMonitorAdapter {};

// Wraps a specific user input monitor into UserInputMonitorAdapter interface.
template <typename Impl>
class UserInputMonitorLinuxCore final : public UserInputMonitorAdapter {};

class UserInputMonitorLinux : public UserInputMonitorBase {};

UserInputMonitorAdapter* CreateUserInputMonitor(
    const scoped_refptr<base::SingleThreadTaskRunner>& io_task_runner) {}

//
// Implementation of UserInputMonitorLinux.
//

UserInputMonitorLinux::UserInputMonitorLinux(
    const scoped_refptr<base::SingleThreadTaskRunner>& io_task_runner)
    :{}

UserInputMonitorLinux::~UserInputMonitorLinux() {}

uint32_t UserInputMonitorLinux::GetKeyPressCount() const {}

void UserInputMonitorLinux::StartKeyboardMonitoring() {}

void UserInputMonitorLinux::StartKeyboardMonitoring(
    base::WritableSharedMemoryMapping mapping) {}

void UserInputMonitorLinux::StopKeyboardMonitoring() {}

}  // namespace

std::unique_ptr<UserInputMonitor> UserInputMonitor::Create(
    scoped_refptr<base::SingleThreadTaskRunner> io_task_runner,
    scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner) {}

}  // namespace media