From 73784c6a8488fef1ca7e6971a12868735d606de7 Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Wed, 30 Mar 2016 19:27:59 +0200 Subject: UPDATES: Made interval set/get functions accept normal integers --- common/updates.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'common') diff --git a/common/updates.h b/common/updates.h index 4c30987c38..8863a58931 100644 --- a/common/updates.h +++ b/common/updates.h @@ -85,14 +85,14 @@ public: * * @param interval The interval. */ - virtual void setUpdateCheckInterval(UpdateInterval interval) {} + virtual void setUpdateCheckInterval(int interval) {} /** * Gets the update check interval. * * @return the update check interval. */ - virtual UpdateInterval getUpdateCheckInterval() { return kUpdateIntervalNotSupported; } + virtual int getUpdateCheckInterval() { return kUpdateIntervalNotSupported; } }; } // End of namespace Common -- cgit v1.2.3 From 08e7f0ab9179691fe869bab8fee5585364c846c7 Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Thu, 31 Mar 2016 09:31:57 +0200 Subject: UPDATES: Got rid of hardcoded update intervals list --- common/module.mk | 5 +++++ common/updates.cpp | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ common/updates.h | 9 ++++++--- 3 files changed, 67 insertions(+), 3 deletions(-) create mode 100644 common/updates.cpp (limited to 'common') diff --git a/common/module.mk b/common/module.mk index 67c498df00..570040c8e1 100644 --- a/common/module.mk +++ b/common/module.mk @@ -56,5 +56,10 @@ MODULE_OBJS += \ recorderfile.o endif +ifdef USE_UPDATES +MODULE_OBJS += \ + updates.o +endif + # Include common rules include $(srcdir)/rules.mk diff --git a/common/updates.cpp b/common/updates.cpp new file mode 100644 index 0000000000..0318864881 --- /dev/null +++ b/common/updates.cpp @@ -0,0 +1,56 @@ +/* ScummVM - Graphic Adventure Engine + * + * ScummVM is the legal property of its developers, whose names + * are too numerous to list here. Please refer to the COPYRIGHT + * file distributed with this source distribution. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + */ + +#include "common/system.h" +#include "common/updates.h" +#include "common/translation.h" + +namespace Common { + +static const int updateIntervals[] = { + UpdateManager::kUpdateIntervalNotSupported, + UpdateManager::kUpdateIntervalOneDay, + UpdateManager::kUpdateIntervalOneWeek, + UpdateManager::kUpdateIntervalOneMonth, + -1 +}; + +const int *UpdateManager::getUpdateIntervals() { + return updateIntervals; +} + +const char *UpdateManager::updateIntervalToString(int interval) { + switch (interval) { + case kUpdateIntervalNotSupported: + return _("Never"); + case kUpdateIntervalOneDay: + return _("Daily"); + case kUpdateIntervalOneWeek: + return _("Weekly"); + case kUpdateIntervalOneMonth: + return _("Monthly"); + default: + return _(""); + } +} + +} // End of namespace Common diff --git a/common/updates.h b/common/updates.h index 8863a58931..986d56ce24 100644 --- a/common/updates.h +++ b/common/updates.h @@ -20,8 +20,8 @@ * */ -#ifndef BACKENDS_UPDATES_ABSTRACT_H -#define BACKENDS_UPDATES_ABSTRACT_H +#ifndef COMMON_UPDATES_H +#define COMMON_UPDATES_H #if defined(USE_UPDATES) @@ -93,10 +93,13 @@ public: * @return the update check interval. */ virtual int getUpdateCheckInterval() { return kUpdateIntervalNotSupported; } + + static const int *getUpdateIntervals(); + static const char *updateIntervalToString(int interval); }; } // End of namespace Common #endif -#endif // BACKENDS_UPDATES_ABSTRACT_H +#endif // COMMON_UPDATES_H -- cgit v1.2.3 From 14478a65f179318f0e269f10d8bfd77174d73cb1 Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Fri, 1 Apr 2016 21:19:15 +0200 Subject: UPDATES: Added documentation to new methods --- common/updates.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'common') diff --git a/common/updates.h b/common/updates.h index 986d56ce24..fa6f79fb91 100644 --- a/common/updates.h +++ b/common/updates.h @@ -94,7 +94,19 @@ public: */ virtual int getUpdateCheckInterval() { return kUpdateIntervalNotSupported; } + /** + * Returns list of supported uptate intervals. + * Ending with '-1' which is not acceptable value. + * + * @return list of integer values representing update intervals in seconds. + */ static const int *getUpdateIntervals(); + + /** + * Returns string representation of a given interval. + * + * @return pointer to localized string of given interval. + */ static const char *updateIntervalToString(int interval); }; -- cgit v1.2.3 From a743ec2e07ccada0286085ecec54f4d87ed49d44 Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Fri, 1 Apr 2016 21:29:29 +0200 Subject: UPDATES: Implement and use method for normalizing interval value to accepted values --- common/updates.cpp | 10 ++++++++++ common/updates.h | 9 +++++++++ 2 files changed, 19 insertions(+) (limited to 'common') diff --git a/common/updates.cpp b/common/updates.cpp index 0318864881..552324ef5a 100644 --- a/common/updates.cpp +++ b/common/updates.cpp @@ -38,6 +38,16 @@ const int *UpdateManager::getUpdateIntervals() { return updateIntervals; } +int UpdateManager::normalizeInterval(int interval) { + const int *val = updateIntervals; + + while (*val != -1) + if (*val > interval) + return *val; + + return val[-1]; // Return maximal acceptable value +} + const char *UpdateManager::updateIntervalToString(int interval) { switch (interval) { case kUpdateIntervalNotSupported: diff --git a/common/updates.h b/common/updates.h index fa6f79fb91..65eb5ac095 100644 --- a/common/updates.h +++ b/common/updates.h @@ -105,9 +105,18 @@ public: /** * Returns string representation of a given interval. * + * @param interval The interval. * @return pointer to localized string of given interval. */ static const char *updateIntervalToString(int interval); + + /** + * Rounds up the given interval to acceptable value. + * + * @param interval The interval. + * @return rounded up interval + */ + static int normalizeInterval(int interval); }; } // End of namespace Common -- cgit v1.2.3