1/* 2 * Copyright 2017-2020, Andrew Lindesay <apl@lindesay.co.nz>. 3 * All rights reserved. Distributed under the terms of the MIT License. 4 */ 5 6 7#include "StandardMetaData.h" 8 9 10StandardMetaData::StandardMetaData() 11{ 12 fCreateTimestamp = 0; 13 fDataModifiedTimestamp = 0; 14} 15 16 17/*static*/ BDateTime 18StandardMetaData::_CreateDateTime(uint64_t millisSinceEpoc) 19{ 20 time_t secondsSinceEpoc = (millisSinceEpoc / 1000); 21 BDateTime result; 22 result.SetTime_t(secondsSinceEpoc); 23 return result; 24} 25 26 27uint64_t 28StandardMetaData::GetCreateTimestamp() const 29{ 30 return fCreateTimestamp; 31} 32 33 34BDateTime 35StandardMetaData::GetCreateTimestampAsDateTime() const 36{ 37 return _CreateDateTime(GetCreateTimestamp()); 38} 39 40 41void 42StandardMetaData::SetCreateTimestamp(uint64_t value) 43{ 44 fCreateTimestamp = value; 45} 46 47 48uint64_t 49StandardMetaData::GetDataModifiedTimestamp() const 50{ 51 return fDataModifiedTimestamp; 52} 53 54 55void 56StandardMetaData::SetDataModifiedTimestamp(uint64_t value) 57{ 58 fDataModifiedTimestamp = value; 59} 60 61 62BDateTime 63StandardMetaData::GetDataModifiedTimestampAsDateTime() const 64{ 65 return _CreateDateTime(GetDataModifiedTimestamp()); 66} 67 68 69bool 70StandardMetaData::IsPopulated() const 71{ 72 return fCreateTimestamp != 0 && fDataModifiedTimestamp != 0; 73} 74