/* * Copyright 2017-2020, Andrew Lindesay . * All rights reserved. Distributed under the terms of the MIT License. */ #ifndef STANDARD_META_DATA_H #define STANDARD_META_DATA_H #include #include #include #include #include /* This class models (some of) the meta-data that is bundled into data that is * relayed from the HaikuDepotServer application server down to the client. * This includes the tar-ball of icons as well as "bulk data" such as streams of * information about repositories and packages. */ class StandardMetaData { public: StandardMetaData(); uint64_t GetCreateTimestamp() const; BDateTime GetCreateTimestampAsDateTime() const; void SetCreateTimestamp(uint64_t value); uint64_t GetDataModifiedTimestamp() const; BDateTime GetDataModifiedTimestampAsDateTime() const; void SetDataModifiedTimestamp( uint64_t value); bool IsPopulated() const; private: static BDateTime _CreateDateTime( uint64_t millisSinceEpoc); private: uint64_t fCreateTimestamp; uint64_t fDataModifiedTimestamp; }; #endif // STANDARD_META_DATA_H