// // 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. // #ifndef WV_CRYPTO_FACTORY_H_ #define WV_CRYPTO_FACTORY_H_ #include #include "WVTypes.h" namespace wvdrm { namespace hardware { namespace drm { namespace V1_2 { namespace widevine { using ::android::hardware::drm::V1_1::ICryptoFactory; using ::android::hardware::drm::V1_0::ICryptoPlugin; using ::android::hardware::hidl_array; using ::android::hardware::hidl_vec; using ::android::hardware::Return; struct WVCryptoFactory : public ICryptoFactory { public: WVCryptoFactory() {} virtual ~WVCryptoFactory() {} Return isCryptoSchemeSupported(const hidl_array& uuid) override; Return createPlugin( const hidl_array& uuid, const hidl_vec& initData, createPlugin_cb _hidl_cb) override; private: WVDRM_DISALLOW_COPY_AND_ASSIGN(WVCryptoFactory); }; } // namespace widevine } // namespace V1_2 } // namespace drm } // namespace hardware } // namespace wvdrm #endif // WV_CRYPTO_FACTORY_H_