Permalink
Browse files

newer sparkle sans annoying sig checks

  • Loading branch information...
1 parent c5127b7 commit 9c982de87f4f0c9e76b2eb1bf083c0508fddfbf1 FireCore, LLC committed Jan 12, 2011
Showing with 621 additions and 0 deletions.
  1. +1 −0 Sparkle.framework/Headers
  2. +1 −0 Sparkle.framework/Resources
  3. +1 −0 Sparkle.framework/Sparkle
  4. +36 −0 Sparkle.framework/Versions/A/Headers/SUAppcast.h
  5. +54 −0 Sparkle.framework/Versions/A/Headers/SUAppcastItem.h
  6. +126 −0 Sparkle.framework/Versions/A/Headers/SUUpdater.h
  7. +27 −0 Sparkle.framework/Versions/A/Headers/SUVersionComparisonProtocol.h
  8. +21 −0 Sparkle.framework/Versions/A/Headers/Sparkle.h
  9. +24 −0 Sparkle.framework/Versions/A/Resources/Info.plist
  10. +153 −0 Sparkle.framework/Versions/A/Resources/License.txt
  11. +174 −0 Sparkle.framework/Versions/A/Resources/SUModelTranslation.plist
  12. BIN Sparkle.framework/Versions/A/Resources/SUStatus.nib
  13. BIN Sparkle.framework/Versions/A/Resources/cs.lproj/SUAutomaticUpdateAlert.nib
  14. BIN Sparkle.framework/Versions/A/Resources/cs.lproj/SUUpdateAlert.nib
  15. BIN Sparkle.framework/Versions/A/Resources/cs.lproj/SUUpdatePermissionPrompt.nib
  16. BIN Sparkle.framework/Versions/A/Resources/cs.lproj/Sparkle.strings
  17. BIN Sparkle.framework/Versions/A/Resources/da.lproj/SUAutomaticUpdateAlert.nib
  18. BIN Sparkle.framework/Versions/A/Resources/da.lproj/SUUpdateAlert.nib
  19. BIN Sparkle.framework/Versions/A/Resources/da.lproj/SUUpdatePermissionPrompt.nib
  20. BIN Sparkle.framework/Versions/A/Resources/da.lproj/Sparkle.strings
  21. BIN Sparkle.framework/Versions/A/Resources/de.lproj/SUAutomaticUpdateAlert.nib
  22. BIN Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdateAlert.nib
  23. BIN Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdatePermissionPrompt.nib
  24. BIN Sparkle.framework/Versions/A/Resources/de.lproj/Sparkle.strings
  25. BIN Sparkle.framework/Versions/A/Resources/en.lproj/SUAutomaticUpdateAlert.nib
  26. BIN Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdateAlert.nib
  27. BIN Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdatePermissionPrompt.nib
  28. BIN Sparkle.framework/Versions/A/Resources/en.lproj/Sparkle.strings
  29. BIN Sparkle.framework/Versions/A/Resources/es.lproj/SUAutomaticUpdateAlert.nib
  30. BIN Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdateAlert.nib
  31. BIN Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdatePermissionPrompt.nib
  32. BIN Sparkle.framework/Versions/A/Resources/es.lproj/Sparkle.strings
  33. BIN Sparkle.framework/Versions/A/Resources/fr.lproj/SUAutomaticUpdateAlert.nib
  34. BIN Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdateAlert.nib
  35. BIN Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdatePermissionPrompt.nib
  36. BIN Sparkle.framework/Versions/A/Resources/fr.lproj/Sparkle.strings
  37. +1 −0 Sparkle.framework/Versions/A/Resources/fr_CA.lproj
  38. BIN Sparkle.framework/Versions/A/Resources/is.lproj/SUAutomaticUpdateAlert.nib
  39. BIN Sparkle.framework/Versions/A/Resources/is.lproj/SUUpdateAlert.nib
  40. BIN Sparkle.framework/Versions/A/Resources/is.lproj/SUUpdatePermissionPrompt.nib
  41. BIN Sparkle.framework/Versions/A/Resources/is.lproj/Sparkle.strings
  42. BIN Sparkle.framework/Versions/A/Resources/it.lproj/SUAutomaticUpdateAlert.nib
  43. BIN Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdateAlert.nib
  44. BIN Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdatePermissionPrompt.nib
  45. BIN Sparkle.framework/Versions/A/Resources/it.lproj/Sparkle.strings
  46. BIN Sparkle.framework/Versions/A/Resources/ja.lproj/SUAutomaticUpdateAlert.nib
  47. BIN Sparkle.framework/Versions/A/Resources/ja.lproj/SUUpdateAlert.nib
  48. BIN Sparkle.framework/Versions/A/Resources/ja.lproj/SUUpdatePermissionPrompt.nib
  49. BIN Sparkle.framework/Versions/A/Resources/ja.lproj/Sparkle.strings
  50. BIN Sparkle.framework/Versions/A/Resources/nl.lproj/SUAutomaticUpdateAlert.nib
  51. BIN Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdateAlert.nib
  52. BIN Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdatePermissionPrompt.nib
  53. BIN Sparkle.framework/Versions/A/Resources/nl.lproj/Sparkle.strings
  54. BIN Sparkle.framework/Versions/A/Resources/pl.lproj/SUAutomaticUpdateAlert.nib
  55. BIN Sparkle.framework/Versions/A/Resources/pl.lproj/SUUpdateAlert.nib
  56. BIN Sparkle.framework/Versions/A/Resources/pl.lproj/SUUpdatePermissionPrompt.nib
  57. BIN Sparkle.framework/Versions/A/Resources/pl.lproj/Sparkle.strings
  58. +1 −0 Sparkle.framework/Versions/A/Resources/pt.lproj
  59. BIN Sparkle.framework/Versions/A/Resources/pt_BR.lproj/SUAutomaticUpdateAlert.nib
  60. BIN Sparkle.framework/Versions/A/Resources/pt_BR.lproj/SUUpdateAlert.nib
  61. BIN Sparkle.framework/Versions/A/Resources/pt_BR.lproj/SUUpdatePermissionPrompt.nib
  62. BIN Sparkle.framework/Versions/A/Resources/pt_BR.lproj/Sparkle.strings
  63. BIN Sparkle.framework/Versions/A/Resources/pt_PT.lproj/SUAutomaticUpdateAlert.nib
  64. BIN Sparkle.framework/Versions/A/Resources/pt_PT.lproj/SUUpdateAlert.nib
  65. BIN Sparkle.framework/Versions/A/Resources/pt_PT.lproj/SUUpdatePermissionPrompt.nib
  66. BIN Sparkle.framework/Versions/A/Resources/pt_PT.lproj/Sparkle.strings
  67. BIN Sparkle.framework/Versions/A/Resources/relaunch
  68. BIN Sparkle.framework/Versions/A/Resources/ru.lproj/SUAutomaticUpdateAlert.nib
  69. BIN Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdateAlert.nib
  70. BIN Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdatePermissionPrompt.nib
  71. BIN Sparkle.framework/Versions/A/Resources/ru.lproj/Sparkle.strings
  72. BIN Sparkle.framework/Versions/A/Resources/sv.lproj/SUAutomaticUpdateAlert.nib
  73. BIN Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdateAlert.nib
  74. BIN Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdatePermissionPrompt.nib
  75. BIN Sparkle.framework/Versions/A/Resources/sv.lproj/Sparkle.strings
  76. BIN Sparkle.framework/Versions/A/Resources/zh_CN.lproj/SUAutomaticUpdateAlert.nib
  77. BIN Sparkle.framework/Versions/A/Resources/zh_CN.lproj/SUUpdateAlert.nib
  78. BIN Sparkle.framework/Versions/A/Resources/zh_CN.lproj/SUUpdatePermissionPrompt.nib
  79. BIN Sparkle.framework/Versions/A/Resources/zh_CN.lproj/Sparkle.strings
  80. BIN Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUAutomaticUpdateAlert.nib
  81. BIN Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUUpdateAlert.nib
  82. BIN Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUUpdatePermissionPrompt.nib
  83. BIN Sparkle.framework/Versions/A/Resources/zh_TW.lproj/Sparkle.strings
  84. BIN Sparkle.framework/Versions/A/Sparkle
  85. +1 −0 Sparkle.framework/Versions/Current
