(This is a merge of http://go/wvgerrit/70324) - Add build settings for Windows. - Conditionally add pthread. - Add dummy DLLMain method. - Fix #if checks for Windows. - Remove designated initializers which aren't supported in MSVC. - Remove variable length array. Test: Android Unit Tests Bug: 122953649 Change-Id: I14f16e7ce4b3ff17ee0139ea6c2f7243ae999aa1
38 lines
1.1 KiB
C++
38 lines
1.1 KiB
C++
// Copyright 2018 Google LLC. All Rights Reserved. This file and proprietary
|
|
// source code may only be used and distributed under the Widevine Master
|
|
// License Agreement.
|
|
//
|
|
// Reference implementation of OEMCrypto APIs
|
|
//
|
|
// This file contains oemcrypto engine properties that would be for a device
|
|
// that does not have persistant storage or a keybox.
|
|
//
|
|
// Note: We also define it to be L2 for illustration only. Production devices
|
|
// are rarely level 2.
|
|
#include "oemcrypto_engine_ref.h"
|
|
|
|
namespace wvoec_ref {
|
|
|
|
class CertOnlyCryptoEngine : public CryptoEngine {
|
|
public:
|
|
explicit CertOnlyCryptoEngine(std::unique_ptr<wvcdm::FileSystem>&& file_system)
|
|
: CryptoEngine(std::move(file_system)) {}
|
|
|
|
bool config_local_display_only() { return true; }
|
|
|
|
bool config_supports_usage_table() { return false; }
|
|
|
|
OEMCrypto_ProvisioningMethod config_provisioning_method() {
|
|
return OEMCrypto_DrmCertificate;
|
|
}
|
|
|
|
const char* config_security_level() { return "L2"; }
|
|
};
|
|
|
|
CryptoEngine* CryptoEngine::MakeCryptoEngine(
|
|
std::unique_ptr<wvcdm::FileSystem>&& file_system) {
|
|
return new CertOnlyCryptoEngine(std::move(file_system));
|
|
}
|
|
|
|
} // namespace wvoec_ref
|