The company_name was hardcoded in the CDM as "Google" for all devices. On Android, it needs to come from the ro.product.manufacturer system property. bug: 9074091 This is a merge of https://widevine-internal-review.googlesource.com/#/c/5730/ from the Widevine CDM repository. Change-Id: Ia3ae82abf350c32ba8b4d05b59e95361927dea40
82 lines
2.6 KiB
C++
82 lines
2.6 KiB
C++
// Copyright 2013 Google Inc. All Rights Reserved.
|
|
|
|
#ifndef CDM_BASE_PROPERTIES_H_
|
|
#define CDM_BASE_PROPERTIES_H_
|
|
|
|
#include <map>
|
|
#include <string>
|
|
|
|
#include "lock.h"
|
|
#include "wv_cdm_types.h"
|
|
|
|
namespace wvcdm {
|
|
|
|
// This class saves information about features and properties enabled
|
|
// for a given platform. At initialization it initializes properties from
|
|
// property_configuration.h. That file specifies features selected for each
|
|
// platform. Core CDM can then query enabled features though specific getter
|
|
// methods.
|
|
// Setter methods are provided but their only planned use is for testing.
|
|
class Properties {
|
|
public:
|
|
static void Init();
|
|
|
|
static inline bool begin_license_usage_when_received() {
|
|
return begin_license_usage_when_received_;
|
|
}
|
|
static inline bool require_explicit_renew_request() {
|
|
return require_explicit_renew_request_;
|
|
}
|
|
static inline bool oem_crypto_use_secure_buffers() {
|
|
return oem_crypto_use_secure_buffers_;
|
|
}
|
|
static inline bool oem_crypto_use_fifo() {
|
|
return oem_crypto_use_fifo_;
|
|
}
|
|
static inline bool oem_crypto_use_userspace_buffers() {
|
|
return oem_crypto_use_userspace_buffers_;
|
|
}
|
|
static inline bool use_certificates_as_identification() {
|
|
return use_certificates_as_identification_;
|
|
}
|
|
static bool GetCompanyName(std::string& company_name);
|
|
static bool GetModelName(std::string& model_name);
|
|
static bool GetArchitectureName(std::string& arch_name);
|
|
static bool GetDeviceName(std::string& device_name);
|
|
static bool GetProductName(std::string& product_name);
|
|
static bool GetBuildInfo(std::string& build_info);
|
|
|
|
private:
|
|
static void set_begin_license_usage_when_received(bool flag) {
|
|
begin_license_usage_when_received_ = flag;
|
|
}
|
|
static void set_require_explicit_renew_request(bool flag) {
|
|
require_explicit_renew_request_ = flag;
|
|
}
|
|
static void set_oem_crypto_use_secure_buffers(bool flag) {
|
|
oem_crypto_use_secure_buffers_ = flag;
|
|
}
|
|
static void set_oem_crypto_use_fifo(bool flag) {
|
|
oem_crypto_use_fifo_ = flag;
|
|
}
|
|
static void set_oem_crypto_use_userspace_buffers(bool flag) {
|
|
oem_crypto_use_userspace_buffers_ = flag;
|
|
}
|
|
static void set_use_certificates_as_identification(bool flag) {
|
|
use_certificates_as_identification_ = flag;
|
|
}
|
|
|
|
static bool begin_license_usage_when_received_;
|
|
static bool require_explicit_renew_request_;
|
|
static bool oem_crypto_use_secure_buffers_;
|
|
static bool oem_crypto_use_fifo_;
|
|
static bool oem_crypto_use_userspace_buffers_;
|
|
static bool use_certificates_as_identification_;
|
|
|
|
CORE_DISALLOW_COPY_AND_ASSIGN(Properties);
|
|
};
|
|
|
|
} // namespace wvcdm
|
|
|
|
#endif // CDM_BASE_PROPERTIES_H_
|