30#include "SimpleTimeParser.h"
36using std::istringstream;
39const long SimpleTimeParser::_sSecsInMin = 60L;
40const long SimpleTimeParser::_sSecsInHour = 60L * SimpleTimeParser::_sSecsInMin;
41const long SimpleTimeParser::_sSecsInDay = 24L * SimpleTimeParser::_sSecsInHour;
42const long SimpleTimeParser::_sSecsInWeek = 7L * SimpleTimeParser::_sSecsInDay;
43const long SimpleTimeParser::_sSecsInMonth = 31L * SimpleTimeParser::_sSecsInDay;
44const long SimpleTimeParser::_sSecsInYear = 365L * SimpleTimeParser::_sSecsInDay;
46map<string, long> SimpleTimeParser::_sParseTable = std::map<string, long>();
47bool SimpleTimeParser::_sInited =
false;
49SimpleTimeParser::SimpleTimeParser()
53SimpleTimeParser::~SimpleTimeParser()
79 std::map<std::string, long>::iterator foundIt = _sParseTable.find(units);
80 if (foundIt == _sParseTable.end()) {
84 seconds *= foundIt->second;
95void SimpleTimeParser::initParseTable()
106 _sParseTable[
"s"] = 1L;
107 _sParseTable[
"sec"] = 1L;
108 _sParseTable[
"secs"] = 1L;
109 _sParseTable[
"second"] = 1L;
110 _sParseTable[
"seconds"] = 1L;
112 _sParseTable[
"m"] = _sSecsInMin;
113 _sParseTable[
"min"] = _sSecsInMin;
114 _sParseTable[
"mins"] = _sSecsInMin;
115 _sParseTable[
"minute"] = _sSecsInMin;
116 _sParseTable[
"minutes"] = _sSecsInMin;
118 _sParseTable[
"h"] = _sSecsInHour;
119 _sParseTable[
"hour"] = _sSecsInHour;
120 _sParseTable[
"hours"] = _sSecsInHour;
122 _sParseTable[
"day"] = _sSecsInDay;
123 _sParseTable[
"days"] = _sSecsInDay;
125 _sParseTable[
"week"] = _sSecsInWeek;
126 _sParseTable[
"weeks"] = _sSecsInWeek;
128 _sParseTable[
"month"] = _sSecsInMonth;
129 _sParseTable[
"months"] = _sSecsInMonth;
131 _sParseTable[
"year"] = _sSecsInYear;
132 _sParseTable[
"years"] = _sSecsInYear;
static bool parseIntoSeconds(long &seconds, const std::string &duration)
Helper class for temporarily hijacking an existing dhi to load a DDX response for one particular file...