// Copyright 2017 Google Inc. All Rights Reserved. // // Mock implementation of OEMCrypto APIs // #ifndef MOCK_OEMCRYPTO_SESSION_KEY_TABLE_H_ #define MOCK_OEMCRYPTO_SESSION_KEY_TABLE_H_ #include #include #include #include "oemcrypto_key_mock.h" #include "wv_cdm_types.h" namespace wvoec_mock { class SessionContext; class CryptoEngine; class UsageTable; class UsageTableEntry; typedef std::vector KeyId; typedef std::map KeyMap; // SessionKeyTable holds the keys for the current session class SessionKeyTable { public: SessionKeyTable() {} ~SessionKeyTable(); bool Insert(const KeyId key_id, const Key& key_data); Key* Find(const KeyId key_id); void Remove(const KeyId key_id); void UpdateDuration(const KeyControlBlock& control); size_t size() const { return keys_.size(); } private: KeyMap keys_; CORE_DISALLOW_COPY_AND_ASSIGN(SessionKeyTable); }; } // namespace wvoec_mock #endif // MOCK_OEMCRYPTO_SESSION_KEY_TABLE_H_