]> git.saurik.com Git - cydia.git/commitdiff
Trial move some key global variables into CyteKit.
authorJay Freeman (saurik) <saurik@saurik.com>
Sat, 4 Mar 2017 03:06:54 +0000 (19:06 -0800)
committerJay Freeman (saurik) <saurik@saurik.com>
Sat, 4 Mar 2017 03:06:54 +0000 (19:06 -0800)
CyteKit/CyteKit.h
CyteKit/extern.h [new file with mode: 0644]
CyteKit/extern.mm [new file with mode: 0644]
MobileCydia.mm

index 3edcc889aeafe7b245813aea027a1c5602903ba0..6dd04791449a35bf80872c51d2181572b992fc0f 100644 (file)
@@ -32,6 +32,7 @@
 #include "CyteKit/WebViewTableViewCell.h"
 
 #include "CyteKit/countByEnumeratingWithState.h"
+#include "CyteKit/extern.h"
 #include "CyteKit/stringWithUTF8Bytes.h"
 #include "CyteKit/webScriptObjectInContext.h"
 
diff --git a/CyteKit/extern.h b/CyteKit/extern.h
new file mode 100644 (file)
index 0000000..c7bc270
--- /dev/null
@@ -0,0 +1,30 @@
+/* Cydia - iPhone UIKit Front-End for Debian APT
+ * Copyright (C) 2008-2015  Jay Freeman (saurik)
+*/
+
+/* GNU General Public License, Version 3 {{{ */
+/*
+ * Cydia 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 3 of the License,
+ * or (at your option) any later version.
+ *
+ * Cydia 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 Cydia.  If not, see <http://www.gnu.org/licenses/>.
+**/
+/* }}} */
+
+#ifndef CyteKit_extern_H
+#define CyteKit_extern_H
+
+#include <CoreGraphics/CoreGraphics.h>
+
+extern bool IsWildcat_;
+extern CGFloat ScreenScale_;
+
+#endif//CyteKit_extern_H
diff --git a/CyteKit/extern.mm b/CyteKit/extern.mm
new file mode 100644 (file)
index 0000000..c1dc806
--- /dev/null
@@ -0,0 +1,42 @@
+/* Cydia - iPhone UIKit Front-End for Debian APT
+ * Copyright (C) 2008-2015  Jay Freeman (saurik)
+*/
+
+/* GNU General Public License, Version 3 {{{ */
+/*
+ * Cydia 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 3 of the License,
+ * or (at your option) any later version.
+ *
+ * Cydia 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 Cydia.  If not, see <http://www.gnu.org/licenses/>.
+**/
+/* }}} */
+
+#include <CyteKit/extern.h>
+#include <UIKit/UIKit.h>
+
+bool IsWildcat_;
+CGFloat ScreenScale_;
+
+__attribute__((__constructor__))
+void CyteKit_extern() {
+    UIScreen *screen([UIScreen mainScreen]);
+    if ([screen respondsToSelector:@selector(scale)])
+        ScreenScale_ = [screen scale];
+    else
+        ScreenScale_ = 1;
+
+    UIDevice *device([UIDevice currentDevice]);
+    if ([device respondsToSelector:@selector(userInterfaceIdiom)]) {
+        UIUserInterfaceIdiom idiom([device userInterfaceIdiom]);
+        if (idiom == UIUserInterfaceIdiomPad)
+            IsWildcat_ = true;
+    }
+}
index a16f1940e8d79f18dd4dc669b8826a45bcdd7c67..d6ef9c9c350eddb848588d5423c9d333131e9c8b 100644 (file)
@@ -735,8 +735,6 @@ _H<NSMutableDictionary> Sources_;
 static _transient NSNumber *Version_;
 static time_t now_;
 
-bool IsWildcat_;
-CGFloat ScreenScale_;
 static NSString *Idiom_;
 static _H<NSString> Firmware_;
 static NSString *Major_;
@@ -9979,25 +9977,14 @@ int main(int argc, char *argv[]) {
 
     UpdateExternalStatus(0);
 
-    UIScreen *screen([UIScreen mainScreen]);
-    if ([screen respondsToSelector:@selector(scale)])
-        ScreenScale_ = [screen scale];
-    else
-        ScreenScale_ = 1;
-
-    UIDevice *device([UIDevice currentDevice]);
-    if ([device respondsToSelector:@selector(userInterfaceIdiom)]) {
-        UIUserInterfaceIdiom idiom([device userInterfaceIdiom]);
-        if (idiom == UIUserInterfaceIdiomPad)
-            IsWildcat_ = true;
-    }
-
     Idiom_ = IsWildcat_ ? @"ipad" : @"iphone";
 
     RegEx pattern("([0-9]+\\.[0-9]+).*");
 
+    UIDevice *device([UIDevice currentDevice]);
     if (pattern([device systemVersion]))
         Firmware_ = pattern[1];
+
     if (pattern(Cydia_))
         Major_ = pattern[1];