File indexing completed on 2024-05-05 05:40:34
0001 #include "network/timeaccepter.h" 0002 #include <QDateTime> 0003 #include <QDebug> 0004 #include <QTime> 0005 0006 TimeAccepter::TimeAccepter() {} 0007 0008 bool TimeAccepter::isValid(const QMap<QString, QVariant>& data) const 0009 { 0010 auto startStr= data["TimeStart"].toString(); 0011 auto endStr= data["TimeEnd"].toString(); 0012 0013 if(startStr.isEmpty() || endStr.isEmpty()) 0014 return true; 0015 0016 QDateTime time= QDateTime::currentDateTime(); 0017 const QString format= QStringLiteral("hh:mm"); 0018 0019 QTime start= QTime::fromString(startStr, format); 0020 QTime end= QTime::fromString(endStr, format); 0021 QDateTime dateStart; 0022 dateStart.setDate(time.date()); 0023 dateStart.setTime(start); 0024 QDateTime dateEnd; 0025 dateEnd.setDate(time.date()); 0026 dateEnd.setTime(end); 0027 0028 if(dateEnd < dateStart) 0029 dateEnd= dateEnd.addDays(1); 0030 0031 bool result= true; 0032 0033 if(dateStart.isValid() && dateEnd.isValid() && ((time < dateStart) || (time > dateEnd))) 0034 { 0035 result= false; 0036 qInfo() << QStringLiteral("Connection out of time slot. Connection refused"); 0037 } 0038 return result; 0039 }