chromium/ui/events/devices/microphone_mute_switch_monitor.h

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

#ifndef UI_EVENTS_DEVICES_MICROPHONE_MUTE_SWITCH_MONITOR_H_
#define UI_EVENTS_DEVICES_MICROPHONE_MUTE_SWITCH_MONITOR_H_

#include "base/no_destructor.h"
#include "base/observer_list.h"
#include "base/observer_list_types.h"
#include "ui/events/devices/events_devices_export.h"

namespace ui {

// Monitors the state of the Microphone mute switch device - Chrome OS devices
// may have a hardware toggle that disables audio input. The toggle state is
// exposed using the SW_MUTE_DEVICE event on an input device.
// MicrophoneMuteSwitchMonitor can be used to track the state of the microphone
// mute switch. The switch state will be updated by the input device's event
// converter, and can be observed using the Observer interface exposed by the
// MicrophoneMuteSwitchMonitor.
//
// NOTE: The mute switch state will be monitored only on Chrome OS with ozone.
class EVENTS_DEVICES_EXPORT MicrophoneMuteSwitchMonitor {};

}  // namespace ui

#endif  // UI_EVENTS_DEVICES_MICROPHONE_MUTE_SWITCH_MONITOR_H_