Loading cas/1.0/default/FactoryLoader.h +18 −15 Original line number Diff line number Diff line Loading @@ -45,7 +45,7 @@ public: sp<SharedLibrary> *library = NULL, T** factory = NULL); bool enumeratePlugins(vector<HidlCasPluginDescriptor>* results); bool enumeratePlugins(hidl_vec<HidlCasPluginDescriptor>* results); private: typedef T*(*CreateFactoryFunc)(); Loading @@ -63,9 +63,7 @@ private: sp<SharedLibrary> *library, T** factory); bool queryPluginsFromPath( const String8 &path, vector<HidlCasPluginDescriptor>* results); bool queryPluginsFromPath(const String8& path, hidl_vec<HidlCasPluginDescriptor>* results); bool openFactory(const String8 &path); void closeFactory(); Loading Loading @@ -121,12 +119,9 @@ bool FactoryLoader<T>::findFactoryForScheme( } template <class T> bool FactoryLoader<T>::enumeratePlugins( vector<HidlCasPluginDescriptor>* results) { bool FactoryLoader<T>::enumeratePlugins(hidl_vec<HidlCasPluginDescriptor>* results) { ALOGI("enumeratePlugins"); results->clear(); String8 dirPath("/vendor/lib/mediacas"); DIR* pDir = opendir(dirPath.string()); Loading Loading @@ -168,8 +163,8 @@ bool FactoryLoader<T>::loadFactoryForSchemeFromPath( } template <class T> bool FactoryLoader<T>::queryPluginsFromPath( const String8 &path, vector<HidlCasPluginDescriptor>* results) { bool FactoryLoader<T>::queryPluginsFromPath(const String8& path, hidl_vec<HidlCasPluginDescriptor>* results) { closeFactory(); vector<CasPluginDescriptor> descriptors; Loading @@ -178,11 +173,19 @@ bool FactoryLoader<T>::queryPluginsFromPath( return false; } for (auto it = descriptors.begin(); it != descriptors.end(); it++) { results->push_back( HidlCasPluginDescriptor { .caSystemId = it->CA_system_id, .name = it->name.c_str()}); results->resize(descriptors.size()); if (results->size() >= SIZE_MAX / sizeof(HidlCasPluginDescriptor)) { return false; } memset(results->data(), 0, results->size() * sizeof(HidlCasPluginDescriptor)); for (size_t i = 0; i < results->size(); i++) { HidlCasPluginDescriptor& descriptor = (*results)[i]; descriptor.caSystemId = descriptors[i].CA_system_id; descriptor.name = descriptors[i].name.c_str(); } return true; } Loading cas/1.0/default/MediaCasService.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -44,7 +44,7 @@ Return<void> MediaCasService::enumeratePlugins(enumeratePlugins_cb _hidl_cb) { ALOGV("%s", __FUNCTION__); vector<HidlCasPluginDescriptor> results; hidl_vec<HidlCasPluginDescriptor> results; mCasLoader.enumeratePlugins(&results); _hidl_cb(results); Loading cas/1.1/default/FactoryLoader.h +17 −10 Original line number Diff line number Diff line Loading @@ -44,7 +44,7 @@ class FactoryLoader { bool findFactoryForScheme(int32_t CA_system_id, sp<SharedLibrary>* library = NULL, T** factory = NULL); bool enumeratePlugins(vector<HidlCasPluginDescriptor>* results); bool enumeratePlugins(hidl_vec<HidlCasPluginDescriptor>* results); private: typedef T* (*CreateFactoryFunc)(); Loading @@ -59,7 +59,7 @@ class FactoryLoader { bool loadFactoryForSchemeFromPath(const String8& path, int32_t CA_system_id, sp<SharedLibrary>* library, T** factory); bool queryPluginsFromPath(const String8& path, vector<HidlCasPluginDescriptor>* results); bool queryPluginsFromPath(const String8& path, hidl_vec<HidlCasPluginDescriptor>* results); bool openFactory(const String8& path); void closeFactory(); Loading Loading @@ -113,11 +113,9 @@ bool FactoryLoader<T>::findFactoryForScheme(int32_t CA_system_id, sp<SharedLibra } template <class T> bool FactoryLoader<T>::enumeratePlugins(vector<HidlCasPluginDescriptor>* results) { bool FactoryLoader<T>::enumeratePlugins(hidl_vec<HidlCasPluginDescriptor>* results) { ALOGI("enumeratePlugins"); results->clear(); String8 dirPath("/vendor/lib/mediacas"); DIR* pDir = opendir(dirPath.string()); Loading Loading @@ -159,7 +157,7 @@ bool FactoryLoader<T>::loadFactoryForSchemeFromPath(const String8& path, int32_t template <class T> bool FactoryLoader<T>::queryPluginsFromPath(const String8& path, vector<HidlCasPluginDescriptor>* results) { hidl_vec<HidlCasPluginDescriptor>* results) { closeFactory(); vector<CasPluginDescriptor> descriptors; Loading @@ -168,10 +166,19 @@ bool FactoryLoader<T>::queryPluginsFromPath(const String8& path, return false; } for (auto it = descriptors.begin(); it != descriptors.end(); it++) { results->push_back( HidlCasPluginDescriptor{.caSystemId = it->CA_system_id, .name = it->name.c_str()}); results->resize(descriptors.size()); if (results->size() >= SIZE_MAX / sizeof(HidlCasPluginDescriptor)) { return false; } memset(results->data(), 0, results->size() * sizeof(HidlCasPluginDescriptor)); for (size_t i = 0; i < results->size(); i++) { HidlCasPluginDescriptor& descriptor = (*results)[i]; descriptor.caSystemId = descriptors[i].CA_system_id; descriptor.name = descriptors[i].name.c_str(); } return true; } Loading cas/1.1/default/MediaCasService.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -68,7 +68,7 @@ MediaCasService::~MediaCasService() {} Return<void> MediaCasService::enumeratePlugins(enumeratePlugins_cb _hidl_cb) { ALOGV("%s", __FUNCTION__); vector<HidlCasPluginDescriptor> results; hidl_vec<HidlCasPluginDescriptor> results; mCasLoader.enumeratePlugins(&results); _hidl_cb(results); Loading Loading
cas/1.0/default/FactoryLoader.h +18 −15 Original line number Diff line number Diff line Loading @@ -45,7 +45,7 @@ public: sp<SharedLibrary> *library = NULL, T** factory = NULL); bool enumeratePlugins(vector<HidlCasPluginDescriptor>* results); bool enumeratePlugins(hidl_vec<HidlCasPluginDescriptor>* results); private: typedef T*(*CreateFactoryFunc)(); Loading @@ -63,9 +63,7 @@ private: sp<SharedLibrary> *library, T** factory); bool queryPluginsFromPath( const String8 &path, vector<HidlCasPluginDescriptor>* results); bool queryPluginsFromPath(const String8& path, hidl_vec<HidlCasPluginDescriptor>* results); bool openFactory(const String8 &path); void closeFactory(); Loading Loading @@ -121,12 +119,9 @@ bool FactoryLoader<T>::findFactoryForScheme( } template <class T> bool FactoryLoader<T>::enumeratePlugins( vector<HidlCasPluginDescriptor>* results) { bool FactoryLoader<T>::enumeratePlugins(hidl_vec<HidlCasPluginDescriptor>* results) { ALOGI("enumeratePlugins"); results->clear(); String8 dirPath("/vendor/lib/mediacas"); DIR* pDir = opendir(dirPath.string()); Loading Loading @@ -168,8 +163,8 @@ bool FactoryLoader<T>::loadFactoryForSchemeFromPath( } template <class T> bool FactoryLoader<T>::queryPluginsFromPath( const String8 &path, vector<HidlCasPluginDescriptor>* results) { bool FactoryLoader<T>::queryPluginsFromPath(const String8& path, hidl_vec<HidlCasPluginDescriptor>* results) { closeFactory(); vector<CasPluginDescriptor> descriptors; Loading @@ -178,11 +173,19 @@ bool FactoryLoader<T>::queryPluginsFromPath( return false; } for (auto it = descriptors.begin(); it != descriptors.end(); it++) { results->push_back( HidlCasPluginDescriptor { .caSystemId = it->CA_system_id, .name = it->name.c_str()}); results->resize(descriptors.size()); if (results->size() >= SIZE_MAX / sizeof(HidlCasPluginDescriptor)) { return false; } memset(results->data(), 0, results->size() * sizeof(HidlCasPluginDescriptor)); for (size_t i = 0; i < results->size(); i++) { HidlCasPluginDescriptor& descriptor = (*results)[i]; descriptor.caSystemId = descriptors[i].CA_system_id; descriptor.name = descriptors[i].name.c_str(); } return true; } Loading
cas/1.0/default/MediaCasService.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -44,7 +44,7 @@ Return<void> MediaCasService::enumeratePlugins(enumeratePlugins_cb _hidl_cb) { ALOGV("%s", __FUNCTION__); vector<HidlCasPluginDescriptor> results; hidl_vec<HidlCasPluginDescriptor> results; mCasLoader.enumeratePlugins(&results); _hidl_cb(results); Loading
cas/1.1/default/FactoryLoader.h +17 −10 Original line number Diff line number Diff line Loading @@ -44,7 +44,7 @@ class FactoryLoader { bool findFactoryForScheme(int32_t CA_system_id, sp<SharedLibrary>* library = NULL, T** factory = NULL); bool enumeratePlugins(vector<HidlCasPluginDescriptor>* results); bool enumeratePlugins(hidl_vec<HidlCasPluginDescriptor>* results); private: typedef T* (*CreateFactoryFunc)(); Loading @@ -59,7 +59,7 @@ class FactoryLoader { bool loadFactoryForSchemeFromPath(const String8& path, int32_t CA_system_id, sp<SharedLibrary>* library, T** factory); bool queryPluginsFromPath(const String8& path, vector<HidlCasPluginDescriptor>* results); bool queryPluginsFromPath(const String8& path, hidl_vec<HidlCasPluginDescriptor>* results); bool openFactory(const String8& path); void closeFactory(); Loading Loading @@ -113,11 +113,9 @@ bool FactoryLoader<T>::findFactoryForScheme(int32_t CA_system_id, sp<SharedLibra } template <class T> bool FactoryLoader<T>::enumeratePlugins(vector<HidlCasPluginDescriptor>* results) { bool FactoryLoader<T>::enumeratePlugins(hidl_vec<HidlCasPluginDescriptor>* results) { ALOGI("enumeratePlugins"); results->clear(); String8 dirPath("/vendor/lib/mediacas"); DIR* pDir = opendir(dirPath.string()); Loading Loading @@ -159,7 +157,7 @@ bool FactoryLoader<T>::loadFactoryForSchemeFromPath(const String8& path, int32_t template <class T> bool FactoryLoader<T>::queryPluginsFromPath(const String8& path, vector<HidlCasPluginDescriptor>* results) { hidl_vec<HidlCasPluginDescriptor>* results) { closeFactory(); vector<CasPluginDescriptor> descriptors; Loading @@ -168,10 +166,19 @@ bool FactoryLoader<T>::queryPluginsFromPath(const String8& path, return false; } for (auto it = descriptors.begin(); it != descriptors.end(); it++) { results->push_back( HidlCasPluginDescriptor{.caSystemId = it->CA_system_id, .name = it->name.c_str()}); results->resize(descriptors.size()); if (results->size() >= SIZE_MAX / sizeof(HidlCasPluginDescriptor)) { return false; } memset(results->data(), 0, results->size() * sizeof(HidlCasPluginDescriptor)); for (size_t i = 0; i < results->size(); i++) { HidlCasPluginDescriptor& descriptor = (*results)[i]; descriptor.caSystemId = descriptors[i].CA_system_id; descriptor.name = descriptors[i].name.c_str(); } return true; } Loading
cas/1.1/default/MediaCasService.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -68,7 +68,7 @@ MediaCasService::~MediaCasService() {} Return<void> MediaCasService::enumeratePlugins(enumeratePlugins_cb _hidl_cb) { ALOGV("%s", __FUNCTION__); vector<HidlCasPluginDescriptor> results; hidl_vec<HidlCasPluginDescriptor> results; mCasLoader.enumeratePlugins(&results); _hidl_cb(results); Loading