summaryrefslogtreecommitdiffstats
path: root/chromium/ash/public/mojom/assistant_volume_control.mojom
blob: e8bf405d62791f0ab1b3c38d6a1c441e8ac9ff75 (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
// Copyright 2018 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 ash.mojom;

// Interface to control system volume through Ash.
interface AssistantVolumeControl {
  // Sets system volume to |volume|, which is between 0 - 100.
  SetVolume(int32 volume, bool user_initiated);

  // Sets mute state to |muted|.
  SetMuted(bool muted);

  // Adds volume observer. The observer will be immediately notified of volume
  // and mute status when added.
  AddVolumeObserver(VolumeObserver observer);
};

// Observes volume state changes.
interface VolumeObserver {
  // Called when volume is updated.
  OnVolumeChanged(int32 volume);

  // Called when mute state changed.
  OnMuteStateChanged(bool muted);
};