summaryrefslogtreecommitdiff
path: root/src/serverinfo.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/serverinfo.cpp')
-rw-r--r--src/serverinfo.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/serverinfo.cpp b/src/serverinfo.cpp
index 70cdec6d..16e65f52 100644
--- a/src/serverinfo.cpp
+++ b/src/serverinfo.cpp
@@ -1,4 +1,7 @@
#include "serverinfo.h"
+#include "log.h"
+
+using namespace MOBase;
ServerInfo::ServerInfo()
: ServerInfo({}, false, {}, 0, 0, 0.0)
@@ -100,3 +103,22 @@ ServerList::container ServerList::getPreferred() const
return v;
}
+
+void ServerList::cleanup()
+{
+ QDate now = QDate::currentDate();
+
+ for (auto itor=m_servers.begin(); itor!=m_servers.end(); ) {
+ const QDate lastSeen = itor->lastSeen();
+
+ if (lastSeen.daysTo(now) > 30) {
+ log::debug(
+ "removing server {} since it hasn't been available for downloads "
+ "in over a month", itor->name());
+
+ itor = m_servers.erase(itor);
+ } else {
+ ++itor;
+ }
+ }
+}