15 #ifndef SHAKA_EMBEDDED_EME_IMPLEMENTATION_H_ 16 #define SHAKA_EMBEDDED_EME_IMPLEMENTATION_H_ 22 #include "../macros.h" 36 KeyStatusInfo(
const std::vector<uint8_t>& key_id,
MediaKeyStatus status);
39 KeyStatusInfo(KeyStatusInfo&&);
40 KeyStatusInfo(
const KeyStatusInfo&);
41 KeyStatusInfo& operator=(KeyStatusInfo&&);
42 KeyStatusInfo& operator=(
const KeyStatusInfo&);
52 : key_id(
std::move(key_id)), status(status) {}
103 virtual bool GetExpiration(
const std::string& session_id,
104 int64_t* expiration)
const = 0;
115 virtual bool GetKeyStatuses(
const std::string& session_id,
116 std::vector<KeyStatusInfo>* statuses)
const = 0;
129 virtual void SetServerCertificate(
EmePromise promise,
Data cert) = 0;
157 virtual void CreateSessionAndGenerateRequest(
159 std::function<
void(
const std::string&)> set_session_id,
172 virtual void Load(
const std::string& session_id,
EmePromise promise) = 0;
181 virtual void Update(
const std::string& session_id,
EmePromise promise,
191 virtual void Close(
const std::string& session_id,
EmePromise promise) = 0;
203 virtual void Remove(
const std::string& session_id,
EmePromise promise) = 0;
224 const uint8_t* data,
size_t data_size,
225 uint8_t*
dest)
const = 0;
231 #endif // SHAKA_EMBEDDED_EME_IMPLEMENTATION_H_
std::vector< uint8_t > key_id
#define SHAKA_DECLARE_INTERFACE_METHODS(Type)
KeyStatusInfo & operator=(KeyStatusInfo &&)