Imported Upstream version 2.8.12.2
[platform/upstream/cmake.git] / Source / cmTimestamp.h
1 /*============================================================================
2   CMake - Cross Platform Makefile Generator
3   Copyright 2012 Kitware, Inc., Insight Software Consortium
4
5   Distributed under the OSI-approved BSD License (the "License");
6   see accompanying file Copyright.txt for details.
7
8   This software is distributed WITHOUT ANY WARRANTY; without even the
9   implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
10   See the License for more information.
11 ============================================================================*/
12 #ifndef cmTimestamp_h
13 #define cmTimestamp_h
14
15 #include <string>
16 #include <time.h>
17
18 /** \class cmTimestamp
19  * \brief Utility class to generate sting representation of a timestamp
20  *
21  */
22 class cmTimestamp
23 {
24 public:
25   cmTimestamp() {}
26
27   std::string CurrentTime(const std::string& formatString, bool utcFlag);
28
29   std::string FileModificationTime(const char* path,
30     const std::string& formatString, bool utcFlag);
31
32 private:
33   std::string CreateTimestampFromTimeT(time_t timeT,
34       std::string formatString, bool utcFlag);
35
36   std::string AddTimestampComponent(char flag, struct tm& timeStruct);
37 };
38
39
40 #endif