blob: 6167c0f638e012efb459369c23ccd49143edd101 [file] [log] [blame]
// Copyright 2015 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 CHROME_BROWSER_UI_WEBUI_MEDIA_ROUTER_MEDIA_CAST_MODE_H_
#define CHROME_BROWSER_UI_WEBUI_MEDIA_ROUTER_MEDIA_CAST_MODE_H_
#include <set>
#include <string>
namespace media_router {
// A cast mode represents one way that the current WebContents (i.e., tab) may
// be presented to a media sink. These must be declared in the priority order
// returned by GetPreferredCastMode.
enum MediaCastMode {
// The default presentation for the WebContents. Only available when the
// document has provided a default presentation URL.
DEFAULT = 0x1,
// Capture the rendered WebContents and stream it to a media sink. Always
// available.
TAB_MIRROR = 0x2,
// Capture the entire desktop and stream it to a media sink. Always
// available.
DESKTOP_MIRROR = 0x4,
};
using CastModeSet = std::set<MediaCastMode>;
// Returns a localized description string for |mode| and |host|
// (e.g. google.com).
std::string MediaCastModeToDescription(MediaCastMode mode,
const std::string& host);
// Returns true if |cast_mode_num| is a valid MediaCastMode, false otherwise.
bool IsValidCastModeNum(int cast_mode_num);
} // namespace media_router
#endif // CHROME_BROWSER_UI_WEBUI_MEDIA_ROUTER_MEDIA_CAST_MODE_H_