12fa3693c264a4c150ac307d9bb7f6f8f18cc4ffcKen Wakasa/* 22fa3693c264a4c150ac307d9bb7f6f8f18cc4ffcKen Wakasa * Copyright (C) 2013, The Android Open Source Project 32fa3693c264a4c150ac307d9bb7f6f8f18cc4ffcKen Wakasa * 42fa3693c264a4c150ac307d9bb7f6f8f18cc4ffcKen Wakasa * Licensed under the Apache License, Version 2.0 (the "License"); 52fa3693c264a4c150ac307d9bb7f6f8f18cc4ffcKen Wakasa * you may not use this file except in compliance with the License. 62fa3693c264a4c150ac307d9bb7f6f8f18cc4ffcKen Wakasa * You may obtain a copy of the License at 72fa3693c264a4c150ac307d9bb7f6f8f18cc4ffcKen Wakasa * 82fa3693c264a4c150ac307d9bb7f6f8f18cc4ffcKen Wakasa * http://www.apache.org/licenses/LICENSE-2.0 92fa3693c264a4c150ac307d9bb7f6f8f18cc4ffcKen Wakasa * 102fa3693c264a4c150ac307d9bb7f6f8f18cc4ffcKen Wakasa * Unless required by applicable law or agreed to in writing, software 112fa3693c264a4c150ac307d9bb7f6f8f18cc4ffcKen Wakasa * distributed under the License is distributed on an "AS IS" BASIS, 122fa3693c264a4c150ac307d9bb7f6f8f18cc4ffcKen Wakasa * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 132fa3693c264a4c150ac307d9bb7f6f8f18cc4ffcKen Wakasa * See the License for the specific language governing permissions and 142fa3693c264a4c150ac307d9bb7f6f8f18cc4ffcKen Wakasa * limitations under the License. 152fa3693c264a4c150ac307d9bb7f6f8f18cc4ffcKen Wakasa */ 162fa3693c264a4c150ac307d9bb7f6f8f18cc4ffcKen Wakasa 172fa3693c264a4c150ac307d9bb7f6f8f18cc4ffcKen Wakasa#ifndef LATINIME_HISTORICAL_INFO_H 182fa3693c264a4c150ac307d9bb7f6f8f18cc4ffcKen Wakasa#define LATINIME_HISTORICAL_INFO_H 192fa3693c264a4c150ac307d9bb7f6f8f18cc4ffcKen Wakasa 202fa3693c264a4c150ac307d9bb7f6f8f18cc4ffcKen Wakasa#include "defines.h" 212fa3693c264a4c150ac307d9bb7f6f8f18cc4ffcKen Wakasa 222fa3693c264a4c150ac307d9bb7f6f8f18cc4ffcKen Wakasanamespace latinime { 232fa3693c264a4c150ac307d9bb7f6f8f18cc4ffcKen Wakasa 242fa3693c264a4c150ac307d9bb7f6f8f18cc4ffcKen Wakasaclass HistoricalInfo { 252fa3693c264a4c150ac307d9bb7f6f8f18cc4ffcKen Wakasa public: 262fa3693c264a4c150ac307d9bb7f6f8f18cc4ffcKen Wakasa // Invalid historical info. 272fa3693c264a4c150ac307d9bb7f6f8f18cc4ffcKen Wakasa HistoricalInfo() 282fa3693c264a4c150ac307d9bb7f6f8f18cc4ffcKen Wakasa : mTimestamp(NOT_A_TIMESTAMP), mLevel(0), mCount(0) {} 292fa3693c264a4c150ac307d9bb7f6f8f18cc4ffcKen Wakasa 302fa3693c264a4c150ac307d9bb7f6f8f18cc4ffcKen Wakasa HistoricalInfo(const int timestamp, const int level, const int count) 312fa3693c264a4c150ac307d9bb7f6f8f18cc4ffcKen Wakasa : mTimestamp(timestamp), mLevel(level), mCount(count) {} 322fa3693c264a4c150ac307d9bb7f6f8f18cc4ffcKen Wakasa 332fa3693c264a4c150ac307d9bb7f6f8f18cc4ffcKen Wakasa bool isValid() const { 342fa3693c264a4c150ac307d9bb7f6f8f18cc4ffcKen Wakasa return mTimestamp != NOT_A_TIMESTAMP; 352fa3693c264a4c150ac307d9bb7f6f8f18cc4ffcKen Wakasa } 362fa3693c264a4c150ac307d9bb7f6f8f18cc4ffcKen Wakasa 37287e155e44b4e937f2a62d010805702bc813c43bKeisuke Kuroyanagi int getTimestamp() const { 382fa3693c264a4c150ac307d9bb7f6f8f18cc4ffcKen Wakasa return mTimestamp; 392fa3693c264a4c150ac307d9bb7f6f8f18cc4ffcKen Wakasa } 402fa3693c264a4c150ac307d9bb7f6f8f18cc4ffcKen Wakasa 412383575d2d695efcca093e69ed2daa88aec58862Keisuke Kuroyanagi // TODO: Remove 422fa3693c264a4c150ac307d9bb7f6f8f18cc4ffcKen Wakasa int getLevel() const { 432fa3693c264a4c150ac307d9bb7f6f8f18cc4ffcKen Wakasa return mLevel; 442fa3693c264a4c150ac307d9bb7f6f8f18cc4ffcKen Wakasa } 452fa3693c264a4c150ac307d9bb7f6f8f18cc4ffcKen Wakasa 462fa3693c264a4c150ac307d9bb7f6f8f18cc4ffcKen Wakasa int getCount() const { 472fa3693c264a4c150ac307d9bb7f6f8f18cc4ffcKen Wakasa return mCount; 482fa3693c264a4c150ac307d9bb7f6f8f18cc4ffcKen Wakasa } 492fa3693c264a4c150ac307d9bb7f6f8f18cc4ffcKen Wakasa 502fa3693c264a4c150ac307d9bb7f6f8f18cc4ffcKen Wakasa private: 51620ebde70490473fd3562f70d1f24d7d53b6fb1cKeisuke Kuroyanagi // Default copy constructor is used for using in std::vector. 52620ebde70490473fd3562f70d1f24d7d53b6fb1cKeisuke Kuroyanagi DISALLOW_ASSIGNMENT_OPERATOR(HistoricalInfo); 532fa3693c264a4c150ac307d9bb7f6f8f18cc4ffcKen Wakasa 54620ebde70490473fd3562f70d1f24d7d53b6fb1cKeisuke Kuroyanagi const int mTimestamp; 55620ebde70490473fd3562f70d1f24d7d53b6fb1cKeisuke Kuroyanagi const int mLevel; 56620ebde70490473fd3562f70d1f24d7d53b6fb1cKeisuke Kuroyanagi const int mCount; 572fa3693c264a4c150ac307d9bb7f6f8f18cc4ffcKen Wakasa}; 582fa3693c264a4c150ac307d9bb7f6f8f18cc4ffcKen Wakasa} // namespace latinime 592fa3693c264a4c150ac307d9bb7f6f8f18cc4ffcKen Wakasa#endif /* LATINIME_HISTORICAL_INFO_H */ 60