chromium/content/browser/media/web_app_system_media_controls.h

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

#ifndef CONTENT_BROWSER_MEDIA_WEB_APP_SYSTEM_MEDIA_CONTROLS_H_
#define CONTENT_BROWSER_MEDIA_WEB_APP_SYSTEM_MEDIA_CONTROLS_H_

#include <memory>
#include "base/unguessable_token.h"
#include "content/browser/media/active_media_session_controller.h"
#include "content/browser/media/system_media_controls_notifier.h"

namespace system_media_controls {
class SystemMediaControls;
}  // namespace system_media_controls

namespace content {

// WebAppSystemMediaControls is intended as a data storage class. It holds:
//  - A requestID
//  - SystemMediaControls
//  - SystemMediaControlsNotifier
//  - ActiveMediaSessionController
//
// This class is typically owned by a WebAppSystemMediaControlsManager. See
// web_app_system_media_controls_manager.h for more detailed documentation.
//
// This class is not to be confused with SystemMediaControls. This is a wrapper
// around a SystemMediaControls and other classes - not a derived class of
// SystemMediaControls.
class CONTENT_EXPORT WebAppSystemMediaControls {};

}  // namespace content

#endif  // CONTENT_BROWSER_MEDIA_WEB_APP_SYSTEM_MEDIA_CONTROLS_H_