@@ -0,0 +1,36 @@
+//
+// 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
+{
+@private
+ NSArray *items;
+ NSString *userAgentString;
+ id delegate;
+ NSString *downloadFilename;
+ NSURLDownload *download;
+}
+
+- (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,54 @@
+//
+// 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
+{
+@private
+ NSString *title;
+ NSDate *date;
+ NSString *itemDescription;
+
+ NSURL *releaseNotesURL;
+
+ NSString *DSASignature;
+ NSString *minimumSystemVersion;
+
+ NSURL *fileURL;
+ NSString *versionString;
+ NSString *displayVersionString;
+
+ NSDictionary *deltaUpdates;
+
+ NSDictionary *propertiesDictionary;
+}
+
+// Initializes with data from a dictionary provided by the RSS class.
+- initWithDictionary:(NSDictionary *)dict;
+- initWithDictionary:(NSDictionary *)dict failureReason:(NSString**)error;
+
+- (NSString *)title;
+- (NSString *)versionString;
+- (NSString *)displayVersionString;
+- (NSDate *)date;
+- (NSString *)itemDescription;
+- (NSURL *)releaseNotesURL;
+- (NSURL *)fileURL;
+- (NSString *)DSASignature;
+- (NSString *)minimumSystemVersion;
+- (NSDictionary *)deltaUpdates;
+- (BOOL)isDeltaUpdate;
+
+// Returns the dictionary provided in initWithDictionary; this might be useful later for extensions.
+- (NSDictionary *)propertiesDictionary;
+
+@end
+
+#endif
@@ -0,0 +1,126 @@
+//
+// 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
+{
+@private
+ NSTimer *checkTimer;
+ SUUpdateDriver *driver;
+
+ NSString *customUserAgentString;
+ SUHost *host;
+ IBOutlet id delegate;
+}
+
++ (SUUpdater *)sharedUpdater;
++ (SUUpdater *)updaterForBundle:(NSBundle *)bundle;
+- initForBundle:(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)setUserAgentString:(NSString *)userAgent;
+- (NSString *)userAgentString;
+
+- (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
@@ -0,0 +1,21 @@
+//
+// Sparkle.h
+// Sparkle
+//
+// Created by Andy Matuschak on 3/16/06. (Modified by CDHW on 23/12/07)
+// Copyright 2006 Andy Matuschak. All rights reserved.
+//
+
+#ifndef SPARKLE_H
+#define SPARKLE_H
+
+// This list should include the shared headers. It doesn't matter if some of them aren't shared (unless
+// there are name-space collisions) so we can list all of them to start with:
+
+#import <Sparkle/SUUpdater.h>
+
+#import <Sparkle/SUAppcast.h>
+#import <Sparkle/SUAppcastItem.h>
+#import <Sparkle/SUVersionComparisonProtocol.h>
+
+#endif
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>en</string>
+ <key>CFBundleExecutable</key>
+ <string>Sparkle</string>
+ <key>CFBundleIdentifier</key>
+ <string>org.andymatuschak.Sparkle</string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string>Sparkle</string>
+ <key>CFBundlePackageType</key>
+ <string>FMWK</string>
+ <key>CFBundleShortVersionString</key>
+ <string>1.5 Beta (git)</string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleVersion</key>
+ <string>1.5</string>
+</dict>
+</plist>
Oops, something went wrong.

0 comments on commit 9c982de

Please sign in to comment.