1 #ifndef DRM_FACTORY_H_ 2 #define DRM_FACTORY_H_ 3 4 #include <aidl/android/hardware/drm/BnDrmFactory.h> 5 #include <aidl/android/hardware/drm/IDrmFactory.h> 6 #include <aidl/android/hardware/drm/IDrmPlugin.h> 7 #include <aidl/android/hardware/drm/ICryptoPlugin.h> 8 9 #include <string> 10 #include <vector> 11 12 #include "CastKeyTypes.h" 13 14 namespace aidl { 15 namespace android { 16 namespace hardware { 17 namespace drm { 18 namespace castkey { 19 20 struct DrmFactory : public BnDrmFactory { DrmFactoryDrmFactory21 DrmFactory() {}; ~DrmFactoryDrmFactory22 virtual ~DrmFactory() {}; 23 24 ::ndk::ScopedAStatus createDrmPlugin( 25 const ::aidl::android::hardware::drm::Uuid& in_uuid, 26 const std::string& in_appPackageName, 27 std::shared_ptr<::aidl::android::hardware::drm::IDrmPlugin>* _aidl_return) override; 28 29 ::ndk::ScopedAStatus createCryptoPlugin( 30 const ::aidl::android::hardware::drm::Uuid& in_uuid, 31 const std::vector<uint8_t>& in_initData, 32 std::shared_ptr<::aidl::android::hardware::drm::ICryptoPlugin>* _aidl_return) override; 33 34 ::ndk::ScopedAStatus getSupportedCryptoSchemes( 35 ::aidl::android::hardware::drm::CryptoSchemes* _aidl_return) override; 36 37 binder_status_t dump(int fd, const char** args, uint32_t numArgs) override; 38 39 40 private: 41 CASTKEY_DISALLOW_COPY_AND_ASSIGN(DrmFactory); 42 }; 43 44 } // namespace castkey 45 } // namespace drm 46 } // namespace hardware 47 } // namespace android 48 } // namespace aidl 49 50 #endif // DRM_FACTORIES_H_ 51