OLD | NEW |
(Empty) | |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. |
| 4 |
| 5 #include <ctime> |
| 6 |
| 7 #include "components/offline_pages/offline_event_logger.h" |
| 8 |
| 9 namespace offline_pages { |
| 10 |
| 11 OfflineEventLogger::OfflineEventLogger() |
| 12 : activities_(kMaxLogCount), is_logging_(false) {} |
| 13 |
| 14 OfflineEventLogger::~OfflineEventLogger() {} |
| 15 |
| 16 void OfflineEventLogger::SetIsLogging(bool is_logging) { |
| 17 is_logging_ = is_logging; |
| 18 } |
| 19 |
| 20 void OfflineEventLogger::Clear() { |
| 21 activities_.clear(); |
| 22 } |
| 23 |
| 24 void OfflineEventLogger::RecordActivity(const std::string& activity) { |
| 25 if (!is_logging_) { |
| 26 return; |
| 27 } |
| 28 if (activities_.size() > kMaxLogCount) |
| 29 activities_.pop_back(); |
| 30 |
| 31 std::time_t current_time = std::time(nullptr); |
| 32 char buffer[20]; |
| 33 |
| 34 strftime(buffer, 20, "%Y %m %d %H:%M:%S", std::localtime(¤t_time)); |
| 35 |
| 36 activities_.push_front(std::string(buffer) + (": " + activity)); |
| 37 } |
| 38 |
| 39 void OfflineEventLogger::GetLogs(std::vector<std::string>& records) { |
| 40 for (std::deque<std::string>::iterator it = activities_.begin(); |
| 41 it != activities_.end(); it++) { |
| 42 if (!it->empty()) |
| 43 records.push_back(*it); |
| 44 } |
| 45 } |
| 46 |
| 47 } // namespace offline_pages |
OLD | NEW |