blob: bc8edfc72add9587b900ac1eafc379f4b231a1f8 [file] [log] [blame]
// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "cryptohome/user_oldest_activity_timestamp_cache.h"
#include <string>
#include <utility>
#include <base/logging.h>
#include <base/time/time.h>
namespace cryptohome {
void UserOldestActivityTimestampCache::Initialize() {
CHECK(initialized_ == false);
initialized_ = true;
}
void UserOldestActivityTimestampCache::AddExistingUser(const std::string& user,
base::Time timestamp) {
CHECK(initialized_);
users_timestamp_lookup_.insert(std::make_pair(user, timestamp));
}
void UserOldestActivityTimestampCache::UpdateExistingUser(
const std::string& user, base::Time timestamp) {
CHECK(initialized_);
users_timestamp_lookup_[user] = timestamp;
}
void UserOldestActivityTimestampCache::RemoveUser(const std::string& user) {
CHECK(initialized_);
users_timestamp_lookup_.erase(user);
}
base::Time UserOldestActivityTimestampCache::GetLastUserActivityTimestamp(
const std::string& user) const {
CHECK(initialized_);
auto it = users_timestamp_lookup_.find(user);
if (it == users_timestamp_lookup_.end()) {
return base::Time();
} else {
return it->second;
}
}
} // namespace cryptohome