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 372fa3693c264a4c150ac307d9bb7f6f8f18cc4ffcKen Wakasa int getTimeStamp() const { 382fa3693c264a4c150ac307d9bb7f6f8f18cc4ffcKen Wakasa return mTimestamp; 392fa3693c264a4c150ac307d9bb7f6f8f18cc4ffcKen Wakasa } 402fa3693c264a4c150ac307d9bb7f6f8f18cc4ffcKen Wakasa 412fa3693c264a4c150ac307d9bb7f6f8f18cc4ffcKen Wakasa int getLevel() const { 422fa3693c264a4c150ac307d9bb7f6f8f18cc4ffcKen Wakasa return mLevel; 432fa3693c264a4c150ac307d9bb7f6f8f18cc4ffcKen Wakasa } 442fa3693c264a4c150ac307d9bb7f6f8f18cc4ffcKen Wakasa 452fa3693c264a4c150ac307d9bb7f6f8f18cc4ffcKen Wakasa int getCount() const { 462fa3693c264a4c150ac307d9bb7f6f8f18cc4ffcKen Wakasa return mCount; 472fa3693c264a4c150ac307d9bb7f6f8f18cc4ffcKen Wakasa } 482fa3693c264a4c150ac307d9bb7f6f8f18cc4ffcKen Wakasa 492fa3693c264a4c150ac307d9bb7f6f8f18cc4ffcKen Wakasa private: 502fa3693c264a4c150ac307d9bb7f6f8f18cc4ffcKen Wakasa // Copy constructor is public to use this class as a type of return value. 512fa3693c264a4c150ac307d9bb7f6f8f18cc4ffcKen Wakasa DISALLOW_ASSIGNMENT_OPERATOR(HistoricalInfo); 522fa3693c264a4c150ac307d9bb7f6f8f18cc4ffcKen Wakasa 532fa3693c264a4c150ac307d9bb7f6f8f18cc4ffcKen Wakasa const int mTimestamp; 542fa3693c264a4c150ac307d9bb7f6f8f18cc4ffcKen Wakasa const int mLevel; 552fa3693c264a4c150ac307d9bb7f6f8f18cc4ffcKen Wakasa const int mCount; 562fa3693c264a4c150ac307d9bb7f6f8f18cc4ffcKen Wakasa}; 572fa3693c264a4c150ac307d9bb7f6f8f18cc4ffcKen Wakasa} // namespace latinime 582fa3693c264a4c150ac307d9bb7f6f8f18cc4ffcKen Wakasa#endif /* LATINIME_HISTORICAL_INFO_H */ 59