// Copyright 2017 Google Inc. All Rights Reserved. // // Mock implementation of OEMCrypto APIs // #include "oemcrypto_session_key_table.h" #include "keys.h" #include "log.h" namespace wvoec_mock { SessionKeyTable::~SessionKeyTable() { for (KeyMap::iterator i = keys_.begin(); i != keys_.end(); ++i) { if (NULL != i->second) { delete i->second; } } } bool SessionKeyTable::Insert(const KeyId key_id, const Key& key_data) { if (keys_.find(key_id) != keys_.end()) return false; keys_[key_id] = new Key(key_data); return true; } Key* SessionKeyTable::Find(const KeyId key_id) { if (keys_.find(key_id) == keys_.end()) { return NULL; } return keys_[key_id]; } void SessionKeyTable::Remove(const KeyId key_id) { if (keys_.find(key_id) != keys_.end()) { delete keys_[key_id]; keys_.erase(key_id); } } void SessionKeyTable::UpdateDuration(const KeyControlBlock& control) { for (KeyMap::iterator it = keys_.begin(); it != keys_.end(); ++it) { it->second->UpdateDuration(control); } } } // namespace wvoec_mock