result_t os_base::time(const char *tmString, date_t &retVal) { if (!tmString || !*tmString) retVal.now(); else retVal.parse(tmString); return 0; }
result_t os_base::time(exlib::string tmString, date_t& retVal) { if (tmString.empty()) retVal.now(); else retVal.parse(tmString); return 0; }
void print(O &o) const { o << "Version "<<version; if (!date.empty()) o <<" ("<<date<<")"; o<<": "<<description<<"\n"; }
result_t X509Cert::get_notAfter(date_t &retVal) { x509_crt *crt = get_crt(); if (!crt) return CHECK_ERROR(CALL_E_INVALID_CALL); retVal.create(crt->valid_to.year, crt->valid_to.mon, crt->valid_to.day, crt->valid_to.hour, crt->valid_to.min, crt->valid_to.sec, 0); return 0; }
result_t X509Cert::get_notBefore(date_t &retVal) { mbedtls_x509_crt *crt = get_crt(); if (!crt) return CHECK_ERROR(CALL_E_INVALID_CALL); retVal.create(crt->valid_from.year, crt->valid_from.mon, crt->valid_from.day, crt->valid_from.hour, crt->valid_from.min, crt->valid_from.sec, 0); return 0; }
result_t os_base::dateAdd(date_t d, int32_t num, const char *part, date_t &retVal) { retVal = d; if (!qstrcmp(part, "year")) retVal.add(num, date_t::_YEAR); else if (!qstrcmp(part, "month")) retVal.add(num, date_t::_MONTH); else if (!qstrcmp(part, "day")) retVal.add(num, date_t::_DAY); else if (!qstrcmp(part, "hour")) retVal.add(num, date_t::_HOUR); else if (!qstrcmp(part, "minute")) retVal.add(num, date_t::_MINUTE); else if (!qstrcmp(part, "second")) retVal.add(num, date_t::_SECOND); else return CALL_E_INVALIDARG; return 0; }
result_t os_base::dateAdd(date_t d, int32_t num, exlib::string part, date_t &retVal) { retVal = d; if (part == "year") retVal.add(num, date_t::_YEAR); else if (part == "month") retVal.add(num, date_t::_MONTH); else if (part == "day") retVal.add(num, date_t::_DAY); else if (part == "hour") retVal.add(num, date_t::_HOUR); else if (part == "minute") retVal.add(num, date_t::_MINUTE); else if (part == "second") retVal.add(num, date_t::_SECOND); else return CHECK_ERROR(CALL_E_INVALIDARG); return 0; }