CastAuthApk: Castkey AIDL mediaDrm plugin
Bug: 229298787 Test: Access Cast creds with MediaDrm plugin Change-Id: I085b193ff4046d9005366c8bc8b3eb8020716b4b
This commit is contained in:
parent
9bf1a707f4
commit
66c1664383
15 changed files with 968 additions and 0 deletions
38
cast_auth/mediadrm/SessionLibrary.cpp
Normal file
38
cast_auth/mediadrm/SessionLibrary.cpp
Normal file
|
@ -0,0 +1,38 @@
|
|||
#include "SessionLibrary.h"
|
||||
|
||||
#include <algorithm>
|
||||
#include <string>
|
||||
|
||||
namespace castkeydrm {
|
||||
|
||||
std::mutex SessionLibrary::singleton_lock_;
|
||||
SessionLibrary* SessionLibrary::singleton_ = NULL;
|
||||
|
||||
SessionLibrary* SessionLibrary::get() {
|
||||
std::lock_guard<std::mutex> guard(singleton_lock_);
|
||||
|
||||
if (singleton_ == NULL) {
|
||||
singleton_ = new SessionLibrary();
|
||||
}
|
||||
|
||||
return singleton_;
|
||||
}
|
||||
|
||||
std::vector<uint8_t> SessionLibrary::createSession() {
|
||||
std::lock_guard<std::mutex> guard(session_lock_);
|
||||
|
||||
std::string session_string = std::to_string(next_session_id_);
|
||||
next_session_id_ += 1;
|
||||
sessions_.emplace_back(session_string.begin(), session_string.end());
|
||||
return sessions_.back();
|
||||
}
|
||||
|
||||
void SessionLibrary::closeSession(const std::vector<uint8_t>& session) {
|
||||
std::lock_guard<std::mutex> guard(session_lock_);
|
||||
std::remove_if(sessions_.begin(), sessions_.end(),
|
||||
[&session](const std::vector<uint8_t>& e) {
|
||||
return std::equal(e.begin(), e.end(), session.begin());
|
||||
});
|
||||
}
|
||||
|
||||
} // namespace castkeydrm
|
Loading…
Add table
Add a link
Reference in a new issue