[Scummvm-git-logs] scummvm master -> 468c0f07431d3fb423ba697dcf906d9fbc149780

criezy criezy at scummvm.org
Sun Aug 4 20:04:06 CEST 2019


This automated email contains information about 5 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
0ddcb9de7b IOS7: Implement copy to clipboard and paste from clipboard
c505a7b4bb IOS7: Implement opening a URL
160070347f IOS7: Move non-video related functions to a separate file
cd7bf2b09f IOS7: Implement getSystemLanguage
468c0f0743 IOS7: Implement isConnectionLimited


Commit: 0ddcb9de7bd72ca2db82d12c1d9d56493169766b
    https://github.com/scummvm/scummvm/commit/0ddcb9de7bd72ca2db82d12c1d9d56493169766b
Author: Thierry Crozat (criezy at scummvm.org)
Date: 2019-08-04T19:03:34+01:00

Commit Message:
IOS7: Implement copy to clipboard and paste from clipboard

Changed paths:
    backends/platform/ios7/ios7_osys_main.cpp
    backends/platform/ios7/ios7_osys_main.h
    backends/platform/ios7/ios7_osys_video.mm


diff --git a/backends/platform/ios7/ios7_osys_main.cpp b/backends/platform/ios7/ios7_osys_main.cpp
index 9b740ca..6f69e20 100644
--- a/backends/platform/ios7/ios7_osys_main.cpp
+++ b/backends/platform/ios7/ios7_osys_main.cpp
@@ -172,6 +172,7 @@ bool OSystem_iOS7::hasFeature(Feature f) {
 	case kFeatureCursorPalette:
 	case kFeatureFilteringMode:
 	case kFeatureVirtualKeyboard:
+	case kFeatureClipboardSupport:
 		return true;
 
 	default:
diff --git a/backends/platform/ios7/ios7_osys_main.h b/backends/platform/ios7/ios7_osys_main.h
index ca98991..6555125 100644
--- a/backends/platform/ios7/ios7_osys_main.h
+++ b/backends/platform/ios7/ios7_osys_main.h
@@ -206,6 +206,10 @@ public:
 	virtual void logMessage(LogMessageType::Type type, const char *message);
 	virtual void fatalError() override;
 
+	virtual bool hasTextInClipboard();
+	virtual Common::String getTextFromClipboard();
+	virtual bool setTextInClipboard(const Common::String &text);
+
 protected:
 	void initVideoContext();
 	void updateOutputSurface();
diff --git a/backends/platform/ios7/ios7_osys_video.mm b/backends/platform/ios7/ios7_osys_video.mm
index 20cf687..05093e5 100644
--- a/backends/platform/ios7/ios7_osys_video.mm
+++ b/backends/platform/ios7/ios7_osys_video.mm
@@ -28,6 +28,7 @@
 
 #include "graphics/conversion.h"
 #include "backends/platform/ios7/ios7_app_delegate.h"
+#include "common/translation.h"
 
 @interface iOS7AlertHandler : NSObject<UIAlertViewDelegate>
 @end
@@ -603,3 +604,41 @@ void OSystem_iOS7::setShowKeyboard(bool show) {
 bool OSystem_iOS7::isKeyboardShown() const {
 	return [[iOS7AppDelegate iPhoneView] isKeyboardShown];
 }
+
+
+bool OSystem_iOS7::hasTextInClipboard() {
+	return [[UIPasteboard generalPasteboard] containsPasteboardTypes:UIPasteboardTypeListString];
+}
+
+Common::String OSystem_iOS7::getTextFromClipboard() {
+	if (!hasTextInClipboard())
+		return Common::String();
+
+	UIPasteboard *pb = [UIPasteboard generalPasteboard];
+	NSString *str = pb.string;
+	if (str == nil)
+		return Common::String();
+
+	// If translations are supported, use the current TranslationManager charset and otherwise
+	// use ASCII. If the string cannot be represented using the requested encoding we get a null
+	// pointer below, which is fine as ScummVM would not know what to do with the string anyway.
+#ifdef USE_TRANSLATION
+	NSString* encStr = [NSString stringWithCString:TransMan.getCurrentCharset().c_str() encoding:NSASCIIStringEncoding];
+	NSStringEncoding encoding = CFStringConvertEncodingToNSStringEncoding(CFStringConvertIANACharSetNameToEncoding((CFStringRef)encStr));
+#else
+	NSStringEncoding encoding = NSISOLatin1StringEncoding;
+#endif
+	return Common::String([str cStringUsingEncoding:encoding]);
+}
+
+bool OSystem_iOS7::setTextInClipboard(const Common::String &text) {
+#ifdef USE_TRANSLATION
+	NSString* encStr = [NSString stringWithCString:TransMan.getCurrentCharset().c_str() encoding:NSASCIIStringEncoding];
+	NSStringEncoding encoding = CFStringConvertEncodingToNSStringEncoding(CFStringConvertIANACharSetNameToEncoding((CFStringRef)encStr));
+#else
+	NSStringEncoding encoding = NSISOLatin1StringEncoding;
+#endif
+	UIPasteboard *pb = [UIPasteboard generalPasteboard];
+	[pb setString:[NSString stringWithCString:text.c_str() encoding:encoding]];
+	return true;
+}


Commit: c505a7b4bb14c532a2f343fd27032bd97ad716b7
    https://github.com/scummvm/scummvm/commit/c505a7b4bb14c532a2f343fd27032bd97ad716b7
Author: Thierry Crozat (criezy at scummvm.org)
Date: 2019-08-04T19:03:34+01:00

Commit Message:
IOS7: Implement opening a URL

Changed paths:
    backends/platform/ios7/ios7_osys_main.cpp
    backends/platform/ios7/ios7_osys_main.h
    backends/platform/ios7/ios7_osys_video.mm


diff --git a/backends/platform/ios7/ios7_osys_main.cpp b/backends/platform/ios7/ios7_osys_main.cpp
index 6f69e20..07af311 100644
--- a/backends/platform/ios7/ios7_osys_main.cpp
+++ b/backends/platform/ios7/ios7_osys_main.cpp
@@ -173,6 +173,7 @@ bool OSystem_iOS7::hasFeature(Feature f) {
 	case kFeatureFilteringMode:
 	case kFeatureVirtualKeyboard:
 	case kFeatureClipboardSupport:
+	case kFeatureOpenUrl:
 		return true;
 
 	default:
diff --git a/backends/platform/ios7/ios7_osys_main.h b/backends/platform/ios7/ios7_osys_main.h
index 6555125..4fb3049 100644
--- a/backends/platform/ios7/ios7_osys_main.h
+++ b/backends/platform/ios7/ios7_osys_main.h
@@ -210,6 +210,8 @@ public:
 	virtual Common::String getTextFromClipboard();
 	virtual bool setTextInClipboard(const Common::String &text);
 
+	virtual bool openUrl(const Common::String &url);
+
 protected:
 	void initVideoContext();
 	void updateOutputSurface();
diff --git a/backends/platform/ios7/ios7_osys_video.mm b/backends/platform/ios7/ios7_osys_video.mm
index 05093e5..f0a7db6 100644
--- a/backends/platform/ios7/ios7_osys_video.mm
+++ b/backends/platform/ios7/ios7_osys_video.mm
@@ -642,3 +642,16 @@ bool OSystem_iOS7::setTextInClipboard(const Common::String &text) {
 	[pb setString:[NSString stringWithCString:text.c_str() encoding:encoding]];
 	return true;
 }
+
+bool OSystem_iOS7::openUrl(const Common::String &url) {
+	UIApplication *application = [UIApplication sharedApplication];
+	NSURL *nsurl = [NSURL URLWithString:[NSString stringWithCString:url.c_str() encoding:NSISOLatin1StringEncoding]];
+	// The way to oipen a URL has changed in iOS 10. Check if the iOS 10 method is recognized
+	// and otherwise use the old method.
+	if ([application respondsToSelector:@selector(openURL:options:completionHandler:)]) {
+		[application openURL:nsurl options:@{} completionHandler:nil];
+		return true;
+	} else {
+		return [application openURL:nsurl];
+	}
+}


Commit: 160070347f1ae2b3b15390a8f9e9273fcb0d4419
    https://github.com/scummvm/scummvm/commit/160070347f1ae2b3b15390a8f9e9273fcb0d4419
Author: Thierry Crozat (criezy at scummvm.org)
Date: 2019-08-04T19:03:34+01:00

Commit Message:
IOS7: Move non-video related functions to a separate file

Changed paths:
  A backends/platform/ios7/ios7_osys_misc.mm
    backends/platform/ios7/ios7_osys_video.mm
    backends/platform/ios7/module.mk


diff --git a/backends/platform/ios7/ios7_osys_misc.mm b/backends/platform/ios7/ios7_osys_misc.mm
new file mode 100644
index 0000000..8641094
--- /dev/null
+++ b/backends/platform/ios7/ios7_osys_misc.mm
@@ -0,0 +1,79 @@
+/* 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.
+ *
+ */
+
+// Disable symbol overrides so that we can use system headers.
+#define FORBIDDEN_SYMBOL_ALLOW_ALL
+
+#include "backends/platform/ios7/ios7_osys_main.h"
+
+#include <UIKit/UIKit.h>
+#include "common/translation.h"
+
+bool OSystem_iOS7::hasTextInClipboard() {
+	return [[UIPasteboard generalPasteboard] containsPasteboardTypes:UIPasteboardTypeListString];
+}
+
+Common::String OSystem_iOS7::getTextFromClipboard() {
+	if (!hasTextInClipboard())
+		return Common::String();
+
+	UIPasteboard *pb = [UIPasteboard generalPasteboard];
+	NSString *str = pb.string;
+	if (str == nil)
+		return Common::String();
+
+	// If translations are supported, use the current TranslationManager charset and otherwise
+	// use ASCII. If the string cannot be represented using the requested encoding we get a null
+	// pointer below, which is fine as ScummVM would not know what to do with the string anyway.
+#ifdef USE_TRANSLATION
+	NSString* encStr = [NSString stringWithCString:TransMan.getCurrentCharset().c_str() encoding:NSASCIIStringEncoding];
+	NSStringEncoding encoding = CFStringConvertEncodingToNSStringEncoding(CFStringConvertIANACharSetNameToEncoding((CFStringRef)encStr));
+#else
+	NSStringEncoding encoding = NSISOLatin1StringEncoding;
+#endif
+	return Common::String([str cStringUsingEncoding:encoding]);
+}
+
+bool OSystem_iOS7::setTextInClipboard(const Common::String &text) {
+#ifdef USE_TRANSLATION
+	NSString* encStr = [NSString stringWithCString:TransMan.getCurrentCharset().c_str() encoding:NSASCIIStringEncoding];
+	NSStringEncoding encoding = CFStringConvertEncodingToNSStringEncoding(CFStringConvertIANACharSetNameToEncoding((CFStringRef)encStr));
+#else
+	NSStringEncoding encoding = NSISOLatin1StringEncoding;
+#endif
+	UIPasteboard *pb = [UIPasteboard generalPasteboard];
+	[pb setString:[NSString stringWithCString:text.c_str() encoding:encoding]];
+	return true;
+}
+
+bool OSystem_iOS7::openUrl(const Common::String &url) {
+	UIApplication *application = [UIApplication sharedApplication];
+	NSURL *nsurl = [NSURL URLWithString:[NSString stringWithCString:url.c_str() encoding:NSISOLatin1StringEncoding]];
+	// The way to oipen a URL has changed in iOS 10. Check if the iOS 10 method is recognized
+	// and otherwise use the old method.
+	if ([application respondsToSelector:@selector(openURL:options:completionHandler:)]) {
+		[application openURL:nsurl options:@{} completionHandler:nil];
+		return true;
+	} else {
+		return [application openURL:nsurl];
+	}
+}
diff --git a/backends/platform/ios7/ios7_osys_video.mm b/backends/platform/ios7/ios7_osys_video.mm
index f0a7db6..20cf687 100644
--- a/backends/platform/ios7/ios7_osys_video.mm
+++ b/backends/platform/ios7/ios7_osys_video.mm
@@ -28,7 +28,6 @@
 
 #include "graphics/conversion.h"
 #include "backends/platform/ios7/ios7_app_delegate.h"
-#include "common/translation.h"
 
 @interface iOS7AlertHandler : NSObject<UIAlertViewDelegate>
 @end
@@ -604,54 +603,3 @@ void OSystem_iOS7::setShowKeyboard(bool show) {
 bool OSystem_iOS7::isKeyboardShown() const {
 	return [[iOS7AppDelegate iPhoneView] isKeyboardShown];
 }
-
-
-bool OSystem_iOS7::hasTextInClipboard() {
-	return [[UIPasteboard generalPasteboard] containsPasteboardTypes:UIPasteboardTypeListString];
-}
-
-Common::String OSystem_iOS7::getTextFromClipboard() {
-	if (!hasTextInClipboard())
-		return Common::String();
-
-	UIPasteboard *pb = [UIPasteboard generalPasteboard];
-	NSString *str = pb.string;
-	if (str == nil)
-		return Common::String();
-
-	// If translations are supported, use the current TranslationManager charset and otherwise
-	// use ASCII. If the string cannot be represented using the requested encoding we get a null
-	// pointer below, which is fine as ScummVM would not know what to do with the string anyway.
-#ifdef USE_TRANSLATION
-	NSString* encStr = [NSString stringWithCString:TransMan.getCurrentCharset().c_str() encoding:NSASCIIStringEncoding];
-	NSStringEncoding encoding = CFStringConvertEncodingToNSStringEncoding(CFStringConvertIANACharSetNameToEncoding((CFStringRef)encStr));
-#else
-	NSStringEncoding encoding = NSISOLatin1StringEncoding;
-#endif
-	return Common::String([str cStringUsingEncoding:encoding]);
-}
-
-bool OSystem_iOS7::setTextInClipboard(const Common::String &text) {
-#ifdef USE_TRANSLATION
-	NSString* encStr = [NSString stringWithCString:TransMan.getCurrentCharset().c_str() encoding:NSASCIIStringEncoding];
-	NSStringEncoding encoding = CFStringConvertEncodingToNSStringEncoding(CFStringConvertIANACharSetNameToEncoding((CFStringRef)encStr));
-#else
-	NSStringEncoding encoding = NSISOLatin1StringEncoding;
-#endif
-	UIPasteboard *pb = [UIPasteboard generalPasteboard];
-	[pb setString:[NSString stringWithCString:text.c_str() encoding:encoding]];
-	return true;
-}
-
-bool OSystem_iOS7::openUrl(const Common::String &url) {
-	UIApplication *application = [UIApplication sharedApplication];
-	NSURL *nsurl = [NSURL URLWithString:[NSString stringWithCString:url.c_str() encoding:NSISOLatin1StringEncoding]];
-	// The way to oipen a URL has changed in iOS 10. Check if the iOS 10 method is recognized
-	// and otherwise use the old method.
-	if ([application respondsToSelector:@selector(openURL:options:completionHandler:)]) {
-		[application openURL:nsurl options:@{} completionHandler:nil];
-		return true;
-	} else {
-		return [application openURL:nsurl];
-	}
-}
diff --git a/backends/platform/ios7/module.mk b/backends/platform/ios7/module.mk
index ad4f7fd..4b821fe 100644
--- a/backends/platform/ios7/module.mk
+++ b/backends/platform/ios7/module.mk
@@ -5,6 +5,7 @@ MODULE_OBJS := \
 	ios7_osys_events.o \
 	ios7_osys_sound.o \
 	ios7_osys_video.o \
+	ios7_osys_misc.o \
 	ios7_main.o \
 	ios7_video.o \
 	ios7_keyboard.o \


Commit: cd7bf2b09f684ee80fa7b7e46ea0475925488a96
    https://github.com/scummvm/scummvm/commit/cd7bf2b09f684ee80fa7b7e46ea0475925488a96
Author: Thierry Crozat (criezy at scummvm.org)
Date: 2019-08-04T19:03:34+01:00

Commit Message:
IOS7: Implement getSystemLanguage

Changed paths:
    backends/platform/ios7/ios7_osys_main.h
    backends/platform/ios7/ios7_osys_misc.mm


diff --git a/backends/platform/ios7/ios7_osys_main.h b/backends/platform/ios7/ios7_osys_main.h
index 4fb3049..aa67a55 100644
--- a/backends/platform/ios7/ios7_osys_main.h
+++ b/backends/platform/ios7/ios7_osys_main.h
@@ -212,6 +212,8 @@ public:
 
 	virtual bool openUrl(const Common::String &url);
 
+	virtual Common::String getSystemLanguage() const;
+
 protected:
 	void initVideoContext();
 	void updateOutputSurface();
diff --git a/backends/platform/ios7/ios7_osys_misc.mm b/backends/platform/ios7/ios7_osys_misc.mm
index 8641094..53f11ab 100644
--- a/backends/platform/ios7/ios7_osys_misc.mm
+++ b/backends/platform/ios7/ios7_osys_misc.mm
@@ -28,6 +28,13 @@
 #include <UIKit/UIKit.h>
 #include "common/translation.h"
 
+Common::String OSystem_iOS7::getSystemLanguage() const {
+	NSString *locale = [[NSLocale currentLocale] localeIdentifier];
+	if (locale == nil)
+		return Common::String();
+	return Common::String([locale cStringUsingEncoding:NSISOLatin1StringEncoding]);
+}
+
 bool OSystem_iOS7::hasTextInClipboard() {
 	return [[UIPasteboard generalPasteboard] containsPasteboardTypes:UIPasteboardTypeListString];
 }


Commit: 468c0f07431d3fb423ba697dcf906d9fbc149780
    https://github.com/scummvm/scummvm/commit/468c0f07431d3fb423ba697dcf906d9fbc149780
Author: Thierry Crozat (criezy at scummvm.org)
Date: 2019-08-04T19:03:34+01:00

Commit Message:
IOS7: Implement isConnectionLimited

Changed paths:
    backends/platform/ios7/ios7_osys_main.h
    backends/platform/ios7/ios7_osys_misc.mm
    configure
    devtools/create_project/xcode.cpp
    ports.mk


diff --git a/backends/platform/ios7/ios7_osys_main.h b/backends/platform/ios7/ios7_osys_main.h
index aa67a55..994a67d 100644
--- a/backends/platform/ios7/ios7_osys_main.h
+++ b/backends/platform/ios7/ios7_osys_main.h
@@ -214,6 +214,8 @@ public:
 
 	virtual Common::String getSystemLanguage() const;
 
+	virtual bool isConnectionLimited();
+
 protected:
 	void initVideoContext();
 	void updateOutputSurface();
diff --git a/backends/platform/ios7/ios7_osys_misc.mm b/backends/platform/ios7/ios7_osys_misc.mm
index 53f11ab..d7743f8 100644
--- a/backends/platform/ios7/ios7_osys_misc.mm
+++ b/backends/platform/ios7/ios7_osys_misc.mm
@@ -26,6 +26,7 @@
 #include "backends/platform/ios7/ios7_osys_main.h"
 
 #include <UIKit/UIKit.h>
+#include <SystemConfiguration/SCNetworkReachability.h>
 #include "common/translation.h"
 
 Common::String OSystem_iOS7::getSystemLanguage() const {
@@ -84,3 +85,14 @@ bool OSystem_iOS7::openUrl(const Common::String &url) {
 		return [application openURL:nsurl];
 	}
 }
+
+bool OSystem_iOS7::isConnectionLimited() {
+	// If we are connected to the internet through a cellular network, return true
+	SCNetworkReachabilityRef ref = SCNetworkReachabilityCreateWithName(CFAllocatorGetDefault(), [@"www.google.com" UTF8String]);
+	if (!ref)
+		return false;
+	SCNetworkReachabilityFlags flags = 0;
+	SCNetworkReachabilityGetFlags(ref, &flags);
+	CFRelease(ref);
+	return (flags & kSCNetworkReachabilityFlagsIsWWAN);
+}
diff --git a/configure b/configure
index e099861..958b4ad 100755
--- a/configure
+++ b/configure
@@ -3553,7 +3553,7 @@ case $_backend in
 	ios7)
 		append_var LIBS "-lobjc -framework UIKit -framework CoreGraphics -framework OpenGLES"
 		append_var LIBS "-framework QuartzCore -framework CoreFoundation -framework Foundation"
-		append_var LIBS "-framework AudioToolbox -framework CoreAudio"
+		append_var LIBS "-framework AudioToolbox -framework CoreAudio -framework SystemConfiguration "
 		append_var LDFLAGS "-miphoneos-version-min=7.1 -arch armv7"
 		append_var CFLAGS "-miphoneos-version-min=7.1 -arch armv7"
 		append_var CXXFLAGS "-miphoneos-version-min=7.1 -arch armv7"
diff --git a/devtools/create_project/xcode.cpp b/devtools/create_project/xcode.cpp
index 586eaa3..81678ae 100644
--- a/devtools/create_project/xcode.cpp
+++ b/devtools/create_project/xcode.cpp
@@ -445,6 +445,7 @@ void XcodeProvider::setupFrameworksBuildPhase(const BuildSetup &setup) {
 	DEF_SYSFRAMEWORK("OpenGLES");
 	DEF_SYSFRAMEWORK("QuartzCore");
 	DEF_SYSFRAMEWORK("UIKit");
+	DEF_SYSFRAMEWORK("SystemConfiguration");
 	DEF_SYSTBD("libiconv");
 
 	// Local libraries
@@ -524,6 +525,7 @@ void XcodeProvider::setupFrameworksBuildPhase(const BuildSetup &setup) {
 	frameworks_iOS.push_back("CoreFoundation.framework");
 	frameworks_iOS.push_back("Foundation.framework");
 	frameworks_iOS.push_back("UIKit.framework");
+	frameworks_iOS.push_back("SystemConfiguration.framework");
 	frameworks_iOS.push_back("AudioToolbox.framework");
 	frameworks_iOS.push_back("QuartzCore.framework");
 	frameworks_iOS.push_back("OpenGLES.framework");
diff --git a/ports.mk b/ports.mk
index 3ec042f..b10ecce 100644
--- a/ports.mk
+++ b/ports.mk
@@ -402,7 +402,7 @@ iphone: $(OBJS)
 		$(OSX_STATIC_LIBS) \
 		-framework UIKit -framework CoreGraphics -framework OpenGLES \
 		-framework CoreFoundation -framework QuartzCore -framework Foundation \
-		-framework AudioToolbox -framework CoreAudio -lobjc -lz
+		-framework AudioToolbox -framework CoreAudio -framework SystemConfiguration -lobjc -lz
 
 # Special target to create a snapshot disk image for Mac OS X
 # TODO: Replace AUTHORS by Credits.rtf





More information about the Scummvm-git-logs mailing list