Upstreaming browser/ui/uikit_ui_util from iOS.
[chromium-blink-merge.git] / chromecast / media / base / key_systems_common.h
blob1537afd36ab1f21b3e42272fdcc3de05183eddae
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef CHROMECAST_MEDIA_BASE_KEY_SYSTEMS_COMMON_H_
6 #define CHROMECAST_MEDIA_BASE_KEY_SYSTEMS_COMMON_H_
8 #include <string>
9 #include <utility>
10 #include <vector>
12 #include "base/compiler_specific.h"
13 #include "media/base/android/media_client_android.h"
15 namespace chromecast {
16 namespace media {
18 #if defined(PLAYREADY_CDM_AVAILABLE)
19 extern const char kChromecastPlayreadyKeySystem[];
20 #endif // defined(PLAYREADY_CDM_AVAILABLE)
22 enum CastKeySystem {
23 KEY_SYSTEM_NONE = 0,
24 KEY_SYSTEM_CLEAR_KEY,
25 KEY_SYSTEM_PLAYREADY,
26 KEY_SYSTEM_WIDEVINE
29 // Translates a key system string into a CastKeySystem, calling into the
30 // platform for known key systems if needed.
31 CastKeySystem GetKeySystemByName(const std::string& key_system_name);
33 // Translates a platform-specific key system string into a CastKeySystem.
34 // TODO(gunsch): Remove when prefixed EME is removed.
35 CastKeySystem GetPlatformKeySystemByName(const std::string& key_system_name);
37 // Translates a platform-specific key system string into a CastKeySystem.
38 // TODO(gunsch): Remove when prefixed EME is removed.
39 #if defined(OS_ANDROID)
40 std::vector<::media::MediaClientAndroid::KeySystemUuidMap::value_type>
41 GetPlatformKeySystemUUIDMappings();
42 #endif
44 } // namespace media
45 } // namespace chromecast
47 #endif // CHROMECAST_MEDIA_BASE_KEY_SYSTEMS_COMMON_H_