Permalink
Browse files

Initial commit

  • Loading branch information...
ciaran committed Nov 26, 2008
0 parents commit 9a3378d961dfb25c5be0c71b77b189b3cf2e58c0
Showing with 10,938 additions and 0 deletions.
  1. +1 −0 .gitattributes
  2. +4 −0 .gitignore
  3. +1 −0 Frameworks/Sparkle.framework/Headers
  4. +1 −0 Frameworks/Sparkle.framework/Resources
  5. +1 −0 Frameworks/Sparkle.framework/Sparkle
  6. +33 −0 Frameworks/Sparkle.framework/Versions/A/Headers/SUAppcast.h
  7. +47 −0 Frameworks/Sparkle.framework/Versions/A/Headers/SUAppcastItem.h
  8. +118 −0 Frameworks/Sparkle.framework/Versions/A/Headers/SUUpdater.h
  9. +27 −0 Frameworks/Sparkle.framework/Versions/A/Headers/SUVersionComparisonProtocol.h
  10. +21 −0 Frameworks/Sparkle.framework/Versions/A/Headers/Sparkle.h
  11. +24 −0 Frameworks/Sparkle.framework/Versions/A/Resources/Info.plist
  12. +7 −0 Frameworks/Sparkle.framework/Versions/A/Resources/License.txt
  13. +174 −0 Frameworks/Sparkle.framework/Versions/A/Resources/SUModelTranslation.plist
  14. +56 −0 Frameworks/Sparkle.framework/Versions/A/Resources/SUStatus.nib/classes.nib
  15. +20 −0 Frameworks/Sparkle.framework/Versions/A/Resources/SUStatus.nib/info.nib
  16. BIN Frameworks/Sparkle.framework/Versions/A/Resources/SUStatus.nib/keyedobjects.nib
  17. +50 −0 Frameworks/Sparkle.framework/Versions/A/Resources/de.lproj/SUAutomaticUpdateAlert.nib/classes.nib
  18. +20 −0 Frameworks/Sparkle.framework/Versions/A/Resources/de.lproj/SUAutomaticUpdateAlert.nib/info.nib
  19. BIN ...works/Sparkle.framework/Versions/A/Resources/de.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib
  20. +67 −0 Frameworks/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdateAlert.nib/classes.nib
  21. +20 −0 Frameworks/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdateAlert.nib/info.nib
  22. BIN Frameworks/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdateAlert.nib/keyedobjects.nib
  23. +59 −0 Frameworks/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdatePermissionPrompt.nib/classes.nib
  24. +20 −0 Frameworks/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdatePermissionPrompt.nib/info.nib
  25. BIN ...rks/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib
  26. BIN Frameworks/Sparkle.framework/Versions/A/Resources/de.lproj/Sparkle.strings
  27. +50 −0 Frameworks/Sparkle.framework/Versions/A/Resources/en.lproj/SUAutomaticUpdateAlert.nib/classes.nib
  28. +20 −0 Frameworks/Sparkle.framework/Versions/A/Resources/en.lproj/SUAutomaticUpdateAlert.nib/info.nib
  29. BIN ...works/Sparkle.framework/Versions/A/Resources/en.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib
  30. +67 −0 Frameworks/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdateAlert.nib/classes.nib
  31. +20 −0 Frameworks/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdateAlert.nib/info.nib
  32. BIN Frameworks/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdateAlert.nib/keyedobjects.nib
  33. +59 −0 Frameworks/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdatePermissionPrompt.nib/classes.nib
  34. +21 −0 Frameworks/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdatePermissionPrompt.nib/info.nib
  35. BIN ...rks/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib
  36. BIN Frameworks/Sparkle.framework/Versions/A/Resources/en.lproj/Sparkle.strings
  37. +50 −0 Frameworks/Sparkle.framework/Versions/A/Resources/es.lproj/SUAutomaticUpdateAlert.nib/classes.nib
  38. +20 −0 Frameworks/Sparkle.framework/Versions/A/Resources/es.lproj/SUAutomaticUpdateAlert.nib/info.nib
  39. BIN ...works/Sparkle.framework/Versions/A/Resources/es.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib
  40. +67 −0 Frameworks/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdateAlert.nib/classes.nib
  41. +20 −0 Frameworks/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdateAlert.nib/info.nib
  42. BIN Frameworks/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdateAlert.nib/keyedobjects.nib
  43. +59 −0 Frameworks/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdatePermissionPrompt.nib/classes.nib
  44. +20 −0 Frameworks/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdatePermissionPrompt.nib/info.nib
  45. BIN ...rks/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib
  46. BIN Frameworks/Sparkle.framework/Versions/A/Resources/es.lproj/Sparkle.strings
  47. +50 −0 Frameworks/Sparkle.framework/Versions/A/Resources/fr.lproj/SUAutomaticUpdateAlert.nib/classes.nib
  48. +16 −0 Frameworks/Sparkle.framework/Versions/A/Resources/fr.lproj/SUAutomaticUpdateAlert.nib/info.nib
  49. BIN ...works/Sparkle.framework/Versions/A/Resources/fr.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib
  50. +67 −0 Frameworks/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdateAlert.nib/classes.nib
  51. +16 −0 Frameworks/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdateAlert.nib/info.nib
  52. BIN Frameworks/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdateAlert.nib/keyedobjects.nib
  53. +59 −0 Frameworks/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdatePermissionPrompt.nib/classes.nib
  54. +16 −0 Frameworks/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdatePermissionPrompt.nib/info.nib
  55. BIN ...rks/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib
  56. BIN Frameworks/Sparkle.framework/Versions/A/Resources/fr.lproj/Sparkle.strings
  57. +1 −0 Frameworks/Sparkle.framework/Versions/A/Resources/fr_CA.lproj
  58. +50 −0 Frameworks/Sparkle.framework/Versions/A/Resources/it.lproj/SUAutomaticUpdateAlert.nib/classes.nib
  59. +20 −0 Frameworks/Sparkle.framework/Versions/A/Resources/it.lproj/SUAutomaticUpdateAlert.nib/info.nib
  60. BIN ...works/Sparkle.framework/Versions/A/Resources/it.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib
  61. +67 −0 Frameworks/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdateAlert.nib/classes.nib
  62. +20 −0 Frameworks/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdateAlert.nib/info.nib
  63. BIN Frameworks/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdateAlert.nib/keyedobjects.nib
  64. +59 −0 Frameworks/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdatePermissionPrompt.nib/classes.nib
  65. +20 −0 Frameworks/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdatePermissionPrompt.nib/info.nib
  66. BIN ...rks/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib
  67. BIN Frameworks/Sparkle.framework/Versions/A/Resources/it.lproj/Sparkle.strings
  68. +50 −0 Frameworks/Sparkle.framework/Versions/A/Resources/nl.lproj/SUAutomaticUpdateAlert.nib/classes.nib
  69. +18 −0 Frameworks/Sparkle.framework/Versions/A/Resources/nl.lproj/SUAutomaticUpdateAlert.nib/info.nib
  70. BIN ...works/Sparkle.framework/Versions/A/Resources/nl.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib
  71. +67 −0 Frameworks/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdateAlert.nib/classes.nib
  72. +18 −0 Frameworks/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdateAlert.nib/info.nib
  73. BIN Frameworks/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdateAlert.nib/keyedobjects.nib
  74. +59 −0 Frameworks/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdatePermissionPrompt.nib/classes.nib
  75. +16 −0 Frameworks/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdatePermissionPrompt.nib/info.nib
  76. BIN ...rks/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib
  77. BIN Frameworks/Sparkle.framework/Versions/A/Resources/nl.lproj/Sparkle.strings
  78. BIN Frameworks/Sparkle.framework/Versions/A/Resources/relaunch
  79. +50 −0 Frameworks/Sparkle.framework/Versions/A/Resources/ru.lproj/SUAutomaticUpdateAlert.nib/classes.nib
  80. +20 −0 Frameworks/Sparkle.framework/Versions/A/Resources/ru.lproj/SUAutomaticUpdateAlert.nib/info.nib
  81. BIN ...works/Sparkle.framework/Versions/A/Resources/ru.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib
  82. +67 −0 Frameworks/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdateAlert.nib/classes.nib
  83. +20 −0 Frameworks/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdateAlert.nib/info.nib
  84. BIN Frameworks/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdateAlert.nib/keyedobjects.nib
  85. +59 −0 Frameworks/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdatePermissionPrompt.nib/classes.nib
  86. +18 −0 Frameworks/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdatePermissionPrompt.nib/info.nib
  87. BIN ...rks/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib
  88. BIN Frameworks/Sparkle.framework/Versions/A/Resources/ru.lproj/Sparkle.strings
  89. +50 −0 Frameworks/Sparkle.framework/Versions/A/Resources/sv.lproj/SUAutomaticUpdateAlert.nib/classes.nib
  90. +20 −0 Frameworks/Sparkle.framework/Versions/A/Resources/sv.lproj/SUAutomaticUpdateAlert.nib/info.nib
  91. BIN ...works/Sparkle.framework/Versions/A/Resources/sv.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib
  92. +39 −0 Frameworks/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdateAlert.nib/classes.nib
  93. +18 −0 Frameworks/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdateAlert.nib/info.nib
  94. BIN Frameworks/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdateAlert.nib/keyedobjects.nib
  95. +59 −0 Frameworks/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdatePermissionPrompt.nib/classes.nib
  96. +20 −0 Frameworks/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdatePermissionPrompt.nib/info.nib
  97. BIN ...rks/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib
  98. BIN Frameworks/Sparkle.framework/Versions/A/Resources/sv.lproj/Sparkle.strings
  99. BIN Frameworks/Sparkle.framework/Versions/A/Sparkle
  100. +1 −0 Frameworks/Sparkle.framework/Versions/Current
  101. BIN Libraries/libapr-1.0.2.12.dylib
  102. BIN Libraries/libaprutil-1.0.2.12.dylib
  103. BIN Libraries/libexpat.0.1.0.dylib
  104. BIN Libraries/libneon.27.1.2.dylib
  105. BIN Libraries/libserf-0.0.0.0.dylib
  106. BIN Libraries/libsvn_client-1.0.0.0.dylib
  107. BIN Libraries/libsvn_delta-1.0.0.0.dylib
  108. BIN Libraries/libsvn_diff-1.0.0.0.dylib
  109. BIN Libraries/libsvn_fs-1.0.0.0.dylib
  110. BIN Libraries/libsvn_fs_fs-1.0.0.0.dylib
  111. BIN Libraries/libsvn_fs_util-1.0.0.0.dylib
  112. BIN Libraries/libsvn_ra-1.0.0.0.dylib
  113. BIN Libraries/libsvn_ra_local-1.0.0.0.dylib
  114. BIN Libraries/libsvn_ra_neon-1.0.0.0.dylib
  115. BIN Libraries/libsvn_ra_serf-1.0.0.0.dylib
  116. BIN Libraries/libsvn_ra_svn-1.0.0.0.dylib
  117. BIN Libraries/libsvn_repos-1.0.0.0.dylib
  118. BIN Libraries/libsvn_subr-1.0.0.0.dylib
  119. BIN Libraries/libsvn_wc-1.0.0.0.dylib
  120. +518 −0 ProjectPlus.xcodeproj/project.pbxproj
  121. +19 −0 changelogs/changelog_v1_1.mdown
  122. +8 −0 changelogs/changelog_v1_2.mdown
  123. +19 −0 libs/README
  124. BIN libs/apr-1.3.2.tar.bz2
  125. BIN libs/apr-util-1.3.2.tar.bz2
  126. +15 −0 libs/convert.sh
  127. BIN libs/subversion-1.5.1.tar.bz2
  128. BIN resources/English.lproj/InfoPlist.strings
  129. +32 −0 resources/Info.plist
  130. +2,868 −0 resources/Preferences.xib
  131. BIN resources/icons/Bookmark/Added.png
  132. BIN resources/icons/Bookmark/Conflicted.png
  133. BIN resources/icons/Bookmark/Deleted.png
  134. BIN resources/icons/Bookmark/Locked.png
  135. BIN resources/icons/Bookmark/Modified.png
  136. BIN resources/icons/Bookmark/ReadOnly.png
  137. BIN resources/icons/Bookmark/Versioned.png
  138. +806 −0 resources/icons/Bookmark/badges.svg
  139. BIN resources/icons/CVSClassic/Added.ico
  140. BIN resources/icons/CVSClassic/Conflicted.ico
  141. BIN resources/icons/CVSClassic/Deleted.ico
  142. BIN resources/icons/CVSClassic/Locked.ico
  143. BIN resources/icons/CVSClassic/Modified.ico
  144. BIN resources/icons/CVSClassic/ReadOnly.ico
  145. BIN resources/icons/CVSClassic/Versioned.ico
  146. BIN resources/icons/Classic/Added.ico
  147. BIN resources/icons/Classic/Conflicted.ico
  148. BIN resources/icons/Classic/Deleted.ico
  149. BIN resources/icons/Classic/Locked.ico
  150. BIN resources/icons/Classic/Modified.ico
  151. BIN resources/icons/Classic/ReadOnly.ico
  152. BIN resources/icons/Classic/Versioned.ico
  153. BIN resources/icons/Modern/Added.ico
  154. BIN resources/icons/Modern/Conflicted.ico
  155. BIN resources/icons/Modern/Deleted.ico
  156. BIN resources/icons/Modern/Locked.ico
  157. BIN resources/icons/Modern/Modified.ico
  158. BIN resources/icons/Modern/ReadOnly.ico
  159. BIN resources/icons/Modern/Versioned.ico
  160. BIN resources/icons/Straight/Added.ico
  161. BIN resources/icons/Straight/Conflicted.ico
  162. BIN resources/icons/Straight/Deleted.ico
  163. BIN resources/icons/Straight/Locked.ico
  164. BIN resources/icons/Straight/Modified.ico
  165. BIN resources/icons/Straight/ReadOnly.ico
  166. BIN resources/icons/Straight/Versioned.ico
  167. BIN resources/icons/Subclipse/Added.ico
  168. BIN resources/icons/Subclipse/Conflicted.ico
  169. BIN resources/icons/Subclipse/Deleted.ico
  170. BIN resources/icons/Subclipse/Locked.ico
  171. BIN resources/icons/Subclipse/Modified.ico
  172. BIN resources/icons/Subclipse/ReadOnly.ico
  173. BIN resources/icons/Subclipse/Versioned.ico
  174. BIN resources/icons/XPStyle/Added.ico
  175. BIN resources/icons/XPStyle/Conflicted.ico
  176. BIN resources/icons/XPStyle/Deleted.ico
  177. BIN resources/icons/XPStyle/Locked.ico
  178. BIN resources/icons/XPStyle/Modified.ico
  179. BIN resources/icons/XPStyle/ReadOnly.ico
  180. BIN resources/icons/XPStyle/Versioned.ico
  181. +45 −0 resources/icons/license.txt
  182. BIN resources/projectplus.tiff
  183. +123 −0 src/OpenWith.mm
  184. +27 −0 src/ProjectPlus.h
  185. +181 −0 src/ProjectPlus.mm
  186. +97 −0 src/ProjectTree.mm
  187. +237 −0 src/Sorting.mm
  188. +416 −0 src/TMLabels.mm
  189. +28 −0 src/Tooltips.mm
  190. +13 −0 src/etc/JRSwizzle.h
  191. +115 −0 src/etc/JRSwizzle.m
  192. +7 −0 src/etc/ProjectPlus_Prefix.pch
  193. +7 −0 src/etc/TextMate.h
  194. +197 −0 src/scm/BzrIcons.mm
  195. +160 −0 src/scm/GitIcons.mm
  196. +164 −0 src/scm/HgIcons.mm
  197. +40 −0 src/scm/SCMIcons.h
  198. +378 −0 src/scm/SCMIcons.mm
  199. +381 −0 src/scm/SVNIcons.mm
  200. +167 −0 src/scm/SvkIcons.mm
  201. +15 −0 src/sidebar/CWTMSplitView.h
  202. +85 −0 src/sidebar/CWTMSplitView.mm
  203. +70 −0 src/sidebar/KFSplitView.h
  204. +1,132 −0 src/sidebar/KFSplitView.m
  205. +194 −0 src/sidebar/SideBarSwitching.mm
@@ -0,0 +1 @@
+Preferences.xib -diff
@@ -0,0 +1,4 @@
+build
+ProjectPlus.xcodeproj/ciaran.*
+*.tmproj
+.DS_Store
@@ -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
@@ -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 (bzr)</string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleVersion</key>
+ <string>296</string>
+</dict>
+</plist>
@@ -0,0 +1,7 @@
+Copyright (c) 2006 Andy Matuschak
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Oops, something went wrong.

0 comments on commit 9a3378d

Please sign in to comment.