Permalink
Browse files

initial commit

  • Loading branch information...
FireCore, LLC
FireCore, LLC committed Jan 11, 2011
0 parents commit 6665362affbd66d1349a763bd0327309a10d9011
Showing with 226,290 additions and 0 deletions.
  1. +19 −0 Credits.rtf
  2. +2 −0 English.lproj/InfoPlist.strings
  3. BIN English.lproj/Localizable.strings
  4. +5,155 −0 English.lproj/MainMenu.xib
  5. +17 −0 FWManager.h
  6. +14 −0 FWManager.m
  7. +24 −0 PatchedFile.h
  8. +36 −0 PatchedFile.m
  9. +25 −0 README
  10. BIN Seas0nPass.icns
  11. +1 −0 Sparkle.framework/Headers
  12. +1 −0 Sparkle.framework/Resources
  13. +1 −0 Sparkle.framework/Sparkle
  14. +33 −0 Sparkle.framework/Versions/A/Headers/SUAppcast.h
  15. +47 −0 Sparkle.framework/Versions/A/Headers/SUAppcastItem.h
  16. +118 −0 Sparkle.framework/Versions/A/Headers/SUUpdater.h
  17. +27 −0 Sparkle.framework/Versions/A/Headers/SUVersionComparisonProtocol.h
  18. +21 −0 Sparkle.framework/Versions/A/Headers/Sparkle.h
  19. +24 −0 Sparkle.framework/Versions/A/Resources/Info.plist
  20. +7 −0 Sparkle.framework/Versions/A/Resources/License.txt
  21. +174 −0 Sparkle.framework/Versions/A/Resources/SUModelTranslation.plist
  22. +56 −0 Sparkle.framework/Versions/A/Resources/SUStatus.nib/classes.nib
  23. +20 −0 Sparkle.framework/Versions/A/Resources/SUStatus.nib/info.nib
  24. BIN Sparkle.framework/Versions/A/Resources/SUStatus.nib/keyedobjects.nib
  25. +50 −0 Sparkle.framework/Versions/A/Resources/de.lproj/SUAutomaticUpdateAlert.nib/classes.nib
  26. +20 −0 Sparkle.framework/Versions/A/Resources/de.lproj/SUAutomaticUpdateAlert.nib/info.nib
  27. BIN Sparkle.framework/Versions/A/Resources/de.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib
  28. +67 −0 Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdateAlert.nib/classes.nib
  29. +20 −0 Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdateAlert.nib/info.nib
  30. BIN Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdateAlert.nib/keyedobjects.nib
  31. +59 −0 Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdatePermissionPrompt.nib/classes.nib
  32. +20 −0 Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdatePermissionPrompt.nib/info.nib
  33. BIN Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib
  34. BIN Sparkle.framework/Versions/A/Resources/de.lproj/Sparkle.strings
  35. +50 −0 Sparkle.framework/Versions/A/Resources/en.lproj/SUAutomaticUpdateAlert.nib/classes.nib
  36. +20 −0 Sparkle.framework/Versions/A/Resources/en.lproj/SUAutomaticUpdateAlert.nib/info.nib
  37. BIN Sparkle.framework/Versions/A/Resources/en.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib
  38. +67 −0 Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdateAlert.nib/classes.nib
  39. +20 −0 Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdateAlert.nib/info.nib
  40. BIN Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdateAlert.nib/keyedobjects.nib
  41. +59 −0 Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdatePermissionPrompt.nib/classes.nib
  42. +21 −0 Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdatePermissionPrompt.nib/info.nib
  43. BIN Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib
  44. BIN Sparkle.framework/Versions/A/Resources/en.lproj/Sparkle.strings
  45. +50 −0 Sparkle.framework/Versions/A/Resources/es.lproj/SUAutomaticUpdateAlert.nib/classes.nib
  46. +20 −0 Sparkle.framework/Versions/A/Resources/es.lproj/SUAutomaticUpdateAlert.nib/info.nib
  47. BIN Sparkle.framework/Versions/A/Resources/es.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib
  48. +67 −0 Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdateAlert.nib/classes.nib
  49. +20 −0 Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdateAlert.nib/info.nib
  50. BIN Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdateAlert.nib/keyedobjects.nib
  51. +59 −0 Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdatePermissionPrompt.nib/classes.nib
  52. +20 −0 Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdatePermissionPrompt.nib/info.nib
  53. BIN Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib
  54. BIN Sparkle.framework/Versions/A/Resources/es.lproj/Sparkle.strings
  55. +50 −0 Sparkle.framework/Versions/A/Resources/fr.lproj/SUAutomaticUpdateAlert.nib/classes.nib
  56. +16 −0 Sparkle.framework/Versions/A/Resources/fr.lproj/SUAutomaticUpdateAlert.nib/info.nib
  57. BIN Sparkle.framework/Versions/A/Resources/fr.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib
  58. +67 −0 Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdateAlert.nib/classes.nib
  59. +16 −0 Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdateAlert.nib/info.nib
  60. BIN Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdateAlert.nib/keyedobjects.nib
  61. +59 −0 Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdatePermissionPrompt.nib/classes.nib
  62. +16 −0 Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdatePermissionPrompt.nib/info.nib
  63. BIN Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib
  64. BIN Sparkle.framework/Versions/A/Resources/fr.lproj/Sparkle.strings
  65. +1 −0 Sparkle.framework/Versions/A/Resources/fr.lproj/fr.lproj
  66. +1 −0 Sparkle.framework/Versions/A/Resources/fr_CA.lproj
  67. +50 −0 Sparkle.framework/Versions/A/Resources/it.lproj/SUAutomaticUpdateAlert.nib/classes.nib
  68. +20 −0 Sparkle.framework/Versions/A/Resources/it.lproj/SUAutomaticUpdateAlert.nib/info.nib
  69. BIN Sparkle.framework/Versions/A/Resources/it.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib
  70. +67 −0 Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdateAlert.nib/classes.nib
  71. +20 −0 Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdateAlert.nib/info.nib
  72. BIN Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdateAlert.nib/keyedobjects.nib
  73. +59 −0 Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdatePermissionPrompt.nib/classes.nib
  74. +20 −0 Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdatePermissionPrompt.nib/info.nib
  75. BIN Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib
  76. BIN Sparkle.framework/Versions/A/Resources/it.lproj/Sparkle.strings
  77. +50 −0 Sparkle.framework/Versions/A/Resources/nl.lproj/SUAutomaticUpdateAlert.nib/classes.nib
  78. +18 −0 Sparkle.framework/Versions/A/Resources/nl.lproj/SUAutomaticUpdateAlert.nib/info.nib
  79. BIN Sparkle.framework/Versions/A/Resources/nl.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib
  80. +67 −0 Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdateAlert.nib/classes.nib
  81. +16 −0 Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdateAlert.nib/info.nib
  82. BIN Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdateAlert.nib/keyedobjects.nib
  83. +59 −0 Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdatePermissionPrompt.nib/classes.nib
  84. +16 −0 Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdatePermissionPrompt.nib/info.nib
  85. BIN Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib
  86. BIN Sparkle.framework/Versions/A/Resources/nl.lproj/Sparkle.strings
  87. BIN Sparkle.framework/Versions/A/Resources/relaunch
  88. +50 −0 Sparkle.framework/Versions/A/Resources/ru.lproj/SUAutomaticUpdateAlert.nib/classes.nib
  89. +20 −0 Sparkle.framework/Versions/A/Resources/ru.lproj/SUAutomaticUpdateAlert.nib/info.nib
  90. BIN Sparkle.framework/Versions/A/Resources/ru.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib
  91. +67 −0 Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdateAlert.nib/classes.nib
  92. +20 −0 Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdateAlert.nib/info.nib
  93. BIN Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdateAlert.nib/keyedobjects.nib
  94. +59 −0 Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdatePermissionPrompt.nib/classes.nib
  95. +18 −0 Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdatePermissionPrompt.nib/info.nib
  96. BIN Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib
  97. BIN Sparkle.framework/Versions/A/Resources/ru.lproj/Sparkle.strings
  98. +50 −0 Sparkle.framework/Versions/A/Resources/sv.lproj/SUAutomaticUpdateAlert.nib/classes.nib
  99. +20 −0 Sparkle.framework/Versions/A/Resources/sv.lproj/SUAutomaticUpdateAlert.nib/info.nib
  100. BIN Sparkle.framework/Versions/A/Resources/sv.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib
  101. +39 −0 Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdateAlert.nib/classes.nib
  102. +18 −0 Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdateAlert.nib/info.nib
  103. BIN Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdateAlert.nib/keyedobjects.nib
  104. +59 −0 Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdatePermissionPrompt.nib/classes.nib
  105. +20 −0 Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdatePermissionPrompt.nib/info.nib
  106. BIN Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib
  107. BIN Sparkle.framework/Versions/A/Resources/sv.lproj/Sparkle.strings
  108. BIN Sparkle.framework/Versions/A/Sparkle
  109. +1 −0 Sparkle.framework/Versions/Current
  110. BIN archives/Cydia.tgz
  111. BIN bin/lib/libpng12.0.dylib
  112. BIN bin/vfdecrypt
  113. BIN bin/xpwntool
  114. +87 −0 bundles/AppleTV2,1_4.2.1_8C154.bundle/Info.plist
  115. BIN bundles/AppleTV2,1_4.2.1_8C154.bundle/Services.patch
  116. BIN bundles/AppleTV2,1_4.2.1_8C154.bundle/asr.patch
  117. BIN bundles/AppleTV2,1_4.2.1_8C154.bundle/fstab.patch
  118. BIN bundles/AppleTV2,1_4.2.1_8C154.bundle/iBSS.k66ap.RELEASE.patch
  119. +87 −0 bundles/AppleTV2,1_4.2_8C150.bundle/Info.plist
  120. BIN bundles/AppleTV2,1_4.2_8C150.bundle/Services.patch
  121. BIN bundles/AppleTV2,1_4.2_8C150.bundle/asr.patch
  122. BIN bundles/AppleTV2,1_4.2_8C150.bundle/fstab.patch
  123. BIN bundles/AppleTV2,1_4.2_8C150.bundle/iBSS.k66ap.RELEASE.patch
  124. +179 −0 include/Win32/getopt.h
  125. +117 −0 include/Win32/inttypes.h
  126. 0 include/Win32/libgen.h
  127. +45 −0 include/Win32/stdbool.h
  128. +1 −0 include/Win32/unistd.h
  129. +69 −0 include/common.h
  130. +38 −0 include/exploits.h
  131. +254 −0 include/libirecovery.h
  132. +217 −0 include/libpartial.h
  133. +44 −0 include/libpois0n.h
  134. +99 −0 include/libusb-1.0/config.h
  135. +1,241 −0 include/libusb-1.0/libusb.h
  136. +810 −0 include/libusb-1.0/libusbi.h
  137. +161 −0 include/libusb-1.0/os/darwin_usb.h
  138. +138 −0 include/libusb-1.0/os/linux_usbfs.h
  139. +46 −0 include/payloads.h
  140. +8,690 −0 include/payloads/iBSS.k48ap.h
  141. +8,690 −0 include/payloads/iBSS.k66ap.h
  142. +8,676 −0 include/payloads/iBSS.n18ap.h
  143. +8,639 −0 include/payloads/iBSS.n72ap.h
  144. +8,690 −0 include/payloads/iBSS.n81ap.h
  145. +8,676 −0 include/payloads/iBSS.n88ap.h
  146. +8,690 −0 include/payloads/iBSS.n90ap.h
  147. +8,707 −0 include/payloads/iBoot.k48ap.h
  148. +8,708 −0 include/payloads/iBoot.k66ap.h
  149. +8,695 −0 include/payloads/iBoot.n18ap.h
  150. +8,639 −0 include/payloads/iBoot.n72ap.h
  151. +8,708 −0 include/payloads/iBoot.n81ap.h
  152. +8,694 −0 include/payloads/iBoot.n88ap.h
  153. +8,708 −0 include/payloads/iBoot.n90ap.h
  154. +87,572 −0 include/resources/ramdisk.h
  155. BIN ipsw.png
  156. BIN libsyringe.a
  157. BIN libusb-1.0.0.dylib
  158. BIN libz.1.2.5.dylib
  159. +14 −0 main.m
  160. +70 −0 nitoUtility.h
  161. +926 −0 nitoUtility.m
  162. +47 −0 pwnHelper.m
  163. +30 −0 pwnHelperClass.h
  164. +292 −0 pwnHelperClass.m
  165. BIN restore.png
  166. +39 −0 ripURL.h
  167. +161 −0 ripURL.m
  168. BIN success.png
  169. BIN tether.png
  170. +36 −0 tetherKit-Info.plist
  171. +785 −0 tetherKit.xcodeproj/kevinbradley.pbxuser
  172. +1,568 −0 tetherKit.xcodeproj/kevinbradley.perspectivev3
  173. +807 −0 tetherKit.xcodeproj/project.pbxproj
  174. +67 −0 tetherKitAppDelegate.h
  175. +965 −0 tetherKitAppDelegate.m
  176. +8 −0 tetherKit_Prefix.pch
  177. BIN tetheredRemote.png
@@ -0,0 +1,19 @@
+{\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350
+{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural
+
+\f0\b\fs24 \cf0 Engineering:
+\b0 \
+ Kevin Bradley\
+ Joshua Hill (libsyringe)\
+ planetbeing (xpwntool)\
+ George Hotz (limera1n exploit)\
+ \
+
+\b Human Interface Design:
+\b0 \
+ Kevin Bradley (layout)\
+ Louis Cohen (icon / image design)\
+\
+Special Thanks to James Abeler, (making this all possible), Joshua Hill, Scott Davilla and Thomas Cool for testing and linking/building troubleshooting.}
@@ -0,0 +1,2 @@
+/* Localized versions of Info.plist keys */
+
Binary file not shown.

Large diffs are not rendered by default.

Oops, something went wrong.
@@ -0,0 +1,17 @@
+//
+// FWManager.h
+// tetherKit
+//
+// Created by Kevin Bradley on 12/29/10.
+// Copyright 2011 Fire Core, LLC. All rights reserved.
+//
+
+#import <Cocoa/Cocoa.h>
+
+
+@interface FWManager : NSObject {
+
+}
+
+
+@end
@@ -0,0 +1,14 @@
+//
+// FWManager.m
+// tetherKit
+//
+// Created by Kevin Bradley on 12/29/10.
+// Copyright 2011 Fire Core, LLC. All rights reserved.
+//
+
+#import "FWManager.h"
+
+
+@implementation FWManager
+
+@end
@@ -0,0 +1,24 @@
+//
+// PatchedFile.h
+// tetherKit
+//
+// Created by Kevin Bradley on 12/30/10.
+// Copyright 2011 Fire Core, LLC. All rights reserved.
+//
+
+#import <Cocoa/Cocoa.h>
+
+
+@interface PatchedFile : NSDictionary {
+
+ NSString *originalFile;
+ NSString *patchFile;
+ NSString *md5;
+
+}
+
+@property (nonatomic, retain) NSString *originalFile;
+@property (nonatomic, retain) NSString *patchFile;
+@property (nonatomic, retain) NSString *md5;
+-(NSDictionary *)patchDictionary;
+@end
@@ -0,0 +1,36 @@
+//
+// PatchedFile.m
+// tetherKit
+//
+// Created by Kevin Bradley on 12/30/10.
+// Copyright 2011 Fire Core, LLC. All rights reserved.
+//
+
+#import "PatchedFile.h"
+
+
+
+@implementation PatchedFile
+
+@synthesize originalFile, patchFile, md5;
+
+- (void)dealloc
+{
+
+ [originalFile release];
+ [patchFile release];
+ [md5 release];
+
+ originalFile = nil;
+ patchFile = nil;
+ md5 = nil;
+ [super dealloc];
+}
+
+-(NSDictionary *)patchDictionary
+{
+ return [NSDictionary dictionaryWithObjectsAndKeys:originalFile, @"inputFile", patchFile, @"patchFile", md5, @"md5", nil];
+
+}
+
+@end
25 README
@@ -0,0 +1,25 @@
+/**
+ * Seas0nPass
+ * Copyright (C) 2010 FireCore, LLC
+ * Portions Copyright (C) 2010 Joshua Hill
+ * Portions Copyright (C) 2010 planetbeing
+
+ * 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 3 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, see <http://www.gnu.org/licenses/>.
+ **/
+
+
+
+I apologize if I missed anyone in the credits file that deserved credits, If I did miss anyone please let me know.
+
+This is the initial commit, it is going to be lacking on installation instructions and a thorough readme, will look to make this a bit more concise in the future.
Binary file not shown.
@@ -0,0 +1,33 @@
+//
+// SUAppcast.h
+// Sparkle
+//
+// Created by Andy Matuschak on 3/12/06.
+// Copyright 2006 Andy Matuschak. All rights reserved.
+//
+
+#ifndef SUAPPCAST_H
+#define SUAPPCAST_H
+
+@class SUAppcastItem;
+@interface SUAppcast : NSObject {
+ NSArray *items;
+ NSString *userAgentString;
+ id delegate;
+ NSMutableData *incrementalData;
+}
+
+- (void)fetchAppcastFromURL:(NSURL *)url;
+- (void)setDelegate:delegate;
+- (void)setUserAgentString:(NSString *)userAgentString;
+
+- (NSArray *)items;
+
+@end
+
+@interface NSObject (SUAppcastDelegate)
+- (void)appcastDidFinishLoading:(SUAppcast *)appcast;
+- (void)appcast:(SUAppcast *)appcast failedToLoadWithError:(NSError *)error;
+@end
+
+#endif
@@ -0,0 +1,47 @@
+//
+// SUAppcastItem.h
+// Sparkle
+//
+// Created by Andy Matuschak on 3/12/06.
+// Copyright 2006 Andy Matuschak. All rights reserved.
+//
+
+#ifndef SUAPPCASTITEM_H
+#define SUAPPCASTITEM_H
+
+@interface SUAppcastItem : NSObject {
+ NSString *title;
+ NSDate *date;
+ NSString *itemDescription;
+
+ NSURL *releaseNotesURL;
+
+ NSString *DSASignature;
+ NSString *minimumSystemVersion;
+
+ NSURL *fileURL;
+ NSString *versionString;
+ NSString *displayVersionString;
+
+ NSDictionary *propertiesDictionary;
+}
+
+// Initializes with data from a dictionary provided by the RSS class.
+- initWithDictionary:(NSDictionary *)dict;
+
+- (NSString *)title;
+- (NSString *)versionString;
+- (NSString *)displayVersionString;
+- (NSDate *)date;
+- (NSString *)itemDescription;
+- (NSURL *)releaseNotesURL;
+- (NSURL *)fileURL;
+- (NSString *)DSASignature;
+- (NSString *)minimumSystemVersion;
+
+// Returns the dictionary provided in initWithDictionary; this might be useful later for extensions.
+- (NSDictionary *)propertiesDictionary;
+
+@end
+
+#endif
@@ -0,0 +1,118 @@
+//
+// SUUpdater.h
+// Sparkle
+//
+// Created by Andy Matuschak on 1/4/06.
+// Copyright 2006 Andy Matuschak. All rights reserved.
+//
+
+#ifndef SUUPDATER_H
+#define SUUPDATER_H
+
+#import <Sparkle/SUVersionComparisonProtocol.h>
+
+@class SUUpdateDriver, SUAppcastItem, SUHost, SUAppcast;
+@interface SUUpdater : NSObject {
+ NSTimer *checkTimer;
+ SUUpdateDriver *driver;
+
+ SUHost *host;
+ IBOutlet id delegate;
+}
+
++ (SUUpdater *)sharedUpdater;
++ (SUUpdater *)updaterForBundle:(NSBundle *)bundle;
+- (NSBundle *)hostBundle;
+
+- (void)setDelegate:(id)delegate;
+- delegate;
+
+- (void)setAutomaticallyChecksForUpdates:(BOOL)automaticallyChecks;
+- (BOOL)automaticallyChecksForUpdates;
+
+- (void)setUpdateCheckInterval:(NSTimeInterval)interval;
+- (NSTimeInterval)updateCheckInterval;
+
+- (void)setFeedURL:(NSURL *)feedURL;
+- (NSURL *)feedURL;
+
+- (void)setSendsSystemProfile:(BOOL)sendsSystemProfile;
+- (BOOL)sendsSystemProfile;
+
+- (void)setAutomaticallyDownloadsUpdates:(BOOL)automaticallyDownloadsUpdates;
+- (BOOL)automaticallyDownloadsUpdates;
+
+// This IBAction is meant for a main menu item. Hook up any menu item to this action,
+// and Sparkle will check for updates and report back its findings verbosely.
+- (IBAction)checkForUpdates:sender;
+
+// This kicks off an update meant to be programmatically initiated. That is, it will display no UI unless it actually finds an update,
+// in which case it proceeds as usual. If the fully automated updating is turned on, however, this will invoke that behavior, and if an
+// update is found, it will be downloaded and prepped for installation.
+- (void)checkForUpdatesInBackground;
+
+// Date of last update check. Returns null if no check has been performed.
+- (NSDate*)lastUpdateCheckDate;
+
+// This begins a "probing" check for updates which will not actually offer to update to that version. The delegate methods, though,
+// (up to updater:didFindValidUpdate: and updaterDidNotFindUpdate:), are called, so you can use that information in your UI.
+- (void)checkForUpdateInformation;
+
+// Call this to appropriately schedule or cancel the update checking timer according to the preferences for time interval and automatic checks. This call does not change the date of the next check, but only the internal NSTimer.
+- (void)resetUpdateCycle;
+
+- (BOOL)updateInProgress;
+@end
+
+@interface NSObject (SUUpdaterDelegateInformalProtocol)
+// This method allows you to add extra parameters to the appcast URL, potentially based on whether or not Sparkle will also be sending along the system profile. This method should return an array of dictionaries with keys: "key", "value", "displayKey", "displayValue", the latter two being specifically for display to the user.
+- (NSArray *)feedParametersForUpdater:(SUUpdater *)updater sendingSystemProfile:(BOOL)sendingProfile;
+
+// Use this to override the default behavior for Sparkle prompting the user about automatic update checks.
+- (BOOL)updaterShouldPromptForPermissionToCheckForUpdates:(SUUpdater *)bundle;
+
+// Implement this if you want to do some special handling with the appcast once it finishes loading.
+- (void)updater:(SUUpdater *)updater didFinishLoadingAppcast:(SUAppcast *)appcast;
+
+// If you're using special logic or extensions in your appcast, implement this to use your own logic for finding
+// a valid update, if any, in the given appcast.
+- (SUAppcastItem *)bestValidUpdateInAppcast:(SUAppcast *)appcast forUpdater:(SUUpdater *)bundle;
+
+// Sent when a valid update is found by the update driver.
+- (void)updater:(SUUpdater *)updater didFindValidUpdate:(SUAppcastItem *)update;
+
+// Sent when a valid update is not found.
+- (void)updaterDidNotFindUpdate:(SUUpdater *)update;
+
+// Sent immediately before installing the specified update.
+- (void)updater:(SUUpdater *)updater willInstallUpdate:(SUAppcastItem *)update;
+
+// Return YES to delay the relaunch until you do some processing; invoke the given NSInvocation to continue.
+- (BOOL)updater:(SUUpdater *)updater shouldPostponeRelaunchForUpdate:(SUAppcastItem *)update untilInvoking:(NSInvocation *)invocation;
+
+// Called immediately before relaunching.
+- (void)updaterWillRelaunchApplication:(SUUpdater *)updater;
+
+// This method allows you to provide a custom version comparator.
+// If you don't implement this method or return nil, the standard version comparator will be used.
+- (id <SUVersionComparison>)versionComparatorForUpdater:(SUUpdater *)updater;
+
+// Returns the path which is used to relaunch the client after the update is installed. By default, the path of the host bundle.
+- (NSString *)pathToRelaunchForUpdater:(SUUpdater *)updater;
+
+@end
+
+// Define some minimum intervals to avoid DOS-like checking attacks. These are in seconds.
+#ifdef DEBUG
+#define SU_MIN_CHECK_INTERVAL 60
+#else
+#define SU_MIN_CHECK_INTERVAL 60*60
+#endif
+
+#ifdef DEBUG
+#define SU_DEFAULT_CHECK_INTERVAL 60
+#else
+#define SU_DEFAULT_CHECK_INTERVAL 60*60*24
+#endif
+
+#endif
@@ -0,0 +1,27 @@
+//
+// SUVersionComparisonProtocol.h
+// Sparkle
+//
+// Created by Andy Matuschak on 12/21/07.
+// Copyright 2007 Andy Matuschak. All rights reserved.
+//
+
+#ifndef SUVERSIONCOMPARISONPROTOCOL_H
+#define SUVERSIONCOMPARISONPROTOCOL_H
+
+/*!
+ @protocol
+ @abstract Implement this protocol to provide version comparison facilities for Sparkle.
+*/
+@protocol SUVersionComparison
+
+/*!
+ @method
+ @abstract An abstract method to compare two version strings.
+ @discussion Should return NSOrderedAscending if b > a, NSOrderedDescending if b < a, and NSOrderedSame if they are equivalent.
+*/
+- (NSComparisonResult)compareVersion:(NSString *)versionA toVersion:(NSString *)versionB;
+
+@end
+
+#endif
Oops, something went wrong.

0 comments on commit 6665362

Please sign in to comment.