// Copyright 2013 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.

#ifndef ASH_MEDIA_DELEGATE_H_
#define ASH_MEDIA_DELEGATE_H_

namespace content {
class BrowserContext;
}

namespace ash {

enum MediaCaptureState {
  MEDIA_CAPTURE_NONE = 0,
  MEDIA_CAPTURE_AUDIO = 1 << 0,
  MEDIA_CAPTURE_VIDEO = 1 << 1,
  MEDIA_CAPTURE_AUDIO_VIDEO = MEDIA_CAPTURE_AUDIO | MEDIA_CAPTURE_VIDEO,
};

// A delegate class to control media playback.
class MediaDelegate {
 public:
  virtual ~MediaDelegate() {}

  // Handles the Next Track Media shortcut key.
  virtual void HandleMediaNextTrack() = 0;

  // Handles the Play/Pause Toggle Media shortcut key.
  virtual void HandleMediaPlayPause() = 0;

  // Handles the Previous Track Media shortcut key.
  virtual void HandleMediaPrevTrack() = 0;

  // Returns the current media recording state of web contents
  // that belongs to the |context|.
  virtual MediaCaptureState GetMediaCaptureState(
      content::BrowserContext* context) = 0;
};

}  // namespace ash

#endif  // ASH_MEDIA_DELEGATE_H_
