From 7e7e6069193fead17d0865d252400b6826805ffc Mon Sep 17 00:00:00 2001 From: Oystein Eftevaag Date: Tue, 2 Aug 2011 21:00:57 -0400 Subject: MACOSX: Turned update support off by default, simplified and cleaned the pull request --- backends/module.mk | 3 +- backends/platform/sdl/macosx/macosx.cpp | 2 +- backends/updates/macosx/macosx-updates.h | 6 ++-- backends/updates/macosx/macosx-updates.mm | 34 +++++++++++----------- backends/updates/sparkle-updates.cpp | 45 ----------------------------- backends/updates/sparkle-updates.h | 48 ------------------------------- 6 files changed, 22 insertions(+), 116 deletions(-) delete mode 100644 backends/updates/sparkle-updates.cpp delete mode 100644 backends/updates/sparkle-updates.h (limited to 'backends') diff --git a/backends/module.mk b/backends/module.mk index d8b423a67a..0e944262f5 100644 --- a/backends/module.mk +++ b/backends/module.mk @@ -15,8 +15,7 @@ MODULE_OBJS := \ midi/timidity.o \ saves/savefile.o \ saves/default/default-saves.o \ - timer/default/default-timer.o \ - updates/sparkle-updates.o + timer/default/default-timer.o ifdef USE_ELF_LOADER diff --git a/backends/platform/sdl/macosx/macosx.cpp b/backends/platform/sdl/macosx/macosx.cpp index 39fd4237ec..d9de4e5e33 100644 --- a/backends/platform/sdl/macosx/macosx.cpp +++ b/backends/platform/sdl/macosx/macosx.cpp @@ -64,7 +64,7 @@ void OSystem_MacOSX::initBackend() { // Replace the SDL generated menu items with our own translated ones on Mac OS X replaceApplicationMenuItems(); -#if defined(USE_SPARKLE) +#ifdef USE_SPARKLE // Initialize updates manager _updateManager = new MacOSXUpdateManager(); #endif diff --git a/backends/updates/macosx/macosx-updates.h b/backends/updates/macosx/macosx-updates.h index 1fe0e4bb75..8c9ac1f743 100644 --- a/backends/updates/macosx/macosx-updates.h +++ b/backends/updates/macosx/macosx-updates.h @@ -23,11 +23,13 @@ #ifndef BACKENDS_UPDATES_MACOSX_H #define BACKENDS_UPDATES_MACOSX_H -#include "backends/updates/sparkle-updates.h" +#include "common/scummsys.h" #if defined(MACOSX) && defined(USE_SPARKLE) -class MacOSXUpdateManager : public SparkleUpdateManager { +#include "common/updates.h" + +class MacOSXUpdateManager : public Common::UpdateManager { public: MacOSXUpdateManager(); virtual ~MacOSXUpdateManager(); diff --git a/backends/updates/macosx/macosx-updates.mm b/backends/updates/macosx/macosx-updates.mm index f3675f9bd2..741e89891c 100644 --- a/backends/updates/macosx/macosx-updates.mm +++ b/backends/updates/macosx/macosx-updates.mm @@ -23,11 +23,9 @@ // Disable symbol overrides so that we can use system headers. #define FORBIDDEN_SYMBOL_ALLOW_ALL -#include "backends/updates/sparkle-updates.h" - -#if defined(MACOSX) && defined(USE_SPARKLE) - #include "backends/updates/macosx/macosx-updates.h" + +#ifdef USE_SPARKLE #include "common/translation.h" #include @@ -53,8 +51,12 @@ MacOSXUpdateManager::MacOSXUpdateManager() { // Init Sparkle sparkleUpdater = [SUUpdater sharedUpdater]; + NSBundle* mainBundle = [NSBundle mainBundle]; + + NSString* feedbackURL = [mainBundle objectForInfoDictionaryKey:@"SUFeedURL"]; + // Set appcast URL - [sparkleUpdater setFeedURL:[NSURL URLWithString:[NSString stringWithCString:getAppcastUrl().c_str()]]]; + [sparkleUpdater setFeedURL:[NSURL URLWithString:feedbackURL]]; // Get current encoding NSStringEncoding stringEncoding = CFStringConvertEncodingToNSStringEncoding(CFStringConvertIANACharSetNameToEncoding((CFStringRef)[NSString stringWithCString:(TransMan.getCurrentCharset()).c_str() encoding:NSASCIIStringEncoding])); @@ -108,22 +110,18 @@ Common::UpdateManager::UpdateInterval MacOSXUpdateManager::getUpdateCheckInterva // This is kind of a hack but necessary, as the value stored by Sparkle // might have been changed outside of ScummVM (in which case we return the // default interval of one day) - switch ((UpdateInterval)[sparkleUpdater updateCheckInterval]) { - default: - break; - - case kUpdateIntervalOneDay: - return kUpdateIntervalOneDay; - case kUpdateIntervalOneWeek: - return kUpdateIntervalOneWeek; + UpdateInterval updateInterval = (UpdateInterval)[sparkleUpdater updateCheckInterval]; + switch (updateInterval) { + case kUpdateIntervalOneDay: + case kUpdateIntervalOneWeek: + case kUpdateIntervalOneMonth: + return updateInterval; - case kUpdateIntervalOneMonth: - return kUpdateIntervalOneMonth; + default: + // Return the default value (one day) + return kUpdateIntervalOneDay; } - - // Return the default value (one day) - return kUpdateIntervalOneDay; } #endif diff --git a/backends/updates/sparkle-updates.cpp b/backends/updates/sparkle-updates.cpp deleted file mode 100644 index f146237a98..0000000000 --- a/backends/updates/sparkle-updates.cpp +++ /dev/null @@ -1,45 +0,0 @@ -/* 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 "backends/updates/sparkle-updates.h" - -#if defined(USE_SPARKLE) - -// TODO replace by proper URL -#if defined(MACOSX) - #define APPCAST_BASE_URL "http://www.scummvm.org/appcasts/macosx/" -#elif defined(WIN32) - #define APPCAST_BASE_URL "http://www.scummvm.org/appcasts/win32/" -#else - #error "Please define APPCAST_BASE_URL for your platform!" -#endif - - -Common::String SparkleUpdateManager::getAppcastUrl() { -#ifdef RELEASE_BUILD - return APPCAST_BASE_URL "release.xml"; -#else - return APPCAST_BASE_URL "beta.xml"; -#endif -} - -#endif diff --git a/backends/updates/sparkle-updates.h b/backends/updates/sparkle-updates.h deleted file mode 100644 index 26f170db2e..0000000000 --- a/backends/updates/sparkle-updates.h +++ /dev/null @@ -1,48 +0,0 @@ -/* 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. - * - */ - -#ifndef BACKENDS_UPDATES_SPARKLE_UPDATE_H -#define BACKENDS_UPDATES_SPARKLE_UPDATE_H - -#include "common/scummsys.h" -#include "common/str.h" -#include "common/updates.h" - -#if defined(USE_SPARKLE) - -class SparkleUpdateManager : public Common::UpdateManager { -public: - /** - * Gets the appcast url. - * - * Beta/RC versions and releases might have a different appcast url. - * This function takes care of checking which version of ScummVM is running - * and return the url to the proper appcast. - * - * @return the appcast url. - */ - Common::String getAppcastUrl(); -}; - -#endif - -#endif // BACKENDS_UPDATES_SPARKLE_UPDATE_H -- cgit v1.2.3