// // Copyright 2021 Google LLC. All Rights Reserved. This file and proprietary // source code may only be used and distributed under the Widevine License // Agreement. // #ifndef WV_CRYPTO_FACTORY_H_ #define WV_CRYPTO_FACTORY_H_ #include #include #include #include "WVTypes.h" namespace wvdrm { namespace hardware { namespace drm { namespace widevine { struct WVCryptoFactory : public ::aidl::android::hardware::drm::BnCryptoFactory { public: WVCryptoFactory() {} virtual ~WVCryptoFactory() {} ::ndk::ScopedAStatus createPlugin( const ::aidl::android::hardware::drm::Uuid& in_uuid, const std::vector& in_initData, std::shared_ptr<::aidl::android::hardware::drm::ICryptoPlugin>* _aidl_return) override; ::ndk::ScopedAStatus isCryptoSchemeSupported( const ::aidl::android::hardware::drm::Uuid& in_uuid, bool* _aidl_return) override; private: WVDRM_DISALLOW_COPY_AND_ASSIGN(WVCryptoFactory); }; } // namespace widevine } // namespace drm } // namespace hardware } // namespace wvdrm #endif // WV_CRYPTO_FACTORY_H_