├── .gitignore ├── CURLHandle.framework ├── CURLHandle ├── Headers ├── Resources └── Versions │ ├── A │ ├── CURLHandle │ ├── Frameworks │ │ └── libcurl.dylib │ ├── Headers │ │ ├── CURLFTPSession.h │ │ ├── CURLHandle.h │ │ └── CURLProtocol.h │ └── Resources │ │ └── Info.plist │ └── Current ├── DDHotKeyCenter.h ├── DDHotKeyCenter.m ├── FileShuttle.xcodeproj ├── project.pbxproj └── project.xcworkspace │ └── contents.xcworkspacedata ├── FileShuttle ├── AppController.h ├── AppController.m ├── FileShuttle-Info.plist ├── FileShuttle-Prefix.pch ├── Growl Registration Ticket.growlRegDict ├── Images.xcassets │ └── AppIcon.appiconset │ │ ├── Contents.json │ │ ├── fileshuttle128x128.png │ │ ├── fileshuttle128x128@2x.png │ │ ├── fileshuttle16x16.png │ │ ├── fileshuttle16x16@2x.png │ │ ├── fileshuttle256x256.png │ │ ├── fileshuttle256x256@2x.png │ │ ├── fileshuttle32x32.png │ │ ├── fileshuttle32x32@2x.png │ │ ├── fileshuttle512x512.png │ │ └── fileshuttle512x512@2x.png ├── MainMenu.xib ├── MainMenu.xib.original ├── dsa_pub.pem ├── en.lproj │ └── InfoPlist.strings ├── main.m ├── status_item.png ├── status_item@2x.png ├── status_item_completed.png ├── status_item_completed@2x.png ├── status_item_empty.png ├── status_item_empty@2x.png ├── status_item_error.png ├── status_item_error@2x.png ├── status_item_highlighted.png ├── status_item_highlighted@2x.png ├── status_item_mask.png └── status_item_mask@2x.png ├── Fileshuttle.xcworkspace └── contents.xcworkspacedata ├── LICENSE ├── MVDictionaryKeyCombo.h ├── MVDictionaryKeyCombo.m ├── MVDockImage.h ├── MVDockImage.m ├── MVFTPFileUpload.h ├── MVFTPFileUpload.m ├── MVFileUpload.h ├── MVFileUpload.m ├── MVFileUploadDelegate.h ├── MVFileUploader.h ├── MVFileUploader.m ├── MVPreferencesController.h ├── MVPreferencesController.m ├── MVSCPFileUpload.h ├── MVSCPFileUpload.m ├── MVSFTPFileUpload.h ├── MVSFTPFileUpload.m ├── MVScreenshotsListener.h ├── MVScreenshotsListener.m ├── MVStatusItemView.h ├── MVStatusItemView.m ├── MVURLShortener.h ├── MVURLShortener.m ├── MVZipFiles.h ├── MVZipFiles.m ├── NSBezierPath-RoundedRect.h ├── NSBezierPath-RoundedRect.m ├── NSPasteboard+Files.h ├── NSPasteboard+Files.m ├── NSString+MD5.h ├── NSString+MD5.m ├── Podfile ├── README.md ├── RegexKit.framework ├── Headers │ ├── NSArray.h │ ├── NSData.h │ ├── NSDictionary.h │ ├── NSObject.h │ ├── NSSet.h │ ├── NSString.h │ ├── RKCache.h │ ├── RKEnumerator.h │ ├── RKRegex.h │ ├── RKUtility.h │ ├── RegexKit.h │ ├── RegexKitDefines.h │ ├── RegexKitTypes.h │ └── pcre.h ├── RegexKit ├── Resources │ ├── English.lproj │ │ ├── InfoPlist.strings │ │ ├── Localizable.strings │ │ └── pcre.strings │ ├── Info.plist │ └── LICENSE └── Versions │ ├── A │ ├── Headers │ │ ├── NSArray.h │ │ ├── NSData.h │ │ ├── NSDictionary.h │ │ ├── NSObject.h │ │ ├── NSSet.h │ │ ├── NSString.h │ │ ├── RKCache.h │ │ ├── RKEnumerator.h │ │ ├── RKRegex.h │ │ ├── RKUtility.h │ │ ├── RegexKit.h │ │ ├── RegexKitDefines.h │ │ ├── RegexKitTypes.h │ │ └── pcre.h │ ├── RegexKit │ └── Resources │ │ ├── English.lproj │ │ ├── InfoPlist.strings │ │ ├── Localizable.strings │ │ └── pcre.strings │ │ ├── Info.plist │ │ └── LICENSE │ └── Current │ ├── Headers │ ├── NSArray.h │ ├── NSData.h │ ├── NSDictionary.h │ ├── NSObject.h │ ├── NSSet.h │ ├── NSString.h │ ├── RKCache.h │ ├── RKEnumerator.h │ ├── RKRegex.h │ ├── RKUtility.h │ ├── RegexKit.h │ ├── RegexKitDefines.h │ ├── RegexKitTypes.h │ └── pcre.h │ ├── RegexKit │ └── Resources │ ├── English.lproj │ ├── InfoPlist.strings │ ├── Localizable.strings │ └── pcre.strings │ ├── Info.plist │ └── LICENSE ├── Scripts ├── codesign-frameworks.sh └── codesign-frameworks2.sh ├── ShortcutRecorder.framework ├── Headers ├── Resources ├── ShortcutRecorder └── Versions │ ├── A │ ├── Headers │ │ ├── SRCommon.h │ │ ├── SRKeyCodeTransformer.h │ │ ├── SRRecorderCell.h │ │ ├── SRRecorderControl.h │ │ ├── SRValidator.h │ │ ├── SR_LeopardView.h │ │ └── ShortcutRecorder.h │ ├── Resources │ │ └── Info.plist │ └── ShortcutRecorder │ └── Current ├── assets └── icon_menubar.psd ├── fileshuttle.icns ├── sshversion.c └── sshversion.h /.gitignore: -------------------------------------------------------------------------------- 1 | ######################### 2 | # .gitignore file for Xcode4 / OS X Source projects 3 | # 4 | # NB: if you are storing "built" products, this WILL NOT WORK, 5 | # and you should use a different .gitignore (or none at all) 6 | # This file is for SOURCE projects, where there are many extra 7 | # files that we want to exclude 8 | # 9 | # For updates, see: http://stackoverflow.com/questions/49478/git-ignore-file-for-xcode-projects 10 | ######################### 11 | 12 | ##### 13 | # OS X temporary files that should never be committed 14 | 15 | .DS_Store 16 | *.swp 17 | *.lock 18 | profile 19 | 20 | 21 | #### 22 | # Xcode temporary files that should never be committed 23 | # 24 | # NB: NIB/XIB files still exist even on Storyboard projects, so we want this... 25 | 26 | *~.nib 27 | 28 | 29 | #### 30 | # Xcode build files - 31 | # 32 | # NB: slash on the end, so we only remove the FOLDER, not any files that were badly named "DerivedData" 33 | 34 | DerivedData/ 35 | 36 | # NB: slash on the end, so we only remove the FOLDER, not any files that were badly named "build" 37 | 38 | build/ 39 | 40 | 41 | ##### 42 | # Xcode private settings (window sizes, bookmarks, breakpoints, custom executables, smart groups) 43 | # 44 | # This is complicated: 45 | # 46 | # SOMETIMES you need to put this file in version control. 47 | # Apple designed it poorly - if you use "custom executables", they are 48 | # saved in this file. 49 | # 99% of projects do NOT use those, so they do NOT want to version control this file. 50 | # ..but if you're in the 1%, comment out the line "*.pbxuser" 51 | 52 | *.pbxuser 53 | *.mode1v3 54 | *.mode2v3 55 | *.perspectivev3 56 | # NB: also, whitelist the default ones, some projects need to use these 57 | !default.pbxuser 58 | !default.mode1v3 59 | !default.mode2v3 60 | !default.perspectivev3 61 | 62 | 63 | #### 64 | # Xcode 4 - semi-personal settings, often included in workspaces 65 | # 66 | # You can safely ignore the xcuserdata files - but do NOT ignore the files next to them 67 | # 68 | 69 | xcuserdata 70 | 71 | #### 72 | # XCode 4 workspaces - more detailed 73 | # 74 | # Workspaces are important! They are a core feature of Xcode - don't exclude them :) 75 | # 76 | # Workspace layout is quite spammy. For reference: 77 | # 78 | # (root)/ 79 | # (project-name).xcodeproj/ 80 | # project.pbxproj 81 | # project.xcworkspace/ 82 | # contents.xcworkspacedata 83 | # xcuserdata/ 84 | # (your name)/xcuserdatad/ 85 | # xcuserdata/ 86 | # (your name)/xcuserdatad/ 87 | # 88 | # 89 | # 90 | # Xcode 4 workspaces - SHARED 91 | # 92 | # This is UNDOCUMENTED (google: "developer.apple.com xcshareddata" - 0 results 93 | # But if you're going to kill personal workspaces, at least keep the shared ones... 94 | # 95 | # 96 | !xcshareddata 97 | 98 | #### 99 | # XCode 4 build-schemes 100 | # 101 | # PRIVATE ones are stored inside xcuserdata 102 | !xcschemes 103 | 104 | #### 105 | # Xcode 4 - Deprecated classes 106 | # 107 | # Allegedly, if you manually "deprecate" your classes, they get moved here. 108 | # 109 | # We're using source-control, so this is a "feature" that we do not want! 110 | 111 | *.moved-aside 112 | 113 | 114 | #### 115 | # UNKNOWN: recommended by others, but I can't discover what these files are 116 | # 117 | # ...none. Everything is now explained. 118 | 119 | Pods/ 120 | -------------------------------------------------------------------------------- /CURLHandle.framework/CURLHandle: -------------------------------------------------------------------------------- 1 | Versions/Current/CURLHandle -------------------------------------------------------------------------------- /CURLHandle.framework/Headers: -------------------------------------------------------------------------------- 1 | Versions/Current/Headers -------------------------------------------------------------------------------- /CURLHandle.framework/Resources: -------------------------------------------------------------------------------- 1 | Versions/Current/Resources -------------------------------------------------------------------------------- /CURLHandle.framework/Versions/A/CURLHandle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FileShuttle/fileshuttle/75866904a4776d5d28f5562b84fa1562da1ff0b1/CURLHandle.framework/Versions/A/CURLHandle -------------------------------------------------------------------------------- /CURLHandle.framework/Versions/A/Frameworks/libcurl.dylib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FileShuttle/fileshuttle/75866904a4776d5d28f5562b84fa1562da1ff0b1/CURLHandle.framework/Versions/A/Frameworks/libcurl.dylib -------------------------------------------------------------------------------- /CURLHandle.framework/Versions/A/Headers/CURLFTPSession.h: -------------------------------------------------------------------------------- 1 | // 2 | // CURLFTPSession.h 3 | // CURLHandle 4 | // 5 | // Created by Mike Abdullah on 04/03/2012. 6 | // Copyright (c) 2012 Karelia Software. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | 12 | @protocol CURLFTPSessionDelegate; 13 | 14 | 15 | @interface CURLFTPSession : NSObject 16 | { 17 | @private 18 | CURLHandle *_handle; 19 | NSURLRequest *_request; 20 | NSURLCredential *_credential; 21 | 22 | id _delegate; 23 | 24 | NSMutableData *_data; 25 | void (^_progressBlock)(NSUInteger bytesWritten); 26 | } 27 | 28 | // Returns nil if not a supported FTP URL 29 | // All paths passed to a session are resolved relative to this request's URL. Normally you pass in a URL like ftp://example.com/ so it doesn't really make a difference! But let's say you passed in ftp://example.com/foo/ , a path of @"bar.html" would end up working on the file at ftp://example.com/foo/bar.html (i.e. the path foo/bar.html from the user's home directory) 30 | - (id)initWithRequest:(NSURLRequest *)request; 31 | @property(nonatomic, copy) NSURLRequest *baseRequest; // throws exception if not FTP URL 32 | 33 | - (void)useCredential:(NSURLCredential *)credential; 34 | 35 | // Note that it's possible for this method to return nil with an error of nil, although I don't know what circumstances could cause this 36 | - (NSString *)homeDirectoryPath:(NSError **)error; 37 | 38 | 39 | #pragma mark Discovering Directory Contents 40 | 41 | // Potentially, directory listings arrive in pieces. As the listing is parsed, each resource is passed to the block as dictionary with keys such as kCFFTPResourceName 42 | - (BOOL)enumerateContentsOfDirectoryAtPath:(NSString *)path 43 | error:(NSError **)error 44 | usingBlock:(void (^)(NSDictionary *parsedResourceListing))block; 45 | 46 | 47 | #pragma mark Creating and Deleting Items 48 | 49 | - (BOOL)createFileAtPath:(NSString *)path contents:(NSData *)data withIntermediateDirectories:(BOOL)createIntermediates error:(NSError **)error; 50 | 51 | #if NS_BLOCKS_AVAILABLE 52 | - (BOOL)createFileAtPath:(NSString *)path withContentsOfURL:(NSURL *)url withIntermediateDirectories:(BOOL)createIntermediates error:(NSError **)error progressBlock:(void (^)(NSUInteger bytesWritten))progressBlock; 53 | #endif 54 | 55 | - (BOOL)createDirectoryAtPath:(NSString *)path withIntermediateDirectories:(BOOL)createIntermediates error:(NSError **)error; 56 | 57 | - (BOOL)removeFileAtPath:(NSString *)path error:(NSError **)error; 58 | 59 | 60 | #pragma mark Setting Attributes 61 | // Only NSFilePosixPermissions is recognised at present. Note that some servers don't support this so will return an error (code 500) 62 | // All other attributes are ignored 63 | - (BOOL)setAttributes:(NSDictionary *)attributes ofItemAtPath:(NSString *)path error:(NSError **)error; 64 | 65 | 66 | #pragma mark Cancellation 67 | // Can call on any thread to cancel the current operation as soon as reasonable 68 | - (void)cancel; 69 | 70 | 71 | #pragma mark Delegate 72 | @property(nonatomic, assign) id delegate; 73 | 74 | 75 | #pragma mark FTP URLs 76 | + (NSURL *)URLWithPath:(NSString *)path relativeToURL:(NSURL *)baseURL; 77 | + (NSString *)pathOfURLRelativeToHomeDirectory:(NSURL *)URL; 78 | 79 | 80 | @end 81 | 82 | 83 | @protocol CURLFTPSessionDelegate 84 | - (void)FTPSession:(CURLFTPSession *)session didReceiveDebugInfo:(NSString *)info ofType:(curl_infotype)type; 85 | @end -------------------------------------------------------------------------------- /CURLHandle.framework/Versions/A/Headers/CURLHandle.h: -------------------------------------------------------------------------------- 1 | // 2 | // CURLHandle.h 3 | // 4 | // Created by Dan Wood on Fri Jun 22 2001. 5 | // This is in the public domain, but please report any improvements back to the author. 6 | // 7 | 8 | #import 9 | #import 10 | 11 | @protocol CURLHandleDelegate; 12 | 13 | 14 | extern NSString * const CURLcodeErrorDomain; 15 | extern NSString * const CURLMcodeErrorDomain; 16 | extern NSString * const CURLSHcodeErrorDomain; 17 | 18 | @interface CURLHandle : NSObject 19 | { 20 | CURL *mCURL; /*" Pointer to the actual CURL object that does all the hard work "*/ 21 | char mErrorBuffer[CURL_ERROR_SIZE]; /*" Buffer to hold string generated by CURL; this is then converted to an NSString. "*/ 22 | 23 | NSMutableData *_headerBuffer; /*" The buffer that is filled with data from the header as the download progresses; it's appended to one line at a time. "*/ 24 | 25 | NSMutableDictionary *mStringOptions; /*" Dictionary of keys(ints) & values (NSStrings) for performing curl_easy_setopt. We store the options in a dictionary and then invoke #curl_easy_setopt on each option right before the #curl_easy_perform so that we can retain their memory until it is needed."*/ 26 | 27 | NSDictionary *mProxies; /*" Dictionary of proxy information; it's released when the handle is deallocated since it's needed for the transfer."*/ 28 | 29 | // Backgrounding support 30 | BOOL _executing; // debugging 31 | BOOL _cancelled; /*" A flag that is set by the foreground thread and read by the background thread; it's an indicator that the user has cancelled. "*/ 32 | 33 | NSInputStream *_uploadStream; 34 | 35 | id _delegate; 36 | } 37 | 38 | // Loading respects as many of NSURLRequest's built-in features as possible, including: 39 | // 40 | // * An HTTP method of @"HEAD" turns on the CURLOPT_NOBODY option, regardless of protocol (e.g. handy for FTP) 41 | // * Similarly, @"PUT" turns on the CURLOPT_UPLOAD option (again handy for FTP uploads) 42 | // 43 | // * Supply -HTTPBody or -HTTPBodyStream to switch Curl into uploading mode, regardless of protocol 44 | // 45 | // * Custom Range: HTTP headers are specially handled to set the CURLOPT_RANGE option, regardless of protocol in use 46 | // (you should still construct the header as though it were HTTP, e.g. bytes=500-999) 47 | // 48 | // * Custom Accept-Encoding: HTTP headers are specially handled to set the CURLOPT_ENCODING option 49 | // 50 | // Where possible errors are in NSURLErrorDomain or NSCocoaErrorDomain. There will generally be a CURLcodeErrorDomain error present; either directly, or as an underlying error (KSError is handy for querying underlying errors) 51 | // The key CURLINFO_RESPONSE_CODE (as an NSNumber) will be filled out with HTTP/FTP status code if appropriate 52 | // At present all errors include NSURLErrorFailingURLErrorKey and NSURLErrorFailingURLStringErrorKey if applicable even though the docs say "This key is only present in the NSURLErrorDomain". Should we respect that? 53 | - (BOOL)loadRequest:(NSURLRequest *)request error:(NSError **)error; 54 | 55 | // Can be called from any thread. Causes -loadRequest:error: as soon as it can 56 | - (void)cancel; 57 | 58 | - (NSString *)initialFTPPath; // CURLINFO_FTP_ENTRY_PATH 59 | 60 | @property(nonatomic, assign) id delegate; 61 | 62 | + (NSString *)curlVersion; 63 | 64 | /*" Old API "*/ 65 | 66 | - (CURL *) curl; 67 | - (void) setString:(NSString *)inString forKey:(CURLoption) inCurlOption; 68 | + (void) setProxyUserIDAndPassword:(NSString *)inString; 69 | + (void) setAllowsProxy:(BOOL) inBool; 70 | 71 | @end 72 | 73 | 74 | @protocol CURLHandleDelegate 75 | 76 | - (void)handle:(CURLHandle *)handle didReceiveData:(NSData *)data; 77 | @optional 78 | - (void)handle:(CURLHandle *)handle didReceiveResponse:(NSURLResponse *)response; 79 | 80 | // When sending data to the server, this reports just before it goes out on the wire. Reports a length of 0 when the end of the data is written so you can get a nice heads up that an upload is about to complete 81 | - (void)handle:(CURLHandle *)handle willSendBodyDataOfLength:(NSUInteger)bytesWritten; 82 | 83 | - (void)handle:(CURLHandle *)handle didReceiveDebugInformation:(NSString *)string ofType:(curl_infotype)type; 84 | 85 | @end 86 | 87 | 88 | #pragma mark - 89 | 90 | 91 | @interface NSURLRequest (CURLOptionsFTP) 92 | 93 | // CURLUSESSL_NONE, CURLUSESSL_TRY, CURLUSESSL_CONTROL, or CURLUSESSL_ALL 94 | @property(nonatomic, readonly) curl_usessl curl_desiredSSLLevel; 95 | 96 | @property(nonatomic, readonly) BOOL curl_shouldVerifySSLCertificate; // CURLOPT_SSL_VERIFYPEER 97 | 98 | // An array of strings. Executed in turn once the main request is done 99 | @property(nonatomic, copy, readonly) NSArray *curl_postTransferCommands; 100 | 101 | // A value greater than 0 will cause Curl to create missing directories. I'm pretty certain this only applies when uploading 102 | // Default is 0 103 | // See CURLOPT_FTP_CREATE_MISSING_DIRS docs for full details 104 | @property(nonatomic, readonly) NSUInteger curl_createIntermediateDirectories; 105 | 106 | @end 107 | 108 | @interface NSMutableURLRequest (CURLOptionsFTP) 109 | 110 | - (void)curl_setDesiredSSLLevel:(curl_usessl)level; 111 | - (void)curl_setShouldVerifySSLCertificate:(BOOL)verify; 112 | - (void)curl_setPostTransferCommands:(NSArray *)postTransferCommands; 113 | - (void)curl_setCreateIntermediateDirectories:(NSUInteger)createIntermediateDirectories; 114 | 115 | @end 116 | 117 | 118 | #pragma mark - 119 | 120 | 121 | @interface NSDictionary ( CurlHTTPExtensions ) 122 | 123 | - (NSString *) formatForHTTP; 124 | - (NSString *) formatForHTTPUsingEncoding:(NSStringEncoding)inEncoding; 125 | - (NSString *) formatForHTTPUsingEncoding:(NSStringEncoding)inEncoding ordering:(NSArray *)inOrdering; 126 | 127 | @end 128 | 129 | 130 | -------------------------------------------------------------------------------- /CURLHandle.framework/Versions/A/Headers/CURLProtocol.h: -------------------------------------------------------------------------------- 1 | // 2 | // CURLProtocol.h 3 | // CURLHandle 4 | // 5 | // Created by Mike Abdullah on 19/01/2012. 6 | // Copyright (c) 2012 Karelia Software. All rights reserved. 7 | // 8 | 9 | #import "CURLHandle.h" 10 | 11 | 12 | @interface NSURLRequest (CURLProtocol) 13 | - (BOOL)shouldUseCurlHandle; 14 | @end 15 | 16 | 17 | @interface NSMutableURLRequest (CURLProtocol) 18 | // Setting to YES automatically registers CURLProtocol with NSURLProtocol. You can do so earlier, manually if required 19 | - (void)setShouldUseCurlHandle:(BOOL)useCurl; 20 | @end 21 | 22 | 23 | @interface CURLProtocol : NSURLProtocol 24 | 25 | @end 26 | -------------------------------------------------------------------------------- /CURLHandle.framework/Versions/A/Resources/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | BuildMachineOSBuild 6 | 12C2034 7 | CFBundleDevelopmentRegion 8 | English 9 | CFBundleExecutable 10 | CURLHandle 11 | CFBundleIdentifier 12 | com.karelia.CURLHandle 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | CURLHandle 17 | CFBundlePackageType 18 | FMWK 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1.0 23 | DTCompiler 24 | 25 | DTPlatformBuild 26 | 4H127 27 | DTPlatformVersion 28 | GM 29 | DTSDKBuild 30 | 11E52 31 | DTSDKName 32 | macosx10.7 33 | DTXcode 34 | 0460 35 | DTXcodeBuild 36 | 4H127 37 | 38 | 39 | -------------------------------------------------------------------------------- /CURLHandle.framework/Versions/Current: -------------------------------------------------------------------------------- 1 | A -------------------------------------------------------------------------------- /DDHotKeyCenter.h: -------------------------------------------------------------------------------- 1 | /* 2 | DDHotKey -- DDHotKeyCenter.h 3 | 4 | Copyright (c) 2010, Dave DeLong 5 | 6 | Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. 7 | 8 | The software is provided "as is", without warranty of any kind, including all implied warranties of merchantability and fitness. In no event shall the author(s) or copyright holder(s) 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. 9 | */ 10 | 11 | #import 12 | 13 | #if NS_BLOCKS_AVAILABLE 14 | //a convenient typedef for the required signature of a hotkey block callback 15 | typedef void (^DDHotKeyTask)(NSEvent*); 16 | #endif 17 | 18 | @interface DDHotKey : NSObject 19 | 20 | @property (nonatomic, readonly, retain) id target; 21 | @property (nonatomic, readonly) SEL action; 22 | @property (nonatomic, readonly, retain) id object; 23 | #if NS_BLOCKS_AVAILABLE 24 | @property (nonatomic, readonly, copy) DDHotKeyTask task; 25 | #endif 26 | 27 | @property (nonatomic, readonly) unsigned short keyCode; 28 | @property (nonatomic, readonly) NSUInteger modifierFlags; 29 | 30 | @end 31 | 32 | #pragma mark - 33 | 34 | @interface DDHotKeyCenter : NSObject { 35 | 36 | } 37 | 38 | /** 39 | Register a target/action hotkey. 40 | The modifierFlags must be a bitwise OR of NSCommandKeyMask, NSAlternateKeyMask, NSControlKeyMask, or NSShiftKeyMask; 41 | Returns YES if the hotkey was registered; NO otherwise. 42 | */ 43 | - (BOOL) registerHotKeyWithKeyCode:(unsigned short)keyCode modifierFlags:(NSUInteger)flags target:(id)target action:(SEL)action object:(id)object; 44 | 45 | #if NS_BLOCKS_AVAILABLE 46 | /** 47 | Register a block callback hotkey. 48 | The modifierFlags must be a bitwise OR of NSCommandKeyMask, NSAlternateKeyMask, NSControlKeyMask, or NSShiftKeyMask; 49 | Returns YES if the hotkey was registered; NO otherwise. 50 | */ 51 | - (BOOL) registerHotKeyWithKeyCode:(unsigned short)keyCode modifierFlags:(NSUInteger)flags task:(DDHotKeyTask)task; 52 | #endif 53 | 54 | /** 55 | See if a hotkey exists with the specified keycode and modifier flags. 56 | NOTE: this will only check among hotkeys you have explicitly registered with DDHotKeyCenter. This does not check all globally registered hotkeys. 57 | */ 58 | - (BOOL) hasRegisteredHotKeyWithKeyCode:(unsigned short)keyCode modifierFlags:(NSUInteger)flags; 59 | 60 | /** 61 | Unregister a specific hotkey 62 | */ 63 | - (void) unregisterHotKey:(DDHotKey *)hotKey; 64 | 65 | /** 66 | Unregister all hotkeys with a specific target 67 | */ 68 | - (void) unregisterHotKeysWithTarget:(id)target; 69 | 70 | /** 71 | Unregister all hotkeys with a specific target and action 72 | */ 73 | - (void) unregisterHotKeysWithTarget:(id)target action:(SEL)action; 74 | 75 | /** 76 | Unregister a hotkey with a specific keycode and modifier flags 77 | */ 78 | - (void) unregisterHotKeyWithKeyCode:(unsigned short)keyCode modifierFlags:(NSUInteger)flags; 79 | 80 | /** 81 | Returns a set of currently registered hotkeys 82 | **/ 83 | - (NSSet *) registeredHotKeys; 84 | 85 | @end 86 | 87 | -------------------------------------------------------------------------------- /FileShuttle.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /FileShuttle/AppController.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppController.h 3 | // FileShuttle 4 | // 5 | // Created by Michaël on 26/04/11. 6 | // 7 | 8 | #import 9 | #import 10 | #import "DDHotKeyCenter.h" 11 | #import "MVDockImage.h" 12 | #import "MVScreenshotsListener.h" 13 | #import "MVFileUploader.h" 14 | #import "MVURLShortener.h" 15 | #import "MVZipFiles.h" 16 | #import "MVStatusItemView.h" 17 | 18 | /////////////////////////////////////////////////////////////////////////////////////////////////// 19 | /////////////////////////////////////////////////////////////////////////////////////////////////// 20 | /////////////////////////////////////////////////////////////////////////////////////////////////// 21 | @interface AppController : NSObject 25 | { 26 | MVDockImage *dockImage_; 27 | MVScreenshotsListener *screenshotsDirectoryListener_; 28 | MVFileUploader *fileUploader_; 29 | NSTimer *restoreDockIconTimer_; 30 | NSStatusItem *statusItem_; 31 | MVStatusItemView *statusView_; 32 | NSMenu *statusMenu_; 33 | MVURLShortener *urlShortener_; 34 | MVZipFiles *zipFiles_; 35 | BOOL showDockIcon_; 36 | NSMutableArray *lastUploadedFilesMenuItems_; 37 | NSMenuItem *separatorMenuItem_; 38 | NSData *originalDockImageData_; 39 | KeyCombo registeredClipboardShortcut_; 40 | BOOL isRegisteredClipboardShortcut_; 41 | NSWindow *preferencesWindow_; 42 | } 43 | 44 | @property (assign) IBOutlet NSWindow *preferencesWindow; 45 | 46 | @end 47 | -------------------------------------------------------------------------------- /FileShuttle/FileShuttle-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleDocumentTypes 8 | 9 | 10 | CFBundleTypeExtensions 11 | 12 | * 13 | 14 | CFBundleTypeMIMETypes 15 | 16 | * 17 | 18 | CFBundleTypeName 19 | All files 20 | CFBundleTypeRole 21 | Editor 22 | LSTypeIsPackage 23 | 24 | NSPersistentStoreTypeKey 25 | XML 26 | 27 | 28 | CFBundleExecutable 29 | ${EXECUTABLE_NAME} 30 | CFBundleIdentifier 31 | $(PRODUCT_BUNDLE_IDENTIFIER) 32 | CFBundleInfoDictionaryVersion 33 | 6.0 34 | CFBundleName 35 | ${PRODUCT_NAME} 36 | CFBundlePackageType 37 | APPL 38 | CFBundleShortVersionString 39 | 3.0 40 | CFBundleSignature 41 | ???? 42 | CFBundleVersion 43 | 15 44 | LSApplicationCategoryType 45 | public.app-category.productivity 46 | LSMinimumSystemVersion 47 | ${MACOSX_DEPLOYMENT_TARGET} 48 | LSUIElement 49 | 50 | NSMainNibFile 51 | MainMenu 52 | NSPrincipalClass 53 | NSApplication 54 | NSServices 55 | 56 | 57 | NSMenuItem 58 | 59 | default 60 | Upload text as a file 61 | 62 | NSMessage 63 | doString 64 | NSSendTypes 65 | 66 | NSStringPboardType 67 | 68 | 69 | 70 | SUEnableAutomaticChecks 71 | 72 | SUFeedURL 73 | https://fileshuttle.io/update.xml 74 | SUPublicDSAKeyFile 75 | dsa_pub.pem 76 | 77 | 78 | -------------------------------------------------------------------------------- /FileShuttle/FileShuttle-Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header for all source files of the 'FileShuttle' target in the 'FileShuttle' project 3 | // 4 | 5 | #ifdef __OBJC__ 6 | #import 7 | #endif 8 | -------------------------------------------------------------------------------- /FileShuttle/Growl Registration Ticket.growlRegDict: -------------------------------------------------------------------------------- 1 | 2 | 3 | 10 | 11 | 12 | TicketVersion 13 | 1 14 | AllNotifications 15 | 16 | File uploaded 17 | URL copied 18 | Bad configuration 19 | 20 | DefaultNotifications 21 | 22 | File uploaded 23 | URL copied 24 | Bad configuration 25 | 26 | 27 | -------------------------------------------------------------------------------- /FileShuttle/Images.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "size" : "512x512", 5 | "idiom" : "mac", 6 | "filename" : "fileshuttle512x512@2x.png", 7 | "scale" : "2x" 8 | }, 9 | { 10 | "size" : "16x16", 11 | "idiom" : "mac", 12 | "filename" : "fileshuttle16x16.png", 13 | "scale" : "1x" 14 | }, 15 | { 16 | "size" : "16x16", 17 | "idiom" : "mac", 18 | "filename" : "fileshuttle16x16@2x.png", 19 | "scale" : "2x" 20 | }, 21 | { 22 | "size" : "32x32", 23 | "idiom" : "mac", 24 | "filename" : "fileshuttle32x32.png", 25 | "scale" : "1x" 26 | }, 27 | { 28 | "size" : "32x32", 29 | "idiom" : "mac", 30 | "filename" : "fileshuttle32x32@2x.png", 31 | "scale" : "2x" 32 | }, 33 | { 34 | "size" : "128x128", 35 | "idiom" : "mac", 36 | "filename" : "fileshuttle128x128.png", 37 | "scale" : "1x" 38 | }, 39 | { 40 | "size" : "128x128", 41 | "idiom" : "mac", 42 | "filename" : "fileshuttle128x128@2x.png", 43 | "scale" : "2x" 44 | }, 45 | { 46 | "size" : "256x256", 47 | "idiom" : "mac", 48 | "filename" : "fileshuttle256x256.png", 49 | "scale" : "1x" 50 | }, 51 | { 52 | "size" : "256x256", 53 | "idiom" : "mac", 54 | "filename" : "fileshuttle256x256@2x.png", 55 | "scale" : "2x" 56 | }, 57 | { 58 | "size" : "512x512", 59 | "idiom" : "mac", 60 | "filename" : "fileshuttle512x512.png", 61 | "scale" : "1x" 62 | } 63 | ], 64 | "info" : { 65 | "version" : 1, 66 | "author" : "xcode" 67 | } 68 | } -------------------------------------------------------------------------------- /FileShuttle/Images.xcassets/AppIcon.appiconset/fileshuttle128x128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FileShuttle/fileshuttle/75866904a4776d5d28f5562b84fa1562da1ff0b1/FileShuttle/Images.xcassets/AppIcon.appiconset/fileshuttle128x128.png -------------------------------------------------------------------------------- /FileShuttle/Images.xcassets/AppIcon.appiconset/fileshuttle128x128@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FileShuttle/fileshuttle/75866904a4776d5d28f5562b84fa1562da1ff0b1/FileShuttle/Images.xcassets/AppIcon.appiconset/fileshuttle128x128@2x.png -------------------------------------------------------------------------------- /FileShuttle/Images.xcassets/AppIcon.appiconset/fileshuttle16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FileShuttle/fileshuttle/75866904a4776d5d28f5562b84fa1562da1ff0b1/FileShuttle/Images.xcassets/AppIcon.appiconset/fileshuttle16x16.png -------------------------------------------------------------------------------- /FileShuttle/Images.xcassets/AppIcon.appiconset/fileshuttle16x16@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FileShuttle/fileshuttle/75866904a4776d5d28f5562b84fa1562da1ff0b1/FileShuttle/Images.xcassets/AppIcon.appiconset/fileshuttle16x16@2x.png -------------------------------------------------------------------------------- /FileShuttle/Images.xcassets/AppIcon.appiconset/fileshuttle256x256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FileShuttle/fileshuttle/75866904a4776d5d28f5562b84fa1562da1ff0b1/FileShuttle/Images.xcassets/AppIcon.appiconset/fileshuttle256x256.png -------------------------------------------------------------------------------- /FileShuttle/Images.xcassets/AppIcon.appiconset/fileshuttle256x256@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FileShuttle/fileshuttle/75866904a4776d5d28f5562b84fa1562da1ff0b1/FileShuttle/Images.xcassets/AppIcon.appiconset/fileshuttle256x256@2x.png -------------------------------------------------------------------------------- /FileShuttle/Images.xcassets/AppIcon.appiconset/fileshuttle32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FileShuttle/fileshuttle/75866904a4776d5d28f5562b84fa1562da1ff0b1/FileShuttle/Images.xcassets/AppIcon.appiconset/fileshuttle32x32.png -------------------------------------------------------------------------------- /FileShuttle/Images.xcassets/AppIcon.appiconset/fileshuttle32x32@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FileShuttle/fileshuttle/75866904a4776d5d28f5562b84fa1562da1ff0b1/FileShuttle/Images.xcassets/AppIcon.appiconset/fileshuttle32x32@2x.png -------------------------------------------------------------------------------- /FileShuttle/Images.xcassets/AppIcon.appiconset/fileshuttle512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FileShuttle/fileshuttle/75866904a4776d5d28f5562b84fa1562da1ff0b1/FileShuttle/Images.xcassets/AppIcon.appiconset/fileshuttle512x512.png -------------------------------------------------------------------------------- /FileShuttle/Images.xcassets/AppIcon.appiconset/fileshuttle512x512@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FileShuttle/fileshuttle/75866904a4776d5d28f5562b84fa1562da1ff0b1/FileShuttle/Images.xcassets/AppIcon.appiconset/fileshuttle512x512@2x.png -------------------------------------------------------------------------------- /FileShuttle/dsa_pub.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN PUBLIC KEY----- 2 | MIIDOjCCAi0GByqGSM44BAEwggIgAoIBAQCkS51hfQxnG30d8419U3WTBoGi/V0y 3 | 3CTmV6PbFuWgZV0P1zQaEGQmsy2sQJJuHn3WJLnGA99+uC844m349nXmEX+3MjuK 4 | VIxZ9gli4hTlh3CxwfI9amEniJ2ekVKWZMniREcquCaMEPmDurZeCGGWqujw6TLG 5 | X0HM07bQ2vIe7aV46x8z/piCrHfA/sGZNEJkGcnaoU3zDmoMWnre+/lhlowF1n4M 6 | 9r/pxVXpkPzKnLyAYsAl3KwdEBZU8UMTZPvwEAsFbqZs14h9iqhruU87wrQSEcyL 7 | HdwNmgkQAAvOHyOLGFyMREuexNVr1sXNMb+kE5SaTKNE5PtPMYxHK9HlAhUA1a5h 8 | c5mmh3mCVZWdZMqflCgUkaMCggEATFfYXurQtcW8742yIu8jSoB0L7bpU7HpkB7K 9 | YZx8plfmntQaLSLn3/D7nVay6HqCoPaH/1FTbK8tI+vmf8Vow7845havBf+J2PSN 10 | tp8kk2lKeHUlvM1gha/1B3oeMAxdMF9JhgxFVZK/XiToKQcFZMlU+DUAWLnz6u8q 11 | ZJBpknEtwlW4bJcGJJqRs4qSMON615ZHV84k+1Gne2qcMmqENiUlwVj4WThdUw4v 12 | V4yClmT9Nq2vdvJ2ls433YUdlrVUrujmJLdpDBZn/IBEdLRnolzdAogb8GhUy2rV 13 | C+7jQjIzjUfIZjbxdbYU9SDmSMP0Ln5l6ceK/7Olky9x+bqopQOCAQUAAoIBADLd 14 | QsvdIkQUJZ4zCTEkUtkFNzJ/tBrcZ0XJ5QRladVMz3u6CNcNDfdLmUjLyBz5vPWh 15 | zpuoPziyHLewqJXhv0YXz9nEX7BDew/4/KXI3/pYt6rMdiJcqbNE4VRI8WK6tRMc 16 | lCaq9RCq+iYRULNX0kZ6I0wfx2OBAowzXBukMi5Qlfbb3KqdwFg3ti+Tdek10Q2R 17 | MREgk6weZeGES06M1Ajv7oJYIHEpOLfyL9DCz+9xnpv6tDp22EueNRYyRzA48pTJ 18 | DtJ26i7TVyH06Tvlgq8ziumK6nb3h0o5k6mhuFz3Sn+jvtTI8Bl4rvjRjwXMNvlw 19 | 3szgLF3AYb4U6yHo9PU= 20 | -----END PUBLIC KEY----- 21 | -------------------------------------------------------------------------------- /FileShuttle/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* Localized versions of Info.plist keys */ 2 | 3 | -------------------------------------------------------------------------------- /FileShuttle/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // FileShuttle 4 | // 5 | // Created by Michaël on 26/04/11. 6 | // 7 | 8 | #import 9 | 10 | int main(int argc, char *argv[]) 11 | { 12 | return NSApplicationMain(argc, (const char **)argv); 13 | } 14 | -------------------------------------------------------------------------------- /FileShuttle/status_item.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FileShuttle/fileshuttle/75866904a4776d5d28f5562b84fa1562da1ff0b1/FileShuttle/status_item.png -------------------------------------------------------------------------------- /FileShuttle/status_item@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FileShuttle/fileshuttle/75866904a4776d5d28f5562b84fa1562da1ff0b1/FileShuttle/status_item@2x.png -------------------------------------------------------------------------------- /FileShuttle/status_item_completed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FileShuttle/fileshuttle/75866904a4776d5d28f5562b84fa1562da1ff0b1/FileShuttle/status_item_completed.png -------------------------------------------------------------------------------- /FileShuttle/status_item_completed@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FileShuttle/fileshuttle/75866904a4776d5d28f5562b84fa1562da1ff0b1/FileShuttle/status_item_completed@2x.png -------------------------------------------------------------------------------- /FileShuttle/status_item_empty.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FileShuttle/fileshuttle/75866904a4776d5d28f5562b84fa1562da1ff0b1/FileShuttle/status_item_empty.png -------------------------------------------------------------------------------- /FileShuttle/status_item_empty@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FileShuttle/fileshuttle/75866904a4776d5d28f5562b84fa1562da1ff0b1/FileShuttle/status_item_empty@2x.png -------------------------------------------------------------------------------- /FileShuttle/status_item_error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FileShuttle/fileshuttle/75866904a4776d5d28f5562b84fa1562da1ff0b1/FileShuttle/status_item_error.png -------------------------------------------------------------------------------- /FileShuttle/status_item_error@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FileShuttle/fileshuttle/75866904a4776d5d28f5562b84fa1562da1ff0b1/FileShuttle/status_item_error@2x.png -------------------------------------------------------------------------------- /FileShuttle/status_item_highlighted.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FileShuttle/fileshuttle/75866904a4776d5d28f5562b84fa1562da1ff0b1/FileShuttle/status_item_highlighted.png -------------------------------------------------------------------------------- /FileShuttle/status_item_highlighted@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FileShuttle/fileshuttle/75866904a4776d5d28f5562b84fa1562da1ff0b1/FileShuttle/status_item_highlighted@2x.png -------------------------------------------------------------------------------- /FileShuttle/status_item_mask.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FileShuttle/fileshuttle/75866904a4776d5d28f5562b84fa1562da1ff0b1/FileShuttle/status_item_mask.png -------------------------------------------------------------------------------- /FileShuttle/status_item_mask@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FileShuttle/fileshuttle/75866904a4776d5d28f5562b84fa1562da1ff0b1/FileShuttle/status_item_mask@2x.png -------------------------------------------------------------------------------- /Fileshuttle.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 Anthony Somerset 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /MVDictionaryKeyCombo.h: -------------------------------------------------------------------------------- 1 | // 2 | // SRDictionaryKeyCombo.h 3 | // FileShuttle 4 | // 5 | // Created by Michael Villar on 12/26/11. 6 | // 7 | 8 | #import 9 | #import 10 | 11 | NSDictionary* MVDictionaryFromKeyCombo(KeyCombo keyCombo); 12 | KeyCombo MVKeyComboFromDictionary(NSDictionary *dic); -------------------------------------------------------------------------------- /MVDictionaryKeyCombo.m: -------------------------------------------------------------------------------- 1 | // 2 | // SRDictionaryKeyCombo.m 3 | // FileShuttle 4 | // 5 | // Created by Michael Villar on 12/26/11. 6 | // 7 | 8 | #import "MVDictionaryKeyCombo.h" 9 | 10 | /////////////////////////////////////////////////////////////////////////////////////////////////// 11 | NSDictionary* MVDictionaryFromKeyCombo(KeyCombo keyCombo) 12 | { 13 | NSDictionary *values = [NSDictionary dictionaryWithObjectsAndKeys: 14 | [NSNumber numberWithShort:keyCombo.code], @"keyCode", 15 | [NSNumber numberWithUnsignedInteger:keyCombo.flags], @"modifierFlags", 16 | nil]; 17 | return values; 18 | } 19 | 20 | /////////////////////////////////////////////////////////////////////////////////////////////////// 21 | KeyCombo MVKeyComboFromDictionary(NSDictionary *dic) 22 | { 23 | short keyCode = [[dic valueForKey:@"keyCode"] shortValue]; 24 | unsigned int modifiedFlags = [[dic valueForKey:@"modifierFlags"] unsignedIntValue]; 25 | return SRMakeKeyCombo(keyCode, modifiedFlags); 26 | } -------------------------------------------------------------------------------- /MVDockImage.h: -------------------------------------------------------------------------------- 1 | // 2 | // MVDockImage.h 3 | // FileShuttle 4 | // 5 | // Created by Michaël on 26/04/11. 6 | // 7 | 8 | #import 9 | #import "NSBezierPath-RoundedRect.h" 10 | 11 | extern int const MVDockImageStateNormal; 12 | extern int const MVDockImageStateUploading; 13 | extern int const MVDockImageStateComplete; 14 | extern int const MVDockImageStateError; 15 | 16 | /////////////////////////////////////////////////////////////////////////////////////////////////// 17 | /////////////////////////////////////////////////////////////////////////////////////////////////// 18 | /////////////////////////////////////////////////////////////////////////////////////////////////// 19 | @interface MVDockImage : NSImage { 20 | 21 | @private 22 | int state; 23 | float progression; 24 | NSImage *appIcon; 25 | } 26 | 27 | @property (assign, nonatomic) int state; 28 | @property (assign, nonatomic) float progression; 29 | 30 | @end 31 | -------------------------------------------------------------------------------- /MVDockImage.m: -------------------------------------------------------------------------------- 1 | // 2 | // MVDockImage.m 3 | // FileShuttle 4 | // 5 | // Created by Michaël on 26/04/11. 6 | // 7 | 8 | #import "MVDockImage.h" 9 | 10 | int const MVDockImageStateNormal = 0; 11 | int const MVDockImageStateUploading = 1; 12 | int const MVDockImageStateComplete = 2; 13 | int const MVDockImageStateError = 3; 14 | 15 | /////////////////////////////////////////////////////////////////////////////////////////////////// 16 | /////////////////////////////////////////////////////////////////////////////////////////////////// 17 | /////////////////////////////////////////////////////////////////////////////////////////////////// 18 | @interface MVDockImage () 19 | - (void)display; 20 | @end 21 | 22 | /////////////////////////////////////////////////////////////////////////////////////////////////// 23 | /////////////////////////////////////////////////////////////////////////////////////////////////// 24 | /////////////////////////////////////////////////////////////////////////////////////////////////// 25 | @implementation MVDockImage 26 | 27 | @synthesize state; 28 | @synthesize progression; 29 | 30 | /////////////////////////////////////////////////////////////////////////////////////////////////// 31 | - (id)init 32 | { 33 | self = [super initWithSize:NSMakeSize(512, 512)]; 34 | if (self) { 35 | appIcon = [NSImage imageNamed:@"fileshuttle.icns"]; 36 | progression = 0; 37 | state = MVDockImageStateNormal; 38 | [self display]; 39 | } 40 | 41 | return self; 42 | } 43 | 44 | /////////////////////////////////////////////////////////////////////////////////////////////////// 45 | - (void)dealloc 46 | { 47 | [super dealloc]; 48 | } 49 | 50 | /////////////////////////////////////////////////////////////////////////////////////////////////// 51 | - (void)setState:(int)aState { 52 | if(state == aState) 53 | return; 54 | state = aState; 55 | [self display]; 56 | } 57 | 58 | /////////////////////////////////////////////////////////////////////////////////////////////////// 59 | - (void)setProgression:(float)aProgression { 60 | if(progression == aProgression) 61 | return; 62 | progression = aProgression; 63 | [self display]; 64 | } 65 | 66 | /////////////////////////////////////////////////////////////////////////////////////////////////// 67 | /////////////////////////////////////////////////////////////////////////////////////////////////// 68 | #pragma mark Private methods 69 | 70 | /////////////////////////////////////////////////////////////////////////////////////////////////// 71 | - (void)display { 72 | [self lockFocus]; 73 | 74 | [[NSColor clearColor] set]; 75 | 76 | NSRect bounds = NSMakeRect(0,0,[self size].width, [self size].height); 77 | NSRectFill(bounds); 78 | 79 | NSImageRep *representation = [appIcon bestRepresentationForRect:bounds 80 | context:[NSGraphicsContext currentContext] 81 | hints:nil]; 82 | 83 | [appIcon drawRepresentation:representation inRect:bounds]; 84 | 85 | if(progression >= 0 && state != MVDockImageStateNormal) { 86 | CGFloat top = 50.0; 87 | CGFloat height = 60.0; 88 | CGFloat margin = 20.0; 89 | CGFloat width = progression * (512 - 2 * margin); 90 | CGFloat radius = 36.0; 91 | 92 | NSBezierPath* backProgressBar = [NSBezierPath bezierPath]; 93 | NSRect roundedRect = NSMakeRect(margin, top, (512 - 2 * margin), height); 94 | [backProgressBar appendBezierPathWithRoundedRect:roundedRect 95 | cornerRadius:radius]; 96 | [backProgressBar closePath]; 97 | [[NSColor colorWithCalibratedRed:0.0 green:0.0 blue:0.0 alpha:0.5]set]; 98 | [backProgressBar fill]; 99 | 100 | 101 | NSBezierPath* progressBar = [NSBezierPath bezierPath]; 102 | [progressBar appendBezierPathWithRoundedRect:NSMakeRect(margin, top, width, height) 103 | cornerRadius:radius]; 104 | [progressBar closePath]; 105 | 106 | if(state == MVDockImageStateUploading) 107 | [[NSColor whiteColor] set]; 108 | else if(state == MVDockImageStateComplete) 109 | [[NSColor colorWithCalibratedRed:197.0/255.0 green:255.0/255.0 blue:72.0/255.0 alpha:1.0] set]; 110 | else if(state == MVDockImageStateError) 111 | [[NSColor redColor] set]; 112 | 113 | [progressBar fill]; 114 | } 115 | 116 | [self unlockFocus]; 117 | } 118 | 119 | @end 120 | -------------------------------------------------------------------------------- /MVFTPFileUpload.h: -------------------------------------------------------------------------------- 1 | // 2 | // MVFTPFileUpload.h 3 | // FileShuttle 4 | // 5 | // Created by Michael Villar on 12/10/11. 6 | // 7 | 8 | #import 9 | #import "MVFileUpload.h" 10 | #import "MVFileUploadDelegate.h" 11 | #define kMyBufferSize 32768 12 | 13 | /////////////////////////////////////////////////////////////////////////////////////////////////// 14 | /////////////////////////////////////////////////////////////////////////////////////////////////// 15 | /////////////////////////////////////////////////////////////////////////////////////////////////// 16 | @interface MVFTPFileUpload : MVFileUpload { 17 | 18 | } 19 | 20 | @end 21 | -------------------------------------------------------------------------------- /MVFTPFileUpload.m: -------------------------------------------------------------------------------- 1 | // 2 | // MVFTPFileUpload.m 3 | // FileShuttle 4 | // 5 | // Created by Michael Villar on 12/10/11. 6 | // 7 | 8 | #import "MVFTPFileUpload.h" 9 | #import 10 | 11 | /////////////////////////////////////////////////////////////////////////////////////////////////// 12 | /////////////////////////////////////////////////////////////////////////////////////////////////// 13 | /////////////////////////////////////////////////////////////////////////////////////////////////// 14 | @interface MVFTPFileUpload () 15 | 16 | @property (assign) long fileSize; 17 | @property (assign) long totalBytesWritten; 18 | @property (strong, readwrite) CURLFTPSession *ftpSession; 19 | 20 | @end 21 | 22 | /////////////////////////////////////////////////////////////////////////////////////////////////// 23 | /////////////////////////////////////////////////////////////////////////////////////////////////// 24 | /////////////////////////////////////////////////////////////////////////////////////////////////// 25 | @implementation MVFTPFileUpload 26 | 27 | @synthesize fileSize = fileSize_, 28 | totalBytesWritten = totalBytesWritten_, 29 | ftpSession = ftpSession_; 30 | 31 | /////////////////////////////////////////////////////////////////////////////////////////////////// 32 | /////////////////////////////////////////////////////////////////////////////////////////////////// 33 | #pragma mark - 34 | #pragma mark Public Methods 35 | 36 | /////////////////////////////////////////////////////////////////////////////////////////////////// 37 | - (void)cancel 38 | { 39 | [self.ftpSession cancel]; 40 | } 41 | 42 | /////////////////////////////////////////////////////////////////////////////////////////////////// 43 | - (void)start { 44 | NSDictionary *attrs = [[NSFileManager defaultManager] attributesOfItemAtPath:[self.source path] 45 | error:nil]; 46 | if(attrs) { 47 | self.fileSize = [((NSNumber*)[attrs valueForKey:NSFileSize]) longValue]; 48 | } 49 | 50 | NSURL *destination = [NSURL URLWithString:self.destination]; 51 | NSURLRequest *ftpReq = [NSURLRequest requestWithURL:destination 52 | cachePolicy:NSURLRequestReloadIgnoringLocalAndRemoteCacheData 53 | timeoutInterval:20]; 54 | self.ftpSession = [[CURLFTPSession alloc] initWithRequest:ftpReq]; 55 | NSURLCredential *credential = [[NSURLCredential alloc] initWithUser:self.username 56 | password:self.password 57 | persistence:NSURLCredentialPersistenceNone]; 58 | [self.ftpSession useCredential:credential]; 59 | 60 | if([self.delegate respondsToSelector:@selector(fileUploadDidStartUpload:)]) 61 | [self.delegate fileUploadDidStartUpload:self]; 62 | 63 | __block __weak MVFTPFileUpload *weakSelf = self; 64 | dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ 65 | 66 | NSError *error = nil; 67 | [weakSelf.ftpSession createFileAtPath:destination.path 68 | withContentsOfURL:weakSelf.source 69 | withIntermediateDirectories:YES 70 | error:&error 71 | progressBlock:^(NSUInteger bytesWritten) 72 | { 73 | weakSelf.totalBytesWritten += bytesWritten; 74 | dispatch_async(dispatch_get_main_queue(), ^{ 75 | float progression = ((float)weakSelf.totalBytesWritten / (float)weakSelf.fileSize); 76 | if([weakSelf.delegate respondsToSelector: 77 | @selector(fileUpload:didChangeProgression:bytesRead:totalBytes:)]) { 78 | [weakSelf.delegate fileUpload:weakSelf 79 | didChangeProgression:progression 80 | bytesRead:weakSelf.totalBytesWritten 81 | totalBytes:weakSelf.fileSize]; 82 | } 83 | }); 84 | }]; 85 | 86 | dispatch_async(dispatch_get_main_queue(), ^{ 87 | if(!error) { 88 | if([weakSelf.delegate respondsToSelector:@selector(fileUploadDidSuccess:)]) 89 | [weakSelf.delegate fileUploadDidSuccess:self]; 90 | } 91 | else { 92 | NSLog(@"Upload Failed with error %@",error); 93 | if([weakSelf.delegate respondsToSelector:@selector(fileUpload:didFailWithError:)]) 94 | [weakSelf.delegate fileUpload:self 95 | didFailWithError:error.description]; 96 | } 97 | }); 98 | }); 99 | } 100 | 101 | @end 102 | -------------------------------------------------------------------------------- /MVFileUpload.h: -------------------------------------------------------------------------------- 1 | // 2 | // MVFileUpload.h 3 | // FileShuttle 4 | // 5 | // Created by Michael Villar on 12/10/11. 6 | // 7 | 8 | #import 9 | #import "MVFileUploadDelegate.h" 10 | 11 | /////////////////////////////////////////////////////////////////////////////////////////////////// 12 | /////////////////////////////////////////////////////////////////////////////////////////////////// 13 | /////////////////////////////////////////////////////////////////////////////////////////////////// 14 | @interface MVFileUpload : NSObject { 15 | BOOL changePermissions_; 16 | NSString *permissionString_; 17 | NSString *destination_; 18 | NSString *username_; 19 | NSString *password_; 20 | NSURL *source_; 21 | NSObject *delegate_; 22 | } 23 | 24 | @property (retain) NSString *destination; 25 | @property (retain) NSString *username; 26 | @property (retain) NSString *password; 27 | @property (retain) NSURL *source; 28 | @property (assign) NSObject *delegate; 29 | @property (assign) BOOL changePermissions; 30 | @property (retain) NSString *permissionString; 31 | 32 | - (id)initWithDestination:(NSString *)destination 33 | username:(NSString *)username 34 | password:(NSString *)password 35 | source:(NSURL *)source 36 | delegate:(NSObject *)delegate; 37 | - (void)start; 38 | - (void)cancel; 39 | 40 | @end 41 | -------------------------------------------------------------------------------- /MVFileUpload.m: -------------------------------------------------------------------------------- 1 | // 2 | // MVFileUpload.m 3 | // FileShuttle 4 | // 5 | // Created by Michael Villar on 12/10/11. 6 | // 7 | 8 | #import "MVFileUpload.h" 9 | 10 | /////////////////////////////////////////////////////////////////////////////////////////////////// 11 | /////////////////////////////////////////////////////////////////////////////////////////////////// 12 | /////////////////////////////////////////////////////////////////////////////////////////////////// 13 | @implementation MVFileUpload 14 | 15 | @synthesize destination = destination_, 16 | username = username_, 17 | password = password_, 18 | source = source_, 19 | delegate = delegate_; 20 | 21 | /////////////////////////////////////////////////////////////////////////////////////////////////// 22 | /////////////////////////////////////////////////////////////////////////////////////////////////// 23 | #pragma mark - 24 | #pragma mark Memory management 25 | 26 | /////////////////////////////////////////////////////////////////////////////////////////////////// 27 | - (void)dealloc 28 | { 29 | [destination_ release]; 30 | [username_ release]; 31 | [password_ release]; 32 | [source_ release]; 33 | 34 | [super dealloc]; 35 | } 36 | 37 | /////////////////////////////////////////////////////////////////////////////////////////////////// 38 | /////////////////////////////////////////////////////////////////////////////////////////////////// 39 | #pragma mark - 40 | #pragma mark Public Methods 41 | 42 | /////////////////////////////////////////////////////////////////////////////////////////////////// 43 | - (id)initWithDestination:(NSString *)destination 44 | username:(NSString *)username 45 | password:(NSString *)password 46 | source:(NSURL *)source 47 | delegate:(NSObject *)delegate 48 | { 49 | self = [super init]; 50 | if(self) { 51 | destination_ = [destination retain]; 52 | username_ = [username retain]; 53 | password_ = [password retain]; 54 | source_ = [source retain]; 55 | delegate_ = delegate; 56 | } 57 | return self; 58 | } 59 | 60 | /////////////////////////////////////////////////////////////////////////////////////////////////// 61 | - (void)start { 62 | 63 | } 64 | 65 | /////////////////////////////////////////////////////////////////////////////////////////////////// 66 | - (void)cancel { 67 | 68 | } 69 | 70 | @end 71 | -------------------------------------------------------------------------------- /MVFileUploadDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // MVFileUploadDelegate.h 3 | // FileShuttle 4 | // 5 | // Created by Michael Villar on 12/10/11. 6 | // 7 | 8 | #import 9 | 10 | @class MVFileUpload; 11 | 12 | /////////////////////////////////////////////////////////////////////////////////////////////////// 13 | /////////////////////////////////////////////////////////////////////////////////////////////////// 14 | /////////////////////////////////////////////////////////////////////////////////////////////////// 15 | @protocol MVFileUploadDelegate 16 | 17 | @optional 18 | - (void)fileUpload:(MVFileUpload*)fileUpload didFailWithError:(NSString*)error; 19 | - (void)fileUploadDidSuccess:(MVFileUpload*)fileUpload; 20 | - (void)fileUploadDidStartUpload:(MVFileUpload*)fileUpload; 21 | - (void)fileUpload:(MVFileUpload*)fileUpload didChangeProgression:(float)progression 22 | bytesRead:(long)bytesRead 23 | totalBytes:(long)totalBytes; 24 | 25 | @end 26 | -------------------------------------------------------------------------------- /MVFileUploader.h: -------------------------------------------------------------------------------- 1 | // 2 | // MVFileUploader.h 3 | // FileShuttle 4 | // 5 | // Created by Michaël on 26/04/11. 6 | // 7 | 8 | #import 9 | #import "MVFTPFileUpload.h" 10 | #import "MVSFTPFileUpload.h" 11 | #import "MVSCPFileUpload.h" 12 | #import "MVFileUpload.h" 13 | #import "MVFileUploadDelegate.h" 14 | 15 | @class MVFileUploader; 16 | 17 | /////////////////////////////////////////////////////////////////////////////////////////////////// 18 | /////////////////////////////////////////////////////////////////////////////////////////////////// 19 | /////////////////////////////////////////////////////////////////////////////////////////////////// 20 | @protocol MVFileUploaderDelegate 21 | 22 | - (void)fileUploaderDidStart:(MVFileUploader*)fileUploader; 23 | - (void)fileUploader:(MVFileUploader*)fileUploader 24 | didChangeProgression:(float)progression; 25 | - (void)fileUploader:(MVFileUploader*)fileUploader 26 | didSuccess:(NSString*)url 27 | fileName:(NSString*)filename 28 | filePath:(NSString*)filepath; 29 | - (void)fileUploader:(MVFileUploader *)fileUploader 30 | didFailWithError:(NSString*)error; 31 | 32 | @end 33 | 34 | /////////////////////////////////////////////////////////////////////////////////////////////////// 35 | /////////////////////////////////////////////////////////////////////////////////////////////////// 36 | /////////////////////////////////////////////////////////////////////////////////////////////////// 37 | @interface MVFileUploader : NSObject { 38 | MVFileUpload *fileUpload_; 39 | NSString *filename_; 40 | NSString *filepath_; 41 | BOOL deleteFile_; 42 | int tries_; 43 | NSObject *delegate_; 44 | } 45 | 46 | @property (assign) NSObject *delegate; 47 | 48 | - (void)uploadFile:(NSString*)filepath 49 | toFilename:(NSString*)filename 50 | deleteFile:(BOOL)deleteFile; 51 | 52 | @end 53 | -------------------------------------------------------------------------------- /MVPreferencesController.h: -------------------------------------------------------------------------------- 1 | // 2 | // MVPreferencesController.h 3 | // FileShuttle 4 | // 5 | // Created by Michael Villar on 8/15/11. 6 | // 7 | 8 | #import 9 | #import 10 | 11 | /////////////////////////////////////////////////////////////////////////////////////////////////// 12 | /////////////////////////////////////////////////////////////////////////////////////////////////// 13 | /////////////////////////////////////////////////////////////////////////////////////////////////// 14 | @interface MVPreferencesController : NSObject { 15 | BOOL showDockIcon_; 16 | NSTimer *passwordTimer_; 17 | NSWindow *window_; 18 | NSSecureTextField *passwordTextField_; 19 | NSPopUpButton *showInPopUpButton_; 20 | SRRecorderControl *clipboardRecorderControl_; 21 | NSPopUpButton *setFilenamePopUpButton; 22 | NSPopUpButton *shortenerSelectionPopUpButton; 23 | } 24 | 25 | @property (assign) IBOutlet NSWindow *window; 26 | @property (assign) IBOutlet NSToolbar *toolbar; 27 | @property (assign) IBOutlet NSView *generalView; 28 | @property (assign) IBOutlet NSView *connectionView; 29 | @property (assign) IBOutlet NSView *urlshorteningView; 30 | @property (assign) IBOutlet NSSecureTextField *passwordTextField; 31 | @property (assign) IBOutlet NSPopUpButton *showInPopUpButton; 32 | @property (assign) IBOutlet NSPopUpButton *setFilenamePopUpButton; 33 | @property (assign) IBOutlet NSButton *changePermissionsCheckbox; 34 | @property (assign) IBOutlet NSTextField *permissionsTextField; 35 | @property (assign) IBOutlet SRRecorderControl *clipboardRecorderControl; 36 | @property (assign) IBOutlet NSButton *enableShortenerCheckbox; 37 | @property (assign) IBOutlet NSPopUpButton *shortenerSelectionPopUpButton; 38 | @property (assign) IBOutlet NSTextField *shortenerApiTokenField; 39 | 40 | - (IBAction)toolbarItemAction:(id)sender; 41 | - (IBAction)protocolChanged:(id)sender; 42 | - (IBAction)passwordChanged:(id)sender; 43 | - (IBAction)showInPopUpButtonChanged:(id)sender; 44 | - (IBAction)setFilenamePopUpButtonChanged:(id)sender; 45 | - (IBAction)changePermissionsCheckboxChanged:(id)sender; 46 | - (IBAction)shortenerSelectionPopUpButtonChanged:(id)sender; 47 | - (IBAction)shortenerApiTokenChanged:(id)sender; 48 | - (IBAction)enableShortenerCheckboxChanged:(id)sender; 49 | 50 | @end 51 | -------------------------------------------------------------------------------- /MVSCPFileUpload.h: -------------------------------------------------------------------------------- 1 | // 2 | // MVSCPFileUpload.h 3 | // FileShuttle 4 | // 5 | // Created by Michael Villar on 12/13/11. 6 | // 7 | 8 | #import "MVFileUpload.h" 9 | #import 10 | 11 | /////////////////////////////////////////////////////////////////////////////////////////////////// 12 | /////////////////////////////////////////////////////////////////////////////////////////////////// 13 | /////////////////////////////////////////////////////////////////////////////////////////////////// 14 | @interface MVSCPFileUpload : MVFileUpload { 15 | pid_t scppid_; 16 | int masterfd_; 17 | } 18 | 19 | @end 20 | -------------------------------------------------------------------------------- /MVSFTPFileUpload.h: -------------------------------------------------------------------------------- 1 | // 2 | // MVSFTPFileUpload.h 3 | // FileShuttle 4 | // 5 | // Created by Michael Villar on 12/13/11. 6 | // 7 | 8 | #import "MVFileUpload.h" 9 | #import 10 | 11 | /////////////////////////////////////////////////////////////////////////////////////////////////// 12 | /////////////////////////////////////////////////////////////////////////////////////////////////// 13 | /////////////////////////////////////////////////////////////////////////////////////////////////// 14 | @interface MVSFTPFileUpload : MVFileUpload { 15 | pid_t scppid_; 16 | int masterfd_; 17 | } 18 | 19 | @end 20 | -------------------------------------------------------------------------------- /MVScreenshotsListener.h: -------------------------------------------------------------------------------- 1 | // 2 | // MVDirectoryListener.h 3 | // FileShuttle 4 | // 5 | // Created by Michaël on 26/04/11. 6 | // 7 | 8 | #import 9 | 10 | @protocol MVDirectoryListenerDelegate; 11 | 12 | /////////////////////////////////////////////////////////////////////////////////////////////////// 13 | /////////////////////////////////////////////////////////////////////////////////////////////////// 14 | /////////////////////////////////////////////////////////////////////////////////////////////////// 15 | @interface MVScreenshotsListener : NSObject { 16 | 17 | } 18 | 19 | @property (assign, nonatomic) BOOL listening; 20 | @property (assign) NSObject *delegate; 21 | 22 | @end 23 | 24 | /////////////////////////////////////////////////////////////////////////////////////////////////// 25 | /////////////////////////////////////////////////////////////////////////////////////////////////// 26 | /////////////////////////////////////////////////////////////////////////////////////////////////// 27 | @protocol MVDirectoryListenerDelegate 28 | 29 | - (void)directoryListener:(MVScreenshotsListener*)aDirectoryListener 30 | newFile:(NSURL*)fileURL; 31 | 32 | @end -------------------------------------------------------------------------------- /MVScreenshotsListener.m: -------------------------------------------------------------------------------- 1 | // 2 | // MVDirectoryListener.m 3 | // FileShuttle 4 | // 5 | // Created by Michaël on 26/04/11. 6 | // 7 | 8 | #import "MVScreenshotsListener.h" 9 | 10 | /////////////////////////////////////////////////////////////////////////////////////////////////// 11 | /////////////////////////////////////////////////////////////////////////////////////////////////// 12 | /////////////////////////////////////////////////////////////////////////////////////////////////// 13 | @interface MVScreenshotsListener () 14 | 15 | @property (retain) NSDate *date; 16 | @property (retain) NSMetadataQuery *query; 17 | 18 | @end 19 | 20 | /////////////////////////////////////////////////////////////////////////////////////////////////// 21 | /////////////////////////////////////////////////////////////////////////////////////////////////// 22 | /////////////////////////////////////////////////////////////////////////////////////////////////// 23 | @implementation MVScreenshotsListener 24 | 25 | @synthesize listening, 26 | query, 27 | date, 28 | delegate; 29 | 30 | /////////////////////////////////////////////////////////////////////////////////////////////////// 31 | - (id)init 32 | { 33 | self = [super init]; 34 | if (self) { 35 | date = [[NSDate alloc] init]; 36 | query = [[NSMetadataQuery alloc] init]; 37 | [query setDelegate:self]; 38 | [query setPredicate:[NSPredicate predicateWithFormat:@"kMDItemIsScreenCapture = 1"]]; 39 | [query startQuery]; 40 | } 41 | 42 | return self; 43 | } 44 | 45 | /////////////////////////////////////////////////////////////////////////////////////////////////// 46 | - (void)dealloc 47 | { 48 | [date release]; 49 | [query release]; 50 | [[NSNotificationCenter defaultCenter] removeObserver:self]; 51 | [super dealloc]; 52 | } 53 | 54 | /////////////////////////////////////////////////////////////////////////////////////////////////// 55 | - (void)setListening:(BOOL)isListening { 56 | if(listening == isListening) 57 | return; 58 | listening = isListening; 59 | NSNotificationCenter *nc = [NSNotificationCenter defaultCenter]; 60 | if(listening) { 61 | self.date = [NSDate date]; 62 | [nc addObserver:self selector:@selector(queryUpdated:) 63 | name:NSMetadataQueryDidStartGatheringNotification object:query]; 64 | [nc addObserver:self selector:@selector(queryUpdated:) 65 | name:NSMetadataQueryDidUpdateNotification object:query]; 66 | [nc addObserver:self selector:@selector(queryUpdated:) 67 | name:NSMetadataQueryDidFinishGatheringNotification object:query]; 68 | } 69 | else { 70 | [nc removeObserver:self]; 71 | } 72 | } 73 | 74 | /////////////////////////////////////////////////////////////////////////////////////////////////// 75 | - (void)queryUpdated:(NSNotification *)note { 76 | NSDate *newDate = nil; 77 | for (NSMetadataItem *result in self.query.results) { 78 | NSURL *fileURL = [NSURL fileURLWithPath:[result valueForAttribute:NSMetadataItemPathKey]]; 79 | if(!fileURL) 80 | continue; 81 | NSDate *creationDate = [result valueForAttribute:NSMetadataItemFSCreationDateKey]; 82 | if(creationDate != nil && [self.date compare:creationDate] == NSOrderedAscending) { 83 | if(newDate == nil || ([newDate compare:creationDate] == NSOrderedAscending)) { 84 | newDate = creationDate; 85 | } 86 | 87 | if([delegate respondsToSelector:@selector(directoryListener:newFile:)]) 88 | [delegate directoryListener:self newFile:fileURL]; 89 | } 90 | } 91 | 92 | if(newDate) 93 | self.date = newDate; 94 | } 95 | 96 | @end 97 | -------------------------------------------------------------------------------- /MVStatusItemView.h: -------------------------------------------------------------------------------- 1 | // 2 | // MVStatusItemView.h 3 | // FileShuttle 4 | // 5 | // Created by Michael Villar on 12/11/11. 6 | // 7 | 8 | #import 9 | 10 | extern int const MVStatusItemStateNormal; 11 | extern int const MVStatusItemStateUploading; 12 | extern int const MVStatusItemStateComplete; 13 | extern int const MVStatusItemStateError; 14 | 15 | @class MVStatusItemView; 16 | 17 | /////////////////////////////////////////////////////////////////////////////////////////////////// 18 | /////////////////////////////////////////////////////////////////////////////////////////////////// 19 | /////////////////////////////////////////////////////////////////////////////////////////////////// 20 | @protocol MVStatusItemViewDelegate 21 | 22 | @optional; 23 | - (void)statusItemView:(MVStatusItemView*)view 24 | didDropFiles:(NSArray*)filenames; 25 | - (void)statusItemView:(MVStatusItemView*)view 26 | didDropString:(NSString*)string; 27 | 28 | @end 29 | 30 | /////////////////////////////////////////////////////////////////////////////////////////////////// 31 | /////////////////////////////////////////////////////////////////////////////////////////////////// 32 | /////////////////////////////////////////////////////////////////////////////////////////////////// 33 | @interface MVStatusItemView : NSView { 34 | BOOL isMenuVisible_; 35 | NSStatusItem *statusItem_; 36 | NSImage *image_; 37 | NSImage *emptyImage_; 38 | NSImage *maskImage_; 39 | NSImage *alternateImage_; 40 | NSImage *errorImage_; 41 | NSImage *completedImage_; 42 | int state_; 43 | float progression_; 44 | NSObject *delegate_; 45 | } 46 | 47 | @property (retain) NSStatusItem *statusItem; 48 | @property (retain, nonatomic) NSImage *image; 49 | @property (retain, nonatomic) NSImage *emptyImage; 50 | @property (retain, nonatomic) NSImage *maskImage; 51 | @property (retain, nonatomic) NSImage *alternateImage; 52 | @property (retain, nonatomic) NSImage *errorImage; 53 | @property (retain, nonatomic) NSImage *completedImage; 54 | @property (assign, nonatomic) int state; 55 | @property (assign, nonatomic) float progression; 56 | @property (assign) NSObject *delegate; 57 | 58 | @end 59 | -------------------------------------------------------------------------------- /MVURLShortener.h: -------------------------------------------------------------------------------- 1 | // 2 | // MVURLShortener.h 3 | // FileShuttle 4 | // 5 | // Created by Michael Villar on 12/11/11. 6 | // 7 | 8 | #import 9 | #import 10 | 11 | /////////////////////////////////////////////////////////////////////////////////////////////////// 12 | /////////////////////////////////////////////////////////////////////////////////////////////////// 13 | /////////////////////////////////////////////////////////////////////////////////////////////////// 14 | @interface MVURLShortener : NSObject 15 | 16 | - (NSString*)shortenURL:(NSString*)url; 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /MVURLShortener.m: -------------------------------------------------------------------------------- 1 | // 2 | // MVURLShortener.m 3 | // FileShuttle 4 | // 5 | // Created by Michael Villar on 12/11/11. 6 | // 7 | 8 | #import "MVURLShortener.h" 9 | 10 | /////////////////////////////////////////////////////////////////////////////////////////////////// 11 | /////////////////////////////////////////////////////////////////////////////////////////////////// 12 | /////////////////////////////////////////////////////////////////////////////////////////////////// 13 | @implementation MVURLShortener 14 | 15 | /////////////////////////////////////////////////////////////////////////////////////////////////// 16 | - (NSString*)shortenURL:(NSString*)url { 17 | NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 18 | NSInteger shortenerid = [defaults integerForKey:@"selected_shortener"]; 19 | NSString *apikey = @""; 20 | NSString *shortenerUrl = @""; 21 | 22 | if([defaults objectForKey:@"api_shortener_token"]) { 23 | apikey = [defaults objectForKey:@"api_shortener_token"]; 24 | } 25 | 26 | // is.gd 27 | if(shortenerid == 0) { 28 | shortenerUrl = [NSString stringWithFormat: 29 | @"http://is.gd/create.php?format=simple&url=%@",url]; 30 | } 31 | // v.gd 32 | else if(shortenerid == 1) { 33 | shortenerUrl = [NSString stringWithFormat:@"http://v.gd/create.php?format=simple&url=%@",url]; 34 | } 35 | // bit.ly 36 | else if(shortenerid == 2) { 37 | shortenerUrl = [NSString stringWithFormat:@"https://api-ssl.bitly.com/v3/shorten?access_token=%@&format=txt&longUrl=%@", apikey, url]; 38 | } 39 | else if(shortenerid == 3) { 40 | shortenerUrl = [NSString stringWithFormat:@"https://api-ssl.bitly.com/v3/shorten?access_token=%@&domain=j.mp&format=txt&longUrl=%@", apikey, url]; 41 | } 42 | 43 | NSString *response = [NSString stringWithContentsOfURL:[NSURL URLWithString:shortenerUrl] 44 | encoding:NSUTF8StringEncoding error:nil]; 45 | if(response == nil) return nil; 46 | if([response isEqual: @"Error: Please enter a valid URL to shorten"] || [response isEqual: @"INVALID_URI"] || [response isEqual: @"MISSING_ARG_ACCESS_TOKEN"]) { 47 | return nil; 48 | } else { 49 | return response; 50 | } 51 | } 52 | 53 | @end -------------------------------------------------------------------------------- /MVZipFiles.h: -------------------------------------------------------------------------------- 1 | // 2 | // MVZipFiles.h 3 | // FileShuttle 4 | // 5 | // Created by Michael Villar on 12/11/11. 6 | // 7 | 8 | #import 9 | 10 | /////////////////////////////////////////////////////////////////////////////////////////////////// 11 | /////////////////////////////////////////////////////////////////////////////////////////////////// 12 | /////////////////////////////////////////////////////////////////////////////////////////////////// 13 | @interface MVZipFiles : NSObject 14 | 15 | - (NSString*)zipFiles:(NSArray*)filenames; 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /MVZipFiles.m: -------------------------------------------------------------------------------- 1 | // 2 | // MVZipFiles.m 3 | // FileShuttle 4 | // 5 | // Created by Michael Villar on 12/11/11. 6 | // 7 | 8 | #import "MVZipFiles.h" 9 | 10 | /////////////////////////////////////////////////////////////////////////////////////////////////// 11 | /////////////////////////////////////////////////////////////////////////////////////////////////// 12 | /////////////////////////////////////////////////////////////////////////////////////////////////// 13 | @implementation MVZipFiles 14 | 15 | /////////////////////////////////////////////////////////////////////////////////////////////////// 16 | - (NSString*)zipFiles:(NSArray*)filenames 17 | { 18 | NSString *tmpDirectory = @"/tmp/fileshuttle_files/"; 19 | BOOL isDirectory; 20 | if([[NSFileManager defaultManager] fileExistsAtPath:tmpDirectory 21 | isDirectory:&isDirectory]) 22 | { 23 | [[NSFileManager defaultManager] removeItemAtPath:tmpDirectory error:nil]; 24 | } 25 | [[NSFileManager defaultManager] createDirectoryAtPath:tmpDirectory 26 | withIntermediateDirectories:YES 27 | attributes:nil 28 | error:nil]; 29 | 30 | NSString *path = @"/tmp/files.zip"; 31 | if([[NSFileManager defaultManager] fileExistsAtPath:path]) 32 | [[NSFileManager defaultManager] removeItemAtPath:path error:nil]; 33 | 34 | NSTask *zipTask = [[NSTask alloc] init]; 35 | [zipTask setCurrentDirectoryPath:tmpDirectory]; 36 | [zipTask setLaunchPath:@"/usr/bin/zip"]; 37 | 38 | NSMutableArray *args = [NSMutableArray arrayWithObjects:@"-q", @"-r", @"-b", @".", 39 | path, 40 | nil]; 41 | 42 | NSString *file; 43 | for(file in filenames) { 44 | NSString *tmpFile = [NSString stringWithFormat: 45 | @"%@%@",tmpDirectory,[file lastPathComponent]]; 46 | [[NSFileManager defaultManager] createSymbolicLinkAtPath:tmpFile 47 | withDestinationPath:file 48 | error:nil]; 49 | [args addObject:[file lastPathComponent]]; 50 | } 51 | 52 | [zipTask setArguments:args]; 53 | 54 | // launch it and wait for execution 55 | [zipTask launch]; 56 | [zipTask waitUntilExit]; 57 | 58 | // handle the task's termination status 59 | if ([zipTask terminationStatus] == 0) { 60 | [zipTask release]; 61 | NSDictionary *attributes=[NSDictionary dictionaryWithObject:[NSNumber numberWithShort:0644] forKey:NSFilePosixPermissions]; 62 | [[NSFileManager defaultManager] setAttributes:attributes ofItemAtPath:path error:nil]; 63 | return path; 64 | } 65 | [zipTask release]; 66 | return nil; 67 | } 68 | 69 | @end 70 | -------------------------------------------------------------------------------- /NSBezierPath-RoundedRect.h: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | /////////////////////////////////////////////////////////////////////////////////////////////////// 4 | /////////////////////////////////////////////////////////////////////////////////////////////////// 5 | /////////////////////////////////////////////////////////////////////////////////////////////////// 6 | @interface NSBezierPath (RoundedRect) 7 | 8 | + (NSBezierPath *)bezierPathWithRoundedRect:(NSRect)rect cornerRadius:(float)radius; 9 | - (void)appendBezierPathWithRoundedRect:(NSRect)rect cornerRadius:(float)radius; 10 | 11 | @end -------------------------------------------------------------------------------- /NSBezierPath-RoundedRect.m: -------------------------------------------------------------------------------- 1 | #import "NSBezierPath-RoundedRect.h" 2 | 3 | /////////////////////////////////////////////////////////////////////////////////////////////////// 4 | /////////////////////////////////////////////////////////////////////////////////////////////////// 5 | /////////////////////////////////////////////////////////////////////////////////////////////////// 6 | @implementation NSBezierPath (RoundedRect) 7 | 8 | /////////////////////////////////////////////////////////////////////////////////////////////////// 9 | + (NSBezierPath *)bezierPathWithRoundedRect:(NSRect)rect cornerRadius:(float)radius 10 | { 11 | NSBezierPath *result = [NSBezierPath bezierPath]; 12 | [result appendBezierPathWithRoundedRect:rect cornerRadius:radius]; 13 | return result; 14 | } 15 | 16 | /////////////////////////////////////////////////////////////////////////////////////////////////// 17 | - (void)appendBezierPathWithRoundedRect:(NSRect)rect cornerRadius:(float)radius 18 | { 19 | if (!NSIsEmptyRect(rect)) 20 | { 21 | if (radius > 0.0) 22 | { 23 | float clampedRadius = MIN(radius, 0.5 * MIN(rect.size.width, rect.size.height)); 24 | 25 | NSPoint topLeft = NSMakePoint(NSMinX(rect), NSMaxY(rect)); 26 | NSPoint topRight = NSMakePoint(NSMaxX(rect), NSMaxY(rect)); 27 | NSPoint bottomRight = NSMakePoint(NSMaxX(rect), NSMinY(rect)); 28 | 29 | [self moveToPoint:NSMakePoint(NSMidX(rect), NSMaxY(rect))]; 30 | [self appendBezierPathWithArcFromPoint:topLeft toPoint:rect.origin radius:clampedRadius]; 31 | [self appendBezierPathWithArcFromPoint:rect.origin toPoint:bottomRight radius:clampedRadius]; 32 | [self appendBezierPathWithArcFromPoint:bottomRight toPoint:topRight radius:clampedRadius]; 33 | [self appendBezierPathWithArcFromPoint:topRight toPoint:topLeft radius:clampedRadius]; 34 | [self closePath]; 35 | } 36 | else 37 | { 38 | [self appendBezierPathWithRect:rect]; 39 | } 40 | } 41 | } 42 | 43 | @end -------------------------------------------------------------------------------- /NSPasteboard+Files.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSPasteboard+Files.h 3 | // Kickoff 4 | // 5 | // Created by Michael Villar on 7/6/11. 6 | // 7 | 8 | /////////////////////////////////////////////////////////////////////////////////////////////////// 9 | /////////////////////////////////////////////////////////////////////////////////////////////////// 10 | /////////////////////////////////////////////////////////////////////////////////////////////////// 11 | @interface NSPasteboard (Files) 12 | 13 | - (NSArray*)filesRepresentation; 14 | 15 | @end 16 | -------------------------------------------------------------------------------- /NSPasteboard+Files.m: -------------------------------------------------------------------------------- 1 | // 2 | // NSPasteboard+Files.m 3 | // Kickoff 4 | // 5 | // Created by Michael Villar on 7/6/11. 6 | // 7 | 8 | #import "NSPasteboard+Files.h" 9 | 10 | /////////////////////////////////////////////////////////////////////////////////////////////////// 11 | /////////////////////////////////////////////////////////////////////////////////////////////////// 12 | /////////////////////////////////////////////////////////////////////////////////////////////////// 13 | @implementation NSPasteboard (Files) 14 | 15 | /////////////////////////////////////////////////////////////////////////////////////////////////// 16 | - (NSArray*)filesRepresentation { 17 | NSString *type = [self availableTypeFromArray: 18 | [NSArray arrayWithObjects: 19 | NSFilenamesPboardType,NSTIFFPboardType, 20 | NSPasteboardTypeTIFF,NSPasteboardTypePNG,nil]]; 21 | NSMutableArray *files = [NSMutableArray array]; 22 | if(!type) 23 | return files; 24 | NSData *data = [self dataForType:type]; 25 | if(type == NSTIFFPboardType || type == NSPasteboardTypeTIFF || type == NSPasteboardTypePNG) { 26 | NSDateFormatter* formatter = [[NSDateFormatter alloc] init]; 27 | [formatter setDateFormat:@"yyyy-MM-dd-HH-mm-ss"]; 28 | NSString *path = [NSString stringWithFormat:@"/tmp/image-%@.png", 29 | [formatter stringFromDate:[NSDate date]]]; 30 | [formatter release]; 31 | 32 | NSData *imageRepresentation = [[NSBitmapImageRep imageRepWithData:data] 33 | representationUsingType:NSPNGFileType 34 | properties:@{}]; 35 | [imageRepresentation writeToFile:path atomically:YES]; 36 | 37 | [files addObject:path]; 38 | } 39 | else if(type == NSFilenamesPboardType) { 40 | NSError* errorDescription; 41 | files = [NSPropertyListSerialization propertyListWithData:data 42 | options:kCFPropertyListImmutable 43 | format:nil 44 | error:&errorDescription]; 45 | } 46 | 47 | if(!files) 48 | return [NSArray array]; 49 | return files; 50 | } 51 | 52 | @end 53 | -------------------------------------------------------------------------------- /NSString+MD5.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSString+MD5.h 3 | // FileShuttle 4 | // 5 | // Created by Michaël on 26/04/11. 6 | // 7 | 8 | #import 9 | #import 10 | 11 | /////////////////////////////////////////////////////////////////////////////////////////////////// 12 | /////////////////////////////////////////////////////////////////////////////////////////////////// 13 | /////////////////////////////////////////////////////////////////////////////////////////////////// 14 | @interface NSString (MD5) 15 | 16 | - (NSString*)md5; 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /NSString+MD5.m: -------------------------------------------------------------------------------- 1 | // 2 | // NSString+MD5.m 3 | // FileShuttle 4 | // 5 | // Created by Michaël on 26/04/11. 6 | // 7 | 8 | #import "NSString+MD5.h" 9 | 10 | /////////////////////////////////////////////////////////////////////////////////////////////////// 11 | /////////////////////////////////////////////////////////////////////////////////////////////////// 12 | /////////////////////////////////////////////////////////////////////////////////////////////////// 13 | @implementation NSString (MD5) 14 | 15 | /////////////////////////////////////////////////////////////////////////////////////////////////// 16 | - (NSString*)md5 { 17 | NSData *md5data = [self dataUsingEncoding:NSUTF8StringEncoding]; 18 | 19 | const char *md5datastring = [md5data bytes]; 20 | // Create byte array of unsigned chars 21 | unsigned char md5Buffer[CC_MD5_DIGEST_LENGTH]; 22 | 23 | // Create 16 byte MD5 hash value, store in buffer 24 | CC_MD5(md5datastring, strlen(md5datastring), md5Buffer); 25 | 26 | // Convert MD5 value in the buffer to NSString of hex values 27 | NSMutableString *digestStr = [NSMutableString stringWithCapacity:CC_MD5_DIGEST_LENGTH * 2]; 28 | for(int i = 0; i < CC_MD5_DIGEST_LENGTH; i++) 29 | [digestStr appendFormat:@"%02x",md5Buffer[i]]; 30 | 31 | return digestStr; 32 | } 33 | 34 | @end 35 | -------------------------------------------------------------------------------- /Podfile: -------------------------------------------------------------------------------- 1 | platform :osx, "10.10" 2 | xcodeproj 'Fileshuttle' 3 | 4 | pod 'Sparkle' 5 | pod 'NMSSH' 6 | pod 'AHKeychain' 7 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | FileShuttle 2 | =========== 3 | 4 | FileShuttle is a little tool to quickly upload files on the Web. It supports FTP, SCP and SFTP. 5 | 6 | Mac OSX 10.10 and above is supported, 10.8 is the minimum known required version however your mileage may vary 7 | 8 | Bug fixes for 10.8 and 10.9 will only be supported via Pull Requests on a case by case basis. 9 | 10 | Download 3.x-dev **WARNING - Development Version**: Not Yet available as a Built Binary 11 | * **New Feature** - 10.10+ officially supported 12 | * **Cleanup** - Migrated to CocoaPods for dependency management and updated: 13 | * Sparkle Library 14 | * **Replaced** EMKeychain with AHKeychain 15 | * Various Deprecated Methods updated/replaced 16 | * **Deprecation** - Growl Support formally dropped - Minimum required version is now 10.8 17 | * **TODO** - Proper SSH2 based SFTP support including Public Key support 18 | * **TODO** - AWS S3 Support 19 | * **TODO** - Multiple URL Shortener Options inc Yourls 20 | 21 | Download 2.x-dev **WARNING - Development Version**: http://fileshuttle.io/fileshuttle-2.x-dev.zip 22 | * **New Feature** - Option to auto delete screenshot after upload. 23 | * **New Feature** - Notification Center support - Falls back to growl on Pre 10.8 24 | * **New Feature** - Allow for file permission modification after upload with SFTP (no FTP at this stage) 25 | * **Bugfix** - URL shortener fixed by using is.gd - pending rewrite and having multiple choices 26 | * **Bugfix** - Fix display of menu bar icon in fullscreen apps 27 | 28 | Download 2.1 : http://fileshuttle.io/fileshuttle-2.1.zip 29 | * **Bugfix** - Auto Screenshot Uploads on Mountain Lion (10.8). 30 | * **Bugfix** - Generated zip files (from app uploads or multiple files) now upload with the correct permissions. 31 | * **New Feature** - You can now choose the file name given when uploaded from within the preferences pane. 32 | * **New Feature** - Sparkle Updater Engine added for automatic updates in future. 33 | * **New Feature** - Retina Menubar Icons. 34 | 35 | Download 2.0 : http://fileshuttle.s3.amazonaws.com/FileShuttle.2.0.zip 36 | -------------------------------------------------------------------------------- /RegexKit.framework/Headers/NSArray.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSArray.h 3 | // RegexKit 4 | // http://regexkit.sourceforge.net/ 5 | // 6 | 7 | /* 8 | Copyright © 2007-2008, John Engelhart 9 | 10 | All rights reserved. 11 | 12 | Redistribution and use in source and binary forms, with or without 13 | modification, are permitted provided that the following conditions are met: 14 | 15 | * Redistributions of source code must retain the above copyright 16 | notice, this list of conditions and the following disclaimer. 17 | 18 | * Redistributions in binary form must reproduce the above copyright 19 | notice, this list of conditions and the following disclaimer in the 20 | documentation and/or other materials provided with the distribution. 21 | 22 | * Neither the name of the Zang Industries nor the names of its 23 | contributors may be used to endorse or promote products derived from 24 | this software without specific prior written permission. 25 | 26 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 27 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 28 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 29 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 30 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 31 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 32 | TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 33 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 34 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 35 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 36 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 37 | */ 38 | 39 | #ifdef __cplusplus 40 | extern "C" { 41 | #endif 42 | 43 | #ifndef _REGEXKIT_NSARRAY_H_ 44 | #define _REGEXKIT_NSARRAY_H_ 1 45 | 46 | #import 47 | #import 48 | 49 | @interface NSArray (RegexKitAdditions) 50 | -(NSArray *)arrayByMatchingObjectsWithRegex:(id)aRegex; 51 | -(NSArray *)arrayByMatchingObjectsWithRegex:(id)aRegex inRange:(const NSRange)range; 52 | -(BOOL)containsObjectMatchingRegex:(id)aRegex; 53 | -(BOOL)containsObjectMatchingRegex:(id)aRegex inRange:(const NSRange)range; 54 | -(RKUInteger)countOfObjectsMatchingRegex:(id)aRegex; 55 | -(RKUInteger)countOfObjectsMatchingRegex:(id)aRegex inRange:(const NSRange)range; 56 | -(RKUInteger)indexOfObjectMatchingRegex:(id)aRegex; 57 | -(RKUInteger)indexOfObjectMatchingRegex:(id)aRegex inRange:(const NSRange)range; 58 | -(NSIndexSet *)indexSetOfObjectsMatchingRegex:(id)aRegex; 59 | -(NSIndexSet *)indexSetOfObjectsMatchingRegex:(id)aRegex inRange:(const NSRange)range; 60 | 61 | @end 62 | 63 | @interface NSMutableArray (RegexKitAdditions) 64 | - (void)addObjectsFromArray:(NSArray *)otherArray matchingRegex:(id)aRegex; 65 | -(void)removeObjectsMatchingRegex:(id)aRegex; 66 | -(void)removeObjectsMatchingRegex:(id)aRegex inRange:(const NSRange)range; 67 | 68 | @end 69 | 70 | #endif // _REGEXKIT_NSARRAY_H_ 71 | 72 | #ifdef __cplusplus 73 | } /* extern "C" */ 74 | #endif 75 | -------------------------------------------------------------------------------- /RegexKit.framework/Headers/NSData.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSData.h 3 | // RegexKit 4 | // http://regexkit.sourceforge.net/ 5 | // 6 | 7 | /* 8 | Copyright © 2007-2008, John Engelhart 9 | 10 | All rights reserved. 11 | 12 | Redistribution and use in source and binary forms, with or without 13 | modification, are permitted provided that the following conditions are met: 14 | 15 | * Redistributions of source code must retain the above copyright 16 | notice, this list of conditions and the following disclaimer. 17 | 18 | * Redistributions in binary form must reproduce the above copyright 19 | notice, this list of conditions and the following disclaimer in the 20 | documentation and/or other materials provided with the distribution. 21 | 22 | * Neither the name of the Zang Industries nor the names of its 23 | contributors may be used to endorse or promote products derived from 24 | this software without specific prior written permission. 25 | 26 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 27 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 28 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 29 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 30 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 31 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 32 | TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 33 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 34 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 35 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 36 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 37 | */ 38 | 39 | #ifdef __cplusplus 40 | extern "C" { 41 | #endif 42 | 43 | #ifndef _REGEXKIT_NSDATA_H_ 44 | #define _REGEXKIT_NSDATA_H_ 1 45 | 46 | #import 47 | #import 48 | #import 49 | 50 | @interface NSData (RegexKitAdditions) 51 | - (BOOL)isMatchedByRegex:(id)aRegex; 52 | - (BOOL)isMatchedByRegex:(id)aRegex inRange:(const NSRange)range; 53 | - (NSRange)rangeOfRegex:(id)aRegex; 54 | - (NSRange)rangeOfRegex:(id)aRegex inRange:(const NSRange)range capture:(const RKUInteger)capture; 55 | - (NSRange *)rangesOfRegex:(id)aRegex; 56 | - (NSRange *)rangesOfRegex:(id)aRegex inRange:(const NSRange)range; 57 | - (NSData *)subdataByMatching:(id)aRegex; 58 | - (NSData *)subdataByMatching:(id)aRegex inRange:(const NSRange)range; 59 | 60 | @end 61 | 62 | #endif // _REGEXKIT_NSDATA_H_ 63 | 64 | #ifdef __cplusplus 65 | } /* extern "C" */ 66 | #endif 67 | -------------------------------------------------------------------------------- /RegexKit.framework/Headers/NSDictionary.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSDictionary.h 3 | // RegexKit 4 | // http://regexkit.sourceforge.net/ 5 | // 6 | 7 | /* 8 | Copyright © 2007-2008, John Engelhart 9 | 10 | All rights reserved. 11 | 12 | Redistribution and use in source and binary forms, with or without 13 | modification, are permitted provided that the following conditions are met: 14 | 15 | * Redistributions of source code must retain the above copyright 16 | notice, this list of conditions and the following disclaimer. 17 | 18 | * Redistributions in binary form must reproduce the above copyright 19 | notice, this list of conditions and the following disclaimer in the 20 | documentation and/or other materials provided with the distribution. 21 | 22 | * Neither the name of the Zang Industries nor the names of its 23 | contributors may be used to endorse or promote products derived from 24 | this software without specific prior written permission. 25 | 26 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 27 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 28 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 29 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 30 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 31 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 32 | TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 33 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 34 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 35 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 36 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 37 | */ 38 | 39 | #ifdef __cplusplus 40 | extern "C" { 41 | #endif 42 | 43 | #ifndef _REGEXKIT_NSDICTIONARY_H_ 44 | #define _REGEXKIT_NSDICTIONARY_H_ 1 45 | 46 | #import 47 | #import 48 | 49 | @interface NSDictionary (RegexKitAdditions) 50 | - (NSDictionary *)dictionaryByMatchingKeysWithRegex:(id)aRegex; 51 | - (NSDictionary *)dictionaryByMatchingObjectsWithRegex:(id)aRegex; 52 | - (BOOL)containsKeyMatchingRegex:(id)aRegex; 53 | - (BOOL)containsObjectMatchingRegex:(id)aRegex; 54 | - (NSArray *)keysMatchingRegex:(id)aRegex; 55 | - (NSArray *)keysForObjectsMatchingRegex:(id)aRegex; 56 | - (NSArray *)objectsForKeysMatchingRegex:(id)aRegex; 57 | - (NSArray *)objectsMatchingRegex:(id)regexObject; 58 | 59 | @end 60 | 61 | @interface NSMutableDictionary (RegexKitAdditions) 62 | - (void)addEntriesFromDictionary:(id)otherDictionary withKeysMatchingRegex:(id)aRegex; 63 | - (void)addEntriesFromDictionary:(id)otherDictionary withObjectsMatchingRegex:(id)aRegex; 64 | - (void)removeObjectsMatchingRegex:(id)aRegex; 65 | - (void)removeObjectsForKeysMatchingRegex:(id)aRegex; 66 | 67 | 68 | @end 69 | 70 | #endif // _REGEXKIT_NSDICTIONARY_H_ 71 | 72 | #ifdef __cplusplus 73 | } /* extern "C" */ 74 | #endif 75 | -------------------------------------------------------------------------------- /RegexKit.framework/Headers/NSObject.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSObject.h 3 | // RegexKit 4 | // http://regexkit.sourceforge.net/ 5 | // 6 | 7 | /* 8 | Copyright © 2007-2008, John Engelhart 9 | 10 | All rights reserved. 11 | 12 | Redistribution and use in source and binary forms, with or without 13 | modification, are permitted provided that the following conditions are met: 14 | 15 | * Redistributions of source code must retain the above copyright 16 | notice, this list of conditions and the following disclaimer. 17 | 18 | * Redistributions in binary form must reproduce the above copyright 19 | notice, this list of conditions and the following disclaimer in the 20 | documentation and/or other materials provided with the distribution. 21 | 22 | * Neither the name of the Zang Industries nor the names of its 23 | contributors may be used to endorse or promote products derived from 24 | this software without specific prior written permission. 25 | 26 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 27 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 28 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 29 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 30 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 31 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 32 | TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 33 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 34 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 35 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 36 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 37 | */ 38 | 39 | #ifdef __cplusplus 40 | extern "C" { 41 | #endif 42 | 43 | #ifndef _REGEXKIT_NSOBJECT_H_ 44 | #define _REGEXKIT_NSOBJECT_H_ 1 45 | 46 | #import 47 | #import 48 | 49 | @interface NSObject (RegexKitAdditions) 50 | - (BOOL)isMatchedByRegex:(id)aRegex; 51 | - (BOOL)isMatchedByAnyRegexInArray:(NSArray *)regexArray; 52 | - (RKRegex *)anyMatchingRegexInArray:(NSArray *)regexArray; 53 | - (RKRegex *)firstMatchingRegexInArray:(NSArray *)regexArray; 54 | - (BOOL)isMatchedByAnyRegexInArray:(NSArray *)regexArray library:(NSString *)library options:(RKCompileOption)libraryOptions error:(NSError **)error; 55 | - (RKRegex *)anyMatchingRegexInArray:(NSArray *)regexArray library:(NSString *)library options:(RKCompileOption)libraryOptions error:(NSError **)error; 56 | - (RKRegex *)firstMatchingRegexInArray:(NSArray *)regexArray library:(NSString *)library options:(RKCompileOption)libraryOptions error:(NSError **)error; 57 | - (BOOL)isMatchedByAnyRegexInSet:(NSSet *)regexSet; 58 | - (RKRegex *)anyMatchingRegexInSet:(NSSet *)regexSet; 59 | - (BOOL)isMatchedByAnyRegexInSet:(NSSet *)regexSet library:(NSString *)library options:(RKCompileOption)libraryOptions error:(NSError **)error; 60 | - (RKRegex *)anyMatchingRegexInSet:(NSSet *)regexSet library:(NSString *)library options:(RKCompileOption)libraryOptions error:(NSError **)error; 61 | 62 | @end 63 | 64 | #endif // _REGEXKIT_NSOBJECT_H_ 65 | 66 | #ifdef __cplusplus 67 | } /* extern "C" */ 68 | #endif 69 | -------------------------------------------------------------------------------- /RegexKit.framework/Headers/NSSet.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSSet.h 3 | // RegexKit 4 | // http://regexkit.sourceforge.net/ 5 | // 6 | 7 | /* 8 | Copyright © 2007-2008, John Engelhart 9 | 10 | All rights reserved. 11 | 12 | Redistribution and use in source and binary forms, with or without 13 | modification, are permitted provided that the following conditions are met: 14 | 15 | * Redistributions of source code must retain the above copyright 16 | notice, this list of conditions and the following disclaimer. 17 | 18 | * Redistributions in binary form must reproduce the above copyright 19 | notice, this list of conditions and the following disclaimer in the 20 | documentation and/or other materials provided with the distribution. 21 | 22 | * Neither the name of the Zang Industries nor the names of its 23 | contributors may be used to endorse or promote products derived from 24 | this software without specific prior written permission. 25 | 26 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 27 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 28 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 29 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 30 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 31 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 32 | TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 33 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 34 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 35 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 36 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 37 | */ 38 | 39 | #ifdef __cplusplus 40 | extern "C" { 41 | #endif 42 | 43 | #ifndef _REGEXKIT_NSSET_H_ 44 | #define _REGEXKIT_NSSET_H_ 1 45 | 46 | #import 47 | #import 48 | #import 49 | 50 | @interface NSSet (RegexKitAdditions) 51 | -(id)anyObjectMatchingRegex:(id)aRegex; 52 | -(BOOL)containsObjectMatchingRegex:(id)aRegex; 53 | -(RKUInteger)countOfObjectsMatchingRegex:(id)aRegex; 54 | -(NSSet *)setByMatchingObjectsWithRegex:(id)aRegex; 55 | 56 | 57 | @end 58 | 59 | @interface NSMutableSet (RegexKitAdditions) 60 | -(void)removeObjectsMatchingRegex:(id)aRegex; 61 | - (void)addObjectsFromArray:(NSArray *)otherArray matchingRegex:(id)aRegex; 62 | - (void)addObjectsFromSet:(NSSet *)otherSet matchingRegex:(id)aRegex; 63 | 64 | @end 65 | 66 | #endif // _REGEXKIT_NSSET_H_ 67 | 68 | #ifdef __cplusplus 69 | } /* extern "C" */ 70 | #endif 71 | -------------------------------------------------------------------------------- /RegexKit.framework/Headers/RKCache.h: -------------------------------------------------------------------------------- 1 | // 2 | // RKCache.h 3 | // RegexKit 4 | // http://regexkit.sourceforge.net/ 5 | // 6 | 7 | /* 8 | Copyright © 2007-2008, John Engelhart 9 | 10 | All rights reserved. 11 | 12 | Redistribution and use in source and binary forms, with or without 13 | modification, are permitted provided that the following conditions are met: 14 | 15 | * Redistributions of source code must retain the above copyright 16 | notice, this list of conditions and the following disclaimer. 17 | 18 | * Redistributions in binary form must reproduce the above copyright 19 | notice, this list of conditions and the following disclaimer in the 20 | documentation and/or other materials provided with the distribution. 21 | 22 | * Neither the name of the Zang Industries nor the names of its 23 | contributors may be used to endorse or promote products derived from 24 | this software without specific prior written permission. 25 | 26 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 27 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 28 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 29 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 30 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 31 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 32 | TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 33 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 34 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 35 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 36 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 37 | */ 38 | 39 | #ifdef __cplusplus 40 | extern "C" { 41 | #endif 42 | 43 | #ifndef _REGEXKIT_RKCACHE_H_ 44 | #define _REGEXKIT_RKCACHE_H_ 1 45 | 46 | #import 47 | #import 48 | #import 49 | #import 50 | 51 | @class RKReadWriteLock; 52 | 53 | @interface RKCache : NSObject { 54 | RK_STRONG_REF RKReadWriteLock *cacheRWLock; 55 | RK_STRONG_REF NSMapTable *cacheMapTable; 56 | RK_STRONG_REF NSString *cacheDescriptionString; 57 | RKUInteger cacheHits; 58 | RKUInteger cacheMisses; 59 | RKUInteger cacheClearedCount; 60 | int cacheInitialized; 61 | int cacheIsEnabled; 62 | int cacheAddingIsEnabled; // Used during debugging 63 | int cacheLookupIsEnabled; // Used during debugging 64 | RK_STRONG_REF char *cacheDescriptionUTF8String; 65 | } 66 | - (id)initWithDescription:(NSString * const)descriptionString; 67 | - (void)setDescription:(NSString * const)descriptionString; 68 | - (NSString *)status; 69 | - (NSString *)description; 70 | - (id)objectForHash:(const RKUInteger)objectHash description:(NSString * const)descriptionString; 71 | - (id)objectForHash:(const RKUInteger)objectHash description:(NSString * const)descriptionString autorelease:(const BOOL)shouldAutorelease; 72 | - (BOOL)addObjectToCache:(id)object; 73 | - (BOOL)addObjectToCache:(id)object withHash:(const RKUInteger)objectHash; 74 | - (id)removeObjectFromCache:(id)object; 75 | - (id)removeObjectWithHash:(const RKUInteger)objectHash; 76 | - (BOOL)clearCache; 77 | - (NSSet *)cacheSet; 78 | - (BOOL)isCacheEnabled; 79 | - (BOOL)setCacheEnabled:(const BOOL)enableCache; 80 | - (RKUInteger)cacheCount; 81 | 82 | @end 83 | 84 | 85 | @interface RKCache (CacheDebugging) 86 | 87 | - (BOOL)isCacheAddingEnabled; 88 | - (BOOL)setCacheAddingEnabled:(const BOOL)enableCacheAdding; 89 | - (BOOL)isCacheLookupEnabled; 90 | - (BOOL)setCacheLookupEnabled:(const BOOL)enableCacheLookup; 91 | 92 | @end 93 | 94 | @interface RKCache (CountersDebugging) 95 | 96 | - (void)setDebug:(const BOOL)enableDebugging; 97 | - (void)clearCounters; 98 | - (RKUInteger)cacheClearedCount; 99 | - (RKUInteger)readBusyCount; 100 | - (RKUInteger)readSpinCount; 101 | - (RKUInteger)writeBusyCount; 102 | - (RKUInteger)writeSpinCount; 103 | 104 | @end 105 | 106 | #endif // _REGEXKIT_RKCACHE_H_ 107 | 108 | #ifdef __cplusplus 109 | } /* extern "C" */ 110 | #endif 111 | -------------------------------------------------------------------------------- /RegexKit.framework/Headers/RKEnumerator.h: -------------------------------------------------------------------------------- 1 | // 2 | // RKEnumerator.h 3 | // RegexKit 4 | // http://regexkit.sourceforge.net/ 5 | // 6 | 7 | /* 8 | Copyright © 2007-2008, John Engelhart 9 | 10 | All rights reserved. 11 | 12 | Redistribution and use in source and binary forms, with or without 13 | modification, are permitted provided that the following conditions are met: 14 | 15 | * Redistributions of source code must retain the above copyright 16 | notice, this list of conditions and the following disclaimer. 17 | 18 | * Redistributions in binary form must reproduce the above copyright 19 | notice, this list of conditions and the following disclaimer in the 20 | documentation and/or other materials provided with the distribution. 21 | 22 | * Neither the name of the Zang Industries nor the names of its 23 | contributors may be used to endorse or promote products derived from 24 | this software without specific prior written permission. 25 | 26 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 27 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 28 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 29 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 30 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 31 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 32 | TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 33 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 34 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 35 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 36 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 37 | */ 38 | 39 | #ifdef __cplusplus 40 | extern "C" { 41 | #endif 42 | 43 | #ifndef _REGEXKIT_RKENUMERATOR_H_ 44 | #define _REGEXKIT_RKENUMERATOR_H_ 1 45 | 46 | @class RKRegex; 47 | 48 | #import 49 | #import 50 | #import 51 | 52 | @interface RKEnumerator : NSEnumerator { 53 | RKRegex *regex; 54 | NSString *string; 55 | RKUInteger atBufferLocation; 56 | RKUInteger regexCaptureCount; 57 | NSRange searchByteRange; 58 | NSRange searchUTF16Range; 59 | RK_STRONG_REF NSRange *resultUTF8Ranges; 60 | RK_STRONG_REF NSRange *resultUTF16Ranges; 61 | RKUInteger hasPerformedMatch:1; 62 | } 63 | + (id)enumeratorWithRegex:(id)aRegex string:(NSString * const)string; 64 | + (id)enumeratorWithRegex:(id)aRegex string:(NSString * const)string inRange:(const NSRange)range; 65 | + (id)enumeratorWithRegex:(id)initRegex string:(NSString * const)initString inRange:(const NSRange)initRange error:(NSError **)error; 66 | - (id)initWithRegex:(id)initRegex string:(NSString * const)initString; 67 | - (id)initWithRegex:(id)initRegex string:(NSString * const)initString inRange:(const NSRange)initRange; 68 | - (id)initWithRegex:(id)initRegex string:(NSString * const)initString inRange:(const NSRange)initRange error:(NSError **)error; 69 | - (RKRegex *)regex; 70 | - (NSString *)string; 71 | - (NSRange)currentRange; 72 | - (NSRange)currentRangeForCapture:(const RKUInteger)capture; 73 | - (NSRange)currentRangeForCaptureName:(NSString * const)captureNameString; 74 | - (NSRange *)currentRanges; 75 | - (id)nextObject; 76 | - (NSRange)nextRange; 77 | - (NSRange)nextRangeForCapture:(const RKUInteger)capture; 78 | - (NSRange)nextRangeForCaptureName:(NSString * const)captureNameString; 79 | - (NSRange *)nextRanges; 80 | - (BOOL)getCapturesWithReferences:(NSString * const)firstReference, ... RK_REQUIRES_NIL_TERMINATION; 81 | - (NSString *)stringWithReferenceString:(NSString * const)referenceString; 82 | - (NSString *)stringWithReferenceFormat:(NSString * const)referenceFormatString, ...; 83 | - (NSString *)stringWithReferenceFormat:(NSString * const)referenceFormatString arguments:(va_list)argList; 84 | 85 | @end 86 | 87 | #endif // _REGEXKIT_RKENUMERATOR_H_ 88 | 89 | #ifdef __cplusplus 90 | } /* extern "C" */ 91 | #endif 92 | -------------------------------------------------------------------------------- /RegexKit.framework/Headers/RKRegex.h: -------------------------------------------------------------------------------- 1 | // 2 | // RKRegex.h 3 | // RegexKit 4 | // http://regexkit.sourceforge.net/ 5 | // 6 | 7 | /* 8 | Copyright © 2007-2008, John Engelhart 9 | 10 | All rights reserved. 11 | 12 | Redistribution and use in source and binary forms, with or without 13 | modification, are permitted provided that the following conditions are met: 14 | 15 | * Redistributions of source code must retain the above copyright 16 | notice, this list of conditions and the following disclaimer. 17 | 18 | * Redistributions in binary form must reproduce the above copyright 19 | notice, this list of conditions and the following disclaimer in the 20 | documentation and/or other materials provided with the distribution. 21 | 22 | * Neither the name of the Zang Industries nor the names of its 23 | contributors may be used to endorse or promote products derived from 24 | this software without specific prior written permission. 25 | 26 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 27 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 28 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 29 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 30 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 31 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 32 | TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 33 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 34 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 35 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 36 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 37 | */ 38 | 39 | #ifdef __cplusplus 40 | extern "C" { 41 | #endif 42 | 43 | #ifndef _REGEXKIT_RKREGEX_H_ 44 | #define _REGEXKIT_RKREGEX_H_ 1 45 | 46 | #import 47 | #import 48 | #import 49 | #import 50 | 51 | @interface RKRegex : NSObject { 52 | RK_STRONG_REF pcre *_compiledPCRE; // Pointer to pcre library type pcre. 53 | RK_STRONG_REF pcre_extra *_extraPCRE; // Pointer to pcre library type pcre_extra. 54 | 55 | NSString *compiledRegexString; // A copy of the regex string that was compiled. 56 | RKCompileOption compileOption; // The options used to compile this regex. 57 | RKUInteger captureCount; // The number of captures in the compiled regex string. 58 | RK_STRONG_REF char *captureNameTable; // Pointer to capture names structure. 59 | RKUInteger captureNameTableLength; // Number of entries in the capture name structure 60 | RKUInteger captureNameLength; // The length of a capture name entry. 61 | NSArray *captureNameArray; // An array that maps capture index values to capture names. nil if no named captures. 62 | 63 | RKInteger referenceCountMinusOne; // Keep track of the reference count ourselves. 64 | RKUInteger hash; // Hash value for this object. 65 | 66 | RK_STRONG_REF char *compiledRegexUTF8String; 67 | RK_STRONG_REF char *compiledOptionUTF8String; 68 | } 69 | 70 | + (RKCache *)regexCache; 71 | 72 | + (NSString *)PCREVersionString; 73 | + (int32_t)PCREMajorVersion; 74 | + (int32_t)PCREMinorVersion; 75 | + (RKBuildConfig)PCREBuildConfig; 76 | 77 | + (BOOL)isValidRegexString:(NSString * const)regexString options:(const RKCompileOption)options; 78 | + (id)regexWithRegexString:(NSString * const)regexString options:(const RKCompileOption)options; 79 | + (id)regexWithRegexString:(NSString * const)regexString library:(NSString * const)libraryString options:(const RKCompileOption)libraryOptions error:(NSError **)error; 80 | - (id)initWithRegexString:(NSString * const)regexString options:(const RKCompileOption)options; 81 | - (id)initWithRegexString:(NSString * const)regexString library:(NSString * const)library options:(const RKCompileOption)libraryOptions error:(NSError **)error; 82 | - (NSString *)regexString; 83 | - (RKCompileOption)compileOption; 84 | 85 | - (RKUInteger)captureCount; 86 | - (NSArray *)captureNameArray; 87 | - (BOOL)isValidCaptureName:(NSString * const)captureNameString; 88 | - (RKUInteger)captureIndexForCaptureName:(NSString * const)captureNameString; 89 | - (NSString *)captureNameForCaptureIndex:(const RKUInteger)captureIndex; 90 | - (RKUInteger)captureIndexForCaptureName:(NSString * const)captureNameString inMatchedRanges:(const NSRange * const RK_C99(restrict))matchedRanges; 91 | - (RKUInteger)captureIndexForCaptureName:(NSString * const)captureNameString inMatchedRanges:(const NSRange * const RK_C99(restrict))matchedRanges error:(NSError **)error; 92 | 93 | - (BOOL)matchesCharacters:(const void * const RK_C99(restrict))matchCharacters length:(const RKUInteger)length inRange:(const NSRange)searchRange options:(const RKMatchOption)options; 94 | - (NSRange)rangeForCharacters:(const void * const RK_C99(restrict))matchCharacters length:(const RKUInteger)length inRange:(const NSRange)searchRange captureIndex:(const RKUInteger)captureIndex options:(const RKMatchOption)options; 95 | - (NSRange *)rangesForCharacters:(const void * const RK_C99(restrict))matchCharacters length:(const RKUInteger)length inRange:(const NSRange)searchRange options:(const RKMatchOption)options; 96 | - (RKMatchErrorCode)getRanges:(NSRange * const RK_C99(restrict))ranges withCharacters:(const void * const RK_C99(restrict))charactersBuffer length:(const RKUInteger)length inRange:(const NSRange)searchRange options:(const RKMatchOption)options; 97 | 98 | @end 99 | 100 | #endif // _REGEXKIT_RKREGEX_H_ 101 | 102 | #ifdef __cplusplus 103 | } /* extern "C" */ 104 | #endif 105 | -------------------------------------------------------------------------------- /RegexKit.framework/Headers/RKUtility.h: -------------------------------------------------------------------------------- 1 | // 2 | // RKUtility.h 3 | // RegexKit 4 | // http://regexkit.sourceforge.net/ 5 | // 6 | 7 | /* 8 | Copyright © 2007-2008, John Engelhart 9 | 10 | All rights reserved. 11 | 12 | Redistribution and use in source and binary forms, with or without 13 | modification, are permitted provided that the following conditions are met: 14 | 15 | * Redistributions of source code must retain the above copyright 16 | notice, this list of conditions and the following disclaimer. 17 | 18 | * Redistributions in binary form must reproduce the above copyright 19 | notice, this list of conditions and the following disclaimer in the 20 | documentation and/or other materials provided with the distribution. 21 | 22 | * Neither the name of the Zang Industries nor the names of its 23 | contributors may be used to endorse or promote products derived from 24 | this software without specific prior written permission. 25 | 26 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 27 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 28 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 29 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 30 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 31 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 32 | TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 33 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 34 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 35 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 36 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 37 | */ 38 | 39 | #ifdef __cplusplus 40 | extern "C" { 41 | #endif 42 | 43 | #ifndef _REGEXKIT_RKUTILITY_H_ 44 | #define _REGEXKIT_RKUTILITY_H_ 1 45 | 46 | #import 47 | #import 48 | #import 49 | REGEXKIT_EXTERN NSString *RKStringFromNewlineOption(const int decodeNewlineOption, NSString *prefixString) RK_ATTRIBUTES(nonnull (2), used); 50 | REGEXKIT_EXTERN NSArray *RKArrayFromMatchOption(const RKMatchOption decodeMatchOption) RK_ATTRIBUTES(used); 51 | REGEXKIT_EXTERN NSArray *RKArrayFromCompileOption(const RKCompileOption decodeCompileOption) RK_ATTRIBUTES(used); 52 | REGEXKIT_EXTERN NSArray *RKArrayFromBuildConfig(const RKBuildConfig decodeBuildConfig) RK_ATTRIBUTES(used); 53 | REGEXKIT_EXTERN NSString *RKStringFromCompileErrorCode(const RKCompileErrorCode decodeErrorCode) RK_ATTRIBUTES(used); 54 | REGEXKIT_EXTERN NSString *RKStringFromMatchErrorCode(const RKMatchErrorCode decodeErrorCode) RK_ATTRIBUTES(used); 55 | 56 | #endif // _REGEXKIT_RKUTILITY_H_ 57 | 58 | #ifdef __cplusplus 59 | } /* extern "C" */ 60 | #endif 61 | -------------------------------------------------------------------------------- /RegexKit.framework/Headers/RegexKit.h: -------------------------------------------------------------------------------- 1 | // 2 | // RegexKit.h 3 | // RegexKit 4 | // http://regexkit.sourceforge.net/ 5 | // 6 | 7 | /* 8 | Copyright © 2007-2008, John Engelhart 9 | 10 | All rights reserved. 11 | 12 | Redistribution and use in source and binary forms, with or without 13 | modification, are permitted provided that the following conditions are met: 14 | 15 | * Redistributions of source code must retain the above copyright 16 | notice, this list of conditions and the following disclaimer. 17 | 18 | * Redistributions in binary form must reproduce the above copyright 19 | notice, this list of conditions and the following disclaimer in the 20 | documentation and/or other materials provided with the distribution. 21 | 22 | * Neither the name of the Zang Industries nor the names of its 23 | contributors may be used to endorse or promote products derived from 24 | this software without specific prior written permission. 25 | 26 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 27 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 28 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 29 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 30 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 31 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 32 | TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 33 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 34 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 35 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 36 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 37 | */ 38 | 39 | #ifdef __cplusplus 40 | extern "C" { 41 | #endif 42 | 43 | #ifndef _REGEXKIT_REGEXKIT_H_ 44 | #define _REGEXKIT_REGEXKIT_H_ 1 45 | 46 | #import 47 | #import 48 | 49 | // Include primary header for the runtime environment 50 | #ifdef __MACOSX_RUNTIME__ 51 | #import 52 | #else // Using GNUstep run time 53 | #import 54 | #import 55 | #endif //__MACOSX_RUNTIME__ defined in RegexKitDefines 56 | 57 | // RKLock and RKReadWriteLock are private classes 58 | @class RKRegex, RKCache, RKEnumerator, RKLock, RKReadWriteLock; 59 | 60 | #ifdef USE_AUTORELEASED_MALLOC 61 | @class RKAutoreleasedMemory; 62 | #endif 63 | 64 | #ifdef USE_PLACEHOLDER 65 | @class RKRegexPlaceholder; 66 | #endif 67 | 68 | #import 69 | 70 | #import 71 | #import 72 | #import 73 | #import 74 | #import 75 | #import 76 | #import 77 | #import 78 | #import 79 | #import 80 | 81 | 82 | #endif // _REGEXKIT_REGEXKIT_H_ 83 | 84 | #ifdef __cplusplus 85 | } /* extern "C" */ 86 | #endif 87 | -------------------------------------------------------------------------------- /RegexKit.framework/RegexKit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FileShuttle/fileshuttle/75866904a4776d5d28f5562b84fa1562da1ff0b1/RegexKit.framework/RegexKit -------------------------------------------------------------------------------- /RegexKit.framework/Resources/English.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FileShuttle/fileshuttle/75866904a4776d5d28f5562b84fa1562da1ff0b1/RegexKit.framework/Resources/English.lproj/InfoPlist.strings -------------------------------------------------------------------------------- /RegexKit.framework/Resources/English.lproj/Localizable.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FileShuttle/fileshuttle/75866904a4776d5d28f5562b84fa1562da1ff0b1/RegexKit.framework/Resources/English.lproj/Localizable.strings -------------------------------------------------------------------------------- /RegexKit.framework/Resources/English.lproj/pcre.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FileShuttle/fileshuttle/75866904a4776d5d28f5562b84fa1562da1ff0b1/RegexKit.framework/Resources/English.lproj/pcre.strings -------------------------------------------------------------------------------- /RegexKit.framework/Resources/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | RegexKit 9 | CFBundleIdentifier 10 | com.zang.RegexKit 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | RegexKit 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 0.6.0 19 | CFBundleSignature 20 | ZanG 21 | CFBundleVersion 22 | 0.6.0 23 | LSMinimumSystemVersion 24 | 10.4.0 25 | LSMinimumSystemVersionByArchitecture 26 | 27 | i386 28 | 10.4.4 29 | ppc 30 | 10.4.0 31 | ppc64 32 | 10.5.0 33 | x86_64 34 | 10.5.0 35 | 36 | NSHumanReadableCopyright 37 | Copyright © 2007-2008, John Engelhart 38 | NSPrincipalClass 39 | RKRegex 40 | 41 | 42 | -------------------------------------------------------------------------------- /RegexKit.framework/Resources/LICENSE: -------------------------------------------------------------------------------- 1 | 2 | Important Information 3 | --------------------- 4 | 5 | RegexKit uses the PCRE library, written by Philip Hazel and 6 | Copyright © 1997-2008 University of Cambridge, as its regular expression 7 | pattern matching engine. Therefore, RegexKit requires and incorporates the 8 | PCRE library in to the framework executable. Because of this, you should be 9 | aware of the PCRE library licensing requirements. 10 | 11 | Website: http://www.pcre.org/ 12 | License: http://www.pcre.org/license.txt 13 | Type : BSD License (at time of publication) 14 | 15 | The RegexKit BSD License 16 | ------------------------ 17 | 18 | Copyright © 2007-2008, John Engelhart 19 | 20 | All rights reserved. 21 | 22 | Redistribution and use in source and binary forms, with or without 23 | modification, are permitted provided that the following conditions are met: 24 | 25 | * Redistributions of source code must retain the above copyright 26 | notice, this list of conditions and the following disclaimer. 27 | 28 | * Redistributions in binary form must reproduce the above copyright 29 | notice, this list of conditions and the following disclaimer in the 30 | documentation and/or other materials provided with the distribution. 31 | 32 | * Neither the name of the Zang Industries nor the names of its 33 | contributors may be used to endorse or promote products derived from 34 | this software without specific prior written permission. 35 | 36 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 37 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 38 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 39 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 40 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 41 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 42 | TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 43 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 44 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 45 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 46 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 47 | 48 | The PCRE BSD License 49 | ------------------------ 50 | 51 | Copyright (c) 1997-2008 University of Cambridge 52 | All rights reserved. 53 | 54 | Redistribution and use in source and binary forms, with or without 55 | modification, are permitted provided that the following conditions are met: 56 | 57 | * Redistributions of source code must retain the above copyright notice, 58 | this list of conditions and the following disclaimer. 59 | 60 | * Redistributions in binary form must reproduce the above copyright 61 | notice, this list of conditions and the following disclaimer in the 62 | documentation and/or other materials provided with the distribution. 63 | 64 | * Neither the name of the University of Cambridge nor the name of Google 65 | Inc. nor the names of their contributors may be used to endorse or 66 | promote products derived from this software without specific prior 67 | written permission. 68 | 69 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 70 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 71 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 72 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 73 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 74 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 75 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 76 | INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 77 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 78 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 79 | POSSIBILITY OF SUCH DAMAGE. 80 | -------------------------------------------------------------------------------- /RegexKit.framework/Versions/A/Headers/NSArray.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSArray.h 3 | // RegexKit 4 | // http://regexkit.sourceforge.net/ 5 | // 6 | 7 | /* 8 | Copyright © 2007-2008, John Engelhart 9 | 10 | All rights reserved. 11 | 12 | Redistribution and use in source and binary forms, with or without 13 | modification, are permitted provided that the following conditions are met: 14 | 15 | * Redistributions of source code must retain the above copyright 16 | notice, this list of conditions and the following disclaimer. 17 | 18 | * Redistributions in binary form must reproduce the above copyright 19 | notice, this list of conditions and the following disclaimer in the 20 | documentation and/or other materials provided with the distribution. 21 | 22 | * Neither the name of the Zang Industries nor the names of its 23 | contributors may be used to endorse or promote products derived from 24 | this software without specific prior written permission. 25 | 26 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 27 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 28 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 29 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 30 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 31 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 32 | TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 33 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 34 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 35 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 36 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 37 | */ 38 | 39 | #ifdef __cplusplus 40 | extern "C" { 41 | #endif 42 | 43 | #ifndef _REGEXKIT_NSARRAY_H_ 44 | #define _REGEXKIT_NSARRAY_H_ 1 45 | 46 | #import 47 | #import 48 | 49 | @interface NSArray (RegexKitAdditions) 50 | -(NSArray *)arrayByMatchingObjectsWithRegex:(id)aRegex; 51 | -(NSArray *)arrayByMatchingObjectsWithRegex:(id)aRegex inRange:(const NSRange)range; 52 | -(BOOL)containsObjectMatchingRegex:(id)aRegex; 53 | -(BOOL)containsObjectMatchingRegex:(id)aRegex inRange:(const NSRange)range; 54 | -(RKUInteger)countOfObjectsMatchingRegex:(id)aRegex; 55 | -(RKUInteger)countOfObjectsMatchingRegex:(id)aRegex inRange:(const NSRange)range; 56 | -(RKUInteger)indexOfObjectMatchingRegex:(id)aRegex; 57 | -(RKUInteger)indexOfObjectMatchingRegex:(id)aRegex inRange:(const NSRange)range; 58 | -(NSIndexSet *)indexSetOfObjectsMatchingRegex:(id)aRegex; 59 | -(NSIndexSet *)indexSetOfObjectsMatchingRegex:(id)aRegex inRange:(const NSRange)range; 60 | 61 | @end 62 | 63 | @interface NSMutableArray (RegexKitAdditions) 64 | - (void)addObjectsFromArray:(NSArray *)otherArray matchingRegex:(id)aRegex; 65 | -(void)removeObjectsMatchingRegex:(id)aRegex; 66 | -(void)removeObjectsMatchingRegex:(id)aRegex inRange:(const NSRange)range; 67 | 68 | @end 69 | 70 | #endif // _REGEXKIT_NSARRAY_H_ 71 | 72 | #ifdef __cplusplus 73 | } /* extern "C" */ 74 | #endif 75 | -------------------------------------------------------------------------------- /RegexKit.framework/Versions/A/Headers/NSData.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSData.h 3 | // RegexKit 4 | // http://regexkit.sourceforge.net/ 5 | // 6 | 7 | /* 8 | Copyright © 2007-2008, John Engelhart 9 | 10 | All rights reserved. 11 | 12 | Redistribution and use in source and binary forms, with or without 13 | modification, are permitted provided that the following conditions are met: 14 | 15 | * Redistributions of source code must retain the above copyright 16 | notice, this list of conditions and the following disclaimer. 17 | 18 | * Redistributions in binary form must reproduce the above copyright 19 | notice, this list of conditions and the following disclaimer in the 20 | documentation and/or other materials provided with the distribution. 21 | 22 | * Neither the name of the Zang Industries nor the names of its 23 | contributors may be used to endorse or promote products derived from 24 | this software without specific prior written permission. 25 | 26 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 27 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 28 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 29 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 30 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 31 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 32 | TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 33 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 34 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 35 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 36 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 37 | */ 38 | 39 | #ifdef __cplusplus 40 | extern "C" { 41 | #endif 42 | 43 | #ifndef _REGEXKIT_NSDATA_H_ 44 | #define _REGEXKIT_NSDATA_H_ 1 45 | 46 | #import 47 | #import 48 | #import 49 | 50 | @interface NSData (RegexKitAdditions) 51 | - (BOOL)isMatchedByRegex:(id)aRegex; 52 | - (BOOL)isMatchedByRegex:(id)aRegex inRange:(const NSRange)range; 53 | - (NSRange)rangeOfRegex:(id)aRegex; 54 | - (NSRange)rangeOfRegex:(id)aRegex inRange:(const NSRange)range capture:(const RKUInteger)capture; 55 | - (NSRange *)rangesOfRegex:(id)aRegex; 56 | - (NSRange *)rangesOfRegex:(id)aRegex inRange:(const NSRange)range; 57 | - (NSData *)subdataByMatching:(id)aRegex; 58 | - (NSData *)subdataByMatching:(id)aRegex inRange:(const NSRange)range; 59 | 60 | @end 61 | 62 | #endif // _REGEXKIT_NSDATA_H_ 63 | 64 | #ifdef __cplusplus 65 | } /* extern "C" */ 66 | #endif 67 | -------------------------------------------------------------------------------- /RegexKit.framework/Versions/A/Headers/NSDictionary.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSDictionary.h 3 | // RegexKit 4 | // http://regexkit.sourceforge.net/ 5 | // 6 | 7 | /* 8 | Copyright © 2007-2008, John Engelhart 9 | 10 | All rights reserved. 11 | 12 | Redistribution and use in source and binary forms, with or without 13 | modification, are permitted provided that the following conditions are met: 14 | 15 | * Redistributions of source code must retain the above copyright 16 | notice, this list of conditions and the following disclaimer. 17 | 18 | * Redistributions in binary form must reproduce the above copyright 19 | notice, this list of conditions and the following disclaimer in the 20 | documentation and/or other materials provided with the distribution. 21 | 22 | * Neither the name of the Zang Industries nor the names of its 23 | contributors may be used to endorse or promote products derived from 24 | this software without specific prior written permission. 25 | 26 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 27 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 28 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 29 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 30 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 31 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 32 | TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 33 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 34 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 35 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 36 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 37 | */ 38 | 39 | #ifdef __cplusplus 40 | extern "C" { 41 | #endif 42 | 43 | #ifndef _REGEXKIT_NSDICTIONARY_H_ 44 | #define _REGEXKIT_NSDICTIONARY_H_ 1 45 | 46 | #import 47 | #import 48 | 49 | @interface NSDictionary (RegexKitAdditions) 50 | - (NSDictionary *)dictionaryByMatchingKeysWithRegex:(id)aRegex; 51 | - (NSDictionary *)dictionaryByMatchingObjectsWithRegex:(id)aRegex; 52 | - (BOOL)containsKeyMatchingRegex:(id)aRegex; 53 | - (BOOL)containsObjectMatchingRegex:(id)aRegex; 54 | - (NSArray *)keysMatchingRegex:(id)aRegex; 55 | - (NSArray *)keysForObjectsMatchingRegex:(id)aRegex; 56 | - (NSArray *)objectsForKeysMatchingRegex:(id)aRegex; 57 | - (NSArray *)objectsMatchingRegex:(id)regexObject; 58 | 59 | @end 60 | 61 | @interface NSMutableDictionary (RegexKitAdditions) 62 | - (void)addEntriesFromDictionary:(id)otherDictionary withKeysMatchingRegex:(id)aRegex; 63 | - (void)addEntriesFromDictionary:(id)otherDictionary withObjectsMatchingRegex:(id)aRegex; 64 | - (void)removeObjectsMatchingRegex:(id)aRegex; 65 | - (void)removeObjectsForKeysMatchingRegex:(id)aRegex; 66 | 67 | 68 | @end 69 | 70 | #endif // _REGEXKIT_NSDICTIONARY_H_ 71 | 72 | #ifdef __cplusplus 73 | } /* extern "C" */ 74 | #endif 75 | -------------------------------------------------------------------------------- /RegexKit.framework/Versions/A/Headers/NSObject.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSObject.h 3 | // RegexKit 4 | // http://regexkit.sourceforge.net/ 5 | // 6 | 7 | /* 8 | Copyright © 2007-2008, John Engelhart 9 | 10 | All rights reserved. 11 | 12 | Redistribution and use in source and binary forms, with or without 13 | modification, are permitted provided that the following conditions are met: 14 | 15 | * Redistributions of source code must retain the above copyright 16 | notice, this list of conditions and the following disclaimer. 17 | 18 | * Redistributions in binary form must reproduce the above copyright 19 | notice, this list of conditions and the following disclaimer in the 20 | documentation and/or other materials provided with the distribution. 21 | 22 | * Neither the name of the Zang Industries nor the names of its 23 | contributors may be used to endorse or promote products derived from 24 | this software without specific prior written permission. 25 | 26 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 27 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 28 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 29 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 30 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 31 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 32 | TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 33 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 34 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 35 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 36 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 37 | */ 38 | 39 | #ifdef __cplusplus 40 | extern "C" { 41 | #endif 42 | 43 | #ifndef _REGEXKIT_NSOBJECT_H_ 44 | #define _REGEXKIT_NSOBJECT_H_ 1 45 | 46 | #import 47 | #import 48 | 49 | @interface NSObject (RegexKitAdditions) 50 | - (BOOL)isMatchedByRegex:(id)aRegex; 51 | - (BOOL)isMatchedByAnyRegexInArray:(NSArray *)regexArray; 52 | - (RKRegex *)anyMatchingRegexInArray:(NSArray *)regexArray; 53 | - (RKRegex *)firstMatchingRegexInArray:(NSArray *)regexArray; 54 | - (BOOL)isMatchedByAnyRegexInArray:(NSArray *)regexArray library:(NSString *)library options:(RKCompileOption)libraryOptions error:(NSError **)error; 55 | - (RKRegex *)anyMatchingRegexInArray:(NSArray *)regexArray library:(NSString *)library options:(RKCompileOption)libraryOptions error:(NSError **)error; 56 | - (RKRegex *)firstMatchingRegexInArray:(NSArray *)regexArray library:(NSString *)library options:(RKCompileOption)libraryOptions error:(NSError **)error; 57 | - (BOOL)isMatchedByAnyRegexInSet:(NSSet *)regexSet; 58 | - (RKRegex *)anyMatchingRegexInSet:(NSSet *)regexSet; 59 | - (BOOL)isMatchedByAnyRegexInSet:(NSSet *)regexSet library:(NSString *)library options:(RKCompileOption)libraryOptions error:(NSError **)error; 60 | - (RKRegex *)anyMatchingRegexInSet:(NSSet *)regexSet library:(NSString *)library options:(RKCompileOption)libraryOptions error:(NSError **)error; 61 | 62 | @end 63 | 64 | #endif // _REGEXKIT_NSOBJECT_H_ 65 | 66 | #ifdef __cplusplus 67 | } /* extern "C" */ 68 | #endif 69 | -------------------------------------------------------------------------------- /RegexKit.framework/Versions/A/Headers/NSSet.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSSet.h 3 | // RegexKit 4 | // http://regexkit.sourceforge.net/ 5 | // 6 | 7 | /* 8 | Copyright © 2007-2008, John Engelhart 9 | 10 | All rights reserved. 11 | 12 | Redistribution and use in source and binary forms, with or without 13 | modification, are permitted provided that the following conditions are met: 14 | 15 | * Redistributions of source code must retain the above copyright 16 | notice, this list of conditions and the following disclaimer. 17 | 18 | * Redistributions in binary form must reproduce the above copyright 19 | notice, this list of conditions and the following disclaimer in the 20 | documentation and/or other materials provided with the distribution. 21 | 22 | * Neither the name of the Zang Industries nor the names of its 23 | contributors may be used to endorse or promote products derived from 24 | this software without specific prior written permission. 25 | 26 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 27 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 28 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 29 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 30 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 31 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 32 | TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 33 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 34 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 35 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 36 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 37 | */ 38 | 39 | #ifdef __cplusplus 40 | extern "C" { 41 | #endif 42 | 43 | #ifndef _REGEXKIT_NSSET_H_ 44 | #define _REGEXKIT_NSSET_H_ 1 45 | 46 | #import 47 | #import 48 | #import 49 | 50 | @interface NSSet (RegexKitAdditions) 51 | -(id)anyObjectMatchingRegex:(id)aRegex; 52 | -(BOOL)containsObjectMatchingRegex:(id)aRegex; 53 | -(RKUInteger)countOfObjectsMatchingRegex:(id)aRegex; 54 | -(NSSet *)setByMatchingObjectsWithRegex:(id)aRegex; 55 | 56 | 57 | @end 58 | 59 | @interface NSMutableSet (RegexKitAdditions) 60 | -(void)removeObjectsMatchingRegex:(id)aRegex; 61 | - (void)addObjectsFromArray:(NSArray *)otherArray matchingRegex:(id)aRegex; 62 | - (void)addObjectsFromSet:(NSSet *)otherSet matchingRegex:(id)aRegex; 63 | 64 | @end 65 | 66 | #endif // _REGEXKIT_NSSET_H_ 67 | 68 | #ifdef __cplusplus 69 | } /* extern "C" */ 70 | #endif 71 | -------------------------------------------------------------------------------- /RegexKit.framework/Versions/A/Headers/RKCache.h: -------------------------------------------------------------------------------- 1 | // 2 | // RKCache.h 3 | // RegexKit 4 | // http://regexkit.sourceforge.net/ 5 | // 6 | 7 | /* 8 | Copyright © 2007-2008, John Engelhart 9 | 10 | All rights reserved. 11 | 12 | Redistribution and use in source and binary forms, with or without 13 | modification, are permitted provided that the following conditions are met: 14 | 15 | * Redistributions of source code must retain the above copyright 16 | notice, this list of conditions and the following disclaimer. 17 | 18 | * Redistributions in binary form must reproduce the above copyright 19 | notice, this list of conditions and the following disclaimer in the 20 | documentation and/or other materials provided with the distribution. 21 | 22 | * Neither the name of the Zang Industries nor the names of its 23 | contributors may be used to endorse or promote products derived from 24 | this software without specific prior written permission. 25 | 26 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 27 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 28 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 29 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 30 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 31 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 32 | TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 33 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 34 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 35 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 36 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 37 | */ 38 | 39 | #ifdef __cplusplus 40 | extern "C" { 41 | #endif 42 | 43 | #ifndef _REGEXKIT_RKCACHE_H_ 44 | #define _REGEXKIT_RKCACHE_H_ 1 45 | 46 | #import 47 | #import 48 | #import 49 | #import 50 | 51 | @class RKReadWriteLock; 52 | 53 | @interface RKCache : NSObject { 54 | RK_STRONG_REF RKReadWriteLock *cacheRWLock; 55 | RK_STRONG_REF NSMapTable *cacheMapTable; 56 | RK_STRONG_REF NSString *cacheDescriptionString; 57 | RKUInteger cacheHits; 58 | RKUInteger cacheMisses; 59 | RKUInteger cacheClearedCount; 60 | int cacheInitialized; 61 | int cacheIsEnabled; 62 | int cacheAddingIsEnabled; // Used during debugging 63 | int cacheLookupIsEnabled; // Used during debugging 64 | RK_STRONG_REF char *cacheDescriptionUTF8String; 65 | } 66 | - (id)initWithDescription:(NSString * const)descriptionString; 67 | - (void)setDescription:(NSString * const)descriptionString; 68 | - (NSString *)status; 69 | - (NSString *)description; 70 | - (id)objectForHash:(const RKUInteger)objectHash description:(NSString * const)descriptionString; 71 | - (id)objectForHash:(const RKUInteger)objectHash description:(NSString * const)descriptionString autorelease:(const BOOL)shouldAutorelease; 72 | - (BOOL)addObjectToCache:(id)object; 73 | - (BOOL)addObjectToCache:(id)object withHash:(const RKUInteger)objectHash; 74 | - (id)removeObjectFromCache:(id)object; 75 | - (id)removeObjectWithHash:(const RKUInteger)objectHash; 76 | - (BOOL)clearCache; 77 | - (NSSet *)cacheSet; 78 | - (BOOL)isCacheEnabled; 79 | - (BOOL)setCacheEnabled:(const BOOL)enableCache; 80 | - (RKUInteger)cacheCount; 81 | 82 | @end 83 | 84 | 85 | @interface RKCache (CacheDebugging) 86 | 87 | - (BOOL)isCacheAddingEnabled; 88 | - (BOOL)setCacheAddingEnabled:(const BOOL)enableCacheAdding; 89 | - (BOOL)isCacheLookupEnabled; 90 | - (BOOL)setCacheLookupEnabled:(const BOOL)enableCacheLookup; 91 | 92 | @end 93 | 94 | @interface RKCache (CountersDebugging) 95 | 96 | - (void)setDebug:(const BOOL)enableDebugging; 97 | - (void)clearCounters; 98 | - (RKUInteger)cacheClearedCount; 99 | - (RKUInteger)readBusyCount; 100 | - (RKUInteger)readSpinCount; 101 | - (RKUInteger)writeBusyCount; 102 | - (RKUInteger)writeSpinCount; 103 | 104 | @end 105 | 106 | #endif // _REGEXKIT_RKCACHE_H_ 107 | 108 | #ifdef __cplusplus 109 | } /* extern "C" */ 110 | #endif 111 | -------------------------------------------------------------------------------- /RegexKit.framework/Versions/A/Headers/RKEnumerator.h: -------------------------------------------------------------------------------- 1 | // 2 | // RKEnumerator.h 3 | // RegexKit 4 | // http://regexkit.sourceforge.net/ 5 | // 6 | 7 | /* 8 | Copyright © 2007-2008, John Engelhart 9 | 10 | All rights reserved. 11 | 12 | Redistribution and use in source and binary forms, with or without 13 | modification, are permitted provided that the following conditions are met: 14 | 15 | * Redistributions of source code must retain the above copyright 16 | notice, this list of conditions and the following disclaimer. 17 | 18 | * Redistributions in binary form must reproduce the above copyright 19 | notice, this list of conditions and the following disclaimer in the 20 | documentation and/or other materials provided with the distribution. 21 | 22 | * Neither the name of the Zang Industries nor the names of its 23 | contributors may be used to endorse or promote products derived from 24 | this software without specific prior written permission. 25 | 26 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 27 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 28 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 29 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 30 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 31 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 32 | TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 33 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 34 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 35 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 36 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 37 | */ 38 | 39 | #ifdef __cplusplus 40 | extern "C" { 41 | #endif 42 | 43 | #ifndef _REGEXKIT_RKENUMERATOR_H_ 44 | #define _REGEXKIT_RKENUMERATOR_H_ 1 45 | 46 | @class RKRegex; 47 | 48 | #import 49 | #import 50 | #import 51 | 52 | @interface RKEnumerator : NSEnumerator { 53 | RKRegex *regex; 54 | NSString *string; 55 | RKUInteger atBufferLocation; 56 | RKUInteger regexCaptureCount; 57 | NSRange searchByteRange; 58 | NSRange searchUTF16Range; 59 | RK_STRONG_REF NSRange *resultUTF8Ranges; 60 | RK_STRONG_REF NSRange *resultUTF16Ranges; 61 | RKUInteger hasPerformedMatch:1; 62 | } 63 | + (id)enumeratorWithRegex:(id)aRegex string:(NSString * const)string; 64 | + (id)enumeratorWithRegex:(id)aRegex string:(NSString * const)string inRange:(const NSRange)range; 65 | + (id)enumeratorWithRegex:(id)initRegex string:(NSString * const)initString inRange:(const NSRange)initRange error:(NSError **)error; 66 | - (id)initWithRegex:(id)initRegex string:(NSString * const)initString; 67 | - (id)initWithRegex:(id)initRegex string:(NSString * const)initString inRange:(const NSRange)initRange; 68 | - (id)initWithRegex:(id)initRegex string:(NSString * const)initString inRange:(const NSRange)initRange error:(NSError **)error; 69 | - (RKRegex *)regex; 70 | - (NSString *)string; 71 | - (NSRange)currentRange; 72 | - (NSRange)currentRangeForCapture:(const RKUInteger)capture; 73 | - (NSRange)currentRangeForCaptureName:(NSString * const)captureNameString; 74 | - (NSRange *)currentRanges; 75 | - (id)nextObject; 76 | - (NSRange)nextRange; 77 | - (NSRange)nextRangeForCapture:(const RKUInteger)capture; 78 | - (NSRange)nextRangeForCaptureName:(NSString * const)captureNameString; 79 | - (NSRange *)nextRanges; 80 | - (BOOL)getCapturesWithReferences:(NSString * const)firstReference, ... RK_REQUIRES_NIL_TERMINATION; 81 | - (NSString *)stringWithReferenceString:(NSString * const)referenceString; 82 | - (NSString *)stringWithReferenceFormat:(NSString * const)referenceFormatString, ...; 83 | - (NSString *)stringWithReferenceFormat:(NSString * const)referenceFormatString arguments:(va_list)argList; 84 | 85 | @end 86 | 87 | #endif // _REGEXKIT_RKENUMERATOR_H_ 88 | 89 | #ifdef __cplusplus 90 | } /* extern "C" */ 91 | #endif 92 | -------------------------------------------------------------------------------- /RegexKit.framework/Versions/A/Headers/RKRegex.h: -------------------------------------------------------------------------------- 1 | // 2 | // RKRegex.h 3 | // RegexKit 4 | // http://regexkit.sourceforge.net/ 5 | // 6 | 7 | /* 8 | Copyright © 2007-2008, John Engelhart 9 | 10 | All rights reserved. 11 | 12 | Redistribution and use in source and binary forms, with or without 13 | modification, are permitted provided that the following conditions are met: 14 | 15 | * Redistributions of source code must retain the above copyright 16 | notice, this list of conditions and the following disclaimer. 17 | 18 | * Redistributions in binary form must reproduce the above copyright 19 | notice, this list of conditions and the following disclaimer in the 20 | documentation and/or other materials provided with the distribution. 21 | 22 | * Neither the name of the Zang Industries nor the names of its 23 | contributors may be used to endorse or promote products derived from 24 | this software without specific prior written permission. 25 | 26 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 27 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 28 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 29 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 30 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 31 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 32 | TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 33 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 34 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 35 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 36 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 37 | */ 38 | 39 | #ifdef __cplusplus 40 | extern "C" { 41 | #endif 42 | 43 | #ifndef _REGEXKIT_RKREGEX_H_ 44 | #define _REGEXKIT_RKREGEX_H_ 1 45 | 46 | #import 47 | #import 48 | #import 49 | #import 50 | 51 | @interface RKRegex : NSObject { 52 | RK_STRONG_REF pcre *_compiledPCRE; // Pointer to pcre library type pcre. 53 | RK_STRONG_REF pcre_extra *_extraPCRE; // Pointer to pcre library type pcre_extra. 54 | 55 | NSString *compiledRegexString; // A copy of the regex string that was compiled. 56 | RKCompileOption compileOption; // The options used to compile this regex. 57 | RKUInteger captureCount; // The number of captures in the compiled regex string. 58 | RK_STRONG_REF char *captureNameTable; // Pointer to capture names structure. 59 | RKUInteger captureNameTableLength; // Number of entries in the capture name structure 60 | RKUInteger captureNameLength; // The length of a capture name entry. 61 | NSArray *captureNameArray; // An array that maps capture index values to capture names. nil if no named captures. 62 | 63 | RKInteger referenceCountMinusOne; // Keep track of the reference count ourselves. 64 | RKUInteger hash; // Hash value for this object. 65 | 66 | RK_STRONG_REF char *compiledRegexUTF8String; 67 | RK_STRONG_REF char *compiledOptionUTF8String; 68 | } 69 | 70 | + (RKCache *)regexCache; 71 | 72 | + (NSString *)PCREVersionString; 73 | + (int32_t)PCREMajorVersion; 74 | + (int32_t)PCREMinorVersion; 75 | + (RKBuildConfig)PCREBuildConfig; 76 | 77 | + (BOOL)isValidRegexString:(NSString * const)regexString options:(const RKCompileOption)options; 78 | + (id)regexWithRegexString:(NSString * const)regexString options:(const RKCompileOption)options; 79 | + (id)regexWithRegexString:(NSString * const RK_C99(restrict))regexString library:(NSString * const RK_C99(restrict))libraryString options:(const RKCompileOption)libraryOptions error:(NSError **)error; 80 | - (id)initWithRegexString:(NSString * const RK_C99(restrict))regexString options:(const RKCompileOption)options; 81 | - (id)initWithRegexString:(NSString * const RK_C99(restrict))regexString library:(NSString * const RK_C99(restrict))library options:(const RKCompileOption)libraryOptions error:(NSError **)error; 82 | - (NSString *)regexString; 83 | - (RKCompileOption)compileOption; 84 | 85 | - (RKUInteger)captureCount; 86 | - (NSArray *)captureNameArray; 87 | - (BOOL)isValidCaptureName:(NSString * const)captureNameString; 88 | - (RKUInteger)captureIndexForCaptureName:(NSString * const)captureNameString; 89 | - (NSString *)captureNameForCaptureIndex:(const RKUInteger)captureIndex; 90 | - (RKUInteger)captureIndexForCaptureName:(NSString * const RK_C99(restrict))captureNameString inMatchedRanges:(const NSRange * const RK_C99(restrict))matchedRanges; 91 | - (RKUInteger)captureIndexForCaptureName:(NSString * const RK_C99(restrict))captureNameString inMatchedRanges:(const NSRange * const RK_C99(restrict))matchedRanges error:(NSError **)error; 92 | 93 | - (BOOL)matchesCharacters:(const void * const RK_C99(restrict))matchCharacters length:(const RKUInteger)length inRange:(const NSRange)searchRange options:(const RKMatchOption)options; 94 | - (NSRange)rangeForCharacters:(const void * const RK_C99(restrict))matchCharacters length:(const RKUInteger)length inRange:(const NSRange)searchRange captureIndex:(const RKUInteger)captureIndex options:(const RKMatchOption)options; 95 | - (NSRange *)rangesForCharacters:(const void * const RK_C99(restrict))matchCharacters length:(const RKUInteger)length inRange:(const NSRange)searchRange options:(const RKMatchOption)options; 96 | - (RKMatchErrorCode)getRanges:(NSRange * const RK_C99(restrict))ranges withCharacters:(const void * const RK_C99(restrict))charactersBuffer length:(const RKUInteger)length inRange:(const NSRange)searchRange options:(const RKMatchOption)options; 97 | 98 | @end 99 | 100 | #endif // _REGEXKIT_RKREGEX_H_ 101 | 102 | #ifdef __cplusplus 103 | } /* extern "C" */ 104 | #endif 105 | -------------------------------------------------------------------------------- /RegexKit.framework/Versions/A/Headers/RKUtility.h: -------------------------------------------------------------------------------- 1 | // 2 | // RKUtility.h 3 | // RegexKit 4 | // http://regexkit.sourceforge.net/ 5 | // 6 | 7 | /* 8 | Copyright © 2007-2008, John Engelhart 9 | 10 | All rights reserved. 11 | 12 | Redistribution and use in source and binary forms, with or without 13 | modification, are permitted provided that the following conditions are met: 14 | 15 | * Redistributions of source code must retain the above copyright 16 | notice, this list of conditions and the following disclaimer. 17 | 18 | * Redistributions in binary form must reproduce the above copyright 19 | notice, this list of conditions and the following disclaimer in the 20 | documentation and/or other materials provided with the distribution. 21 | 22 | * Neither the name of the Zang Industries nor the names of its 23 | contributors may be used to endorse or promote products derived from 24 | this software without specific prior written permission. 25 | 26 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 27 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 28 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 29 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 30 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 31 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 32 | TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 33 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 34 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 35 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 36 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 37 | */ 38 | 39 | #ifdef __cplusplus 40 | extern "C" { 41 | #endif 42 | 43 | #ifndef _REGEXKIT_RKUTILITY_H_ 44 | #define _REGEXKIT_RKUTILITY_H_ 1 45 | 46 | #import 47 | #import 48 | #import 49 | REGEXKIT_EXTERN NSString *RKStringFromNewlineOption(const int decodeNewlineOption, NSString *prefixString) RK_ATTRIBUTES(nonnull (2), used); 50 | REGEXKIT_EXTERN NSArray *RKArrayFromMatchOption(const RKMatchOption decodeMatchOption) RK_ATTRIBUTES(used); 51 | REGEXKIT_EXTERN NSArray *RKArrayFromCompileOption(const RKCompileOption decodeCompileOption) RK_ATTRIBUTES(used); 52 | REGEXKIT_EXTERN NSArray *RKArrayFromBuildConfig(const RKBuildConfig decodeBuildConfig) RK_ATTRIBUTES(used); 53 | REGEXKIT_EXTERN NSString *RKStringFromCompileErrorCode(const RKCompileErrorCode decodeErrorCode) RK_ATTRIBUTES(used); 54 | REGEXKIT_EXTERN NSString *RKStringFromMatchErrorCode(const RKMatchErrorCode decodeErrorCode) RK_ATTRIBUTES(used); 55 | 56 | #endif // _REGEXKIT_RKUTILITY_H_ 57 | 58 | #ifdef __cplusplus 59 | } /* extern "C" */ 60 | #endif 61 | -------------------------------------------------------------------------------- /RegexKit.framework/Versions/A/Headers/RegexKit.h: -------------------------------------------------------------------------------- 1 | // 2 | // RegexKit.h 3 | // RegexKit 4 | // http://regexkit.sourceforge.net/ 5 | // 6 | 7 | /* 8 | Copyright © 2007-2008, John Engelhart 9 | 10 | All rights reserved. 11 | 12 | Redistribution and use in source and binary forms, with or without 13 | modification, are permitted provided that the following conditions are met: 14 | 15 | * Redistributions of source code must retain the above copyright 16 | notice, this list of conditions and the following disclaimer. 17 | 18 | * Redistributions in binary form must reproduce the above copyright 19 | notice, this list of conditions and the following disclaimer in the 20 | documentation and/or other materials provided with the distribution. 21 | 22 | * Neither the name of the Zang Industries nor the names of its 23 | contributors may be used to endorse or promote products derived from 24 | this software without specific prior written permission. 25 | 26 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 27 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 28 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 29 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 30 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 31 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 32 | TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 33 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 34 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 35 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 36 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 37 | */ 38 | 39 | #ifdef __cplusplus 40 | extern "C" { 41 | #endif 42 | 43 | #ifndef _REGEXKIT_REGEXKIT_H_ 44 | #define _REGEXKIT_REGEXKIT_H_ 1 45 | 46 | #import 47 | #import 48 | 49 | // Include primary header for the runtime environment 50 | #ifdef __MACOSX_RUNTIME__ 51 | #import 52 | #else // Using GNUstep run time 53 | #import 54 | #import 55 | #endif //__MACOSX_RUNTIME__ defined in RegexKitDefines 56 | 57 | // RKLock and RKReadWriteLock are private classes 58 | @class RKRegex, RKCache, RKEnumerator, RKLock, RKReadWriteLock; 59 | 60 | #ifdef USE_AUTORELEASED_MALLOC 61 | @class RKAutoreleasedMemory; 62 | #endif 63 | 64 | #ifdef USE_PLACEHOLDER 65 | @class RKRegexPlaceholder; 66 | #endif 67 | 68 | #import 69 | 70 | #import 71 | #import 72 | #import 73 | #import 74 | #import 75 | #import 76 | #import 77 | #import 78 | #import 79 | #import 80 | 81 | 82 | #endif // _REGEXKIT_REGEXKIT_H_ 83 | 84 | #ifdef __cplusplus 85 | } /* extern "C" */ 86 | #endif 87 | -------------------------------------------------------------------------------- /RegexKit.framework/Versions/A/RegexKit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FileShuttle/fileshuttle/75866904a4776d5d28f5562b84fa1562da1ff0b1/RegexKit.framework/Versions/A/RegexKit -------------------------------------------------------------------------------- /RegexKit.framework/Versions/A/Resources/English.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FileShuttle/fileshuttle/75866904a4776d5d28f5562b84fa1562da1ff0b1/RegexKit.framework/Versions/A/Resources/English.lproj/InfoPlist.strings -------------------------------------------------------------------------------- /RegexKit.framework/Versions/A/Resources/English.lproj/Localizable.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FileShuttle/fileshuttle/75866904a4776d5d28f5562b84fa1562da1ff0b1/RegexKit.framework/Versions/A/Resources/English.lproj/Localizable.strings -------------------------------------------------------------------------------- /RegexKit.framework/Versions/A/Resources/English.lproj/pcre.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FileShuttle/fileshuttle/75866904a4776d5d28f5562b84fa1562da1ff0b1/RegexKit.framework/Versions/A/Resources/English.lproj/pcre.strings -------------------------------------------------------------------------------- /RegexKit.framework/Versions/A/Resources/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | RegexKit 9 | CFBundleIdentifier 10 | com.zang.RegexKit 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | RegexKit 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 0.6.0 19 | CFBundleSignature 20 | ZanG 21 | CFBundleVersion 22 | 0.6.0 23 | LSMinimumSystemVersion 24 | 10.4.0 25 | LSMinimumSystemVersionByArchitecture 26 | 27 | i386 28 | 10.4.4 29 | ppc 30 | 10.4.0 31 | ppc64 32 | 10.5.0 33 | x86_64 34 | 10.5.0 35 | 36 | NSHumanReadableCopyright 37 | Copyright © 2007-2008, John Engelhart 38 | NSPrincipalClass 39 | RKRegex 40 | 41 | 42 | -------------------------------------------------------------------------------- /RegexKit.framework/Versions/A/Resources/LICENSE: -------------------------------------------------------------------------------- 1 | 2 | Important Information 3 | --------------------- 4 | 5 | RegexKit uses the PCRE library, written by Philip Hazel and 6 | Copyright © 1997-2008 University of Cambridge, as its regular expression 7 | pattern matching engine. Therefore, RegexKit requires and incorporates the 8 | PCRE library in to the framework executable. Because of this, you should be 9 | aware of the PCRE library licensing requirements. 10 | 11 | Website: http://www.pcre.org/ 12 | License: http://www.pcre.org/license.txt 13 | Type : BSD License (at time of publication) 14 | 15 | The RegexKit BSD License 16 | ------------------------ 17 | 18 | Copyright © 2007-2008, John Engelhart 19 | 20 | All rights reserved. 21 | 22 | Redistribution and use in source and binary forms, with or without 23 | modification, are permitted provided that the following conditions are met: 24 | 25 | * Redistributions of source code must retain the above copyright 26 | notice, this list of conditions and the following disclaimer. 27 | 28 | * Redistributions in binary form must reproduce the above copyright 29 | notice, this list of conditions and the following disclaimer in the 30 | documentation and/or other materials provided with the distribution. 31 | 32 | * Neither the name of the Zang Industries nor the names of its 33 | contributors may be used to endorse or promote products derived from 34 | this software without specific prior written permission. 35 | 36 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 37 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 38 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 39 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 40 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 41 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 42 | TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 43 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 44 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 45 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 46 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 47 | 48 | The PCRE BSD License 49 | ------------------------ 50 | 51 | Copyright (c) 1997-2008 University of Cambridge 52 | All rights reserved. 53 | 54 | Redistribution and use in source and binary forms, with or without 55 | modification, are permitted provided that the following conditions are met: 56 | 57 | * Redistributions of source code must retain the above copyright notice, 58 | this list of conditions and the following disclaimer. 59 | 60 | * Redistributions in binary form must reproduce the above copyright 61 | notice, this list of conditions and the following disclaimer in the 62 | documentation and/or other materials provided with the distribution. 63 | 64 | * Neither the name of the University of Cambridge nor the name of Google 65 | Inc. nor the names of their contributors may be used to endorse or 66 | promote products derived from this software without specific prior 67 | written permission. 68 | 69 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 70 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 71 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 72 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 73 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 74 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 75 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 76 | INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 77 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 78 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 79 | POSSIBILITY OF SUCH DAMAGE. 80 | -------------------------------------------------------------------------------- /RegexKit.framework/Versions/Current/Headers/NSArray.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSArray.h 3 | // RegexKit 4 | // http://regexkit.sourceforge.net/ 5 | // 6 | 7 | /* 8 | Copyright © 2007-2008, John Engelhart 9 | 10 | All rights reserved. 11 | 12 | Redistribution and use in source and binary forms, with or without 13 | modification, are permitted provided that the following conditions are met: 14 | 15 | * Redistributions of source code must retain the above copyright 16 | notice, this list of conditions and the following disclaimer. 17 | 18 | * Redistributions in binary form must reproduce the above copyright 19 | notice, this list of conditions and the following disclaimer in the 20 | documentation and/or other materials provided with the distribution. 21 | 22 | * Neither the name of the Zang Industries nor the names of its 23 | contributors may be used to endorse or promote products derived from 24 | this software without specific prior written permission. 25 | 26 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 27 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 28 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 29 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 30 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 31 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 32 | TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 33 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 34 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 35 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 36 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 37 | */ 38 | 39 | #ifdef __cplusplus 40 | extern "C" { 41 | #endif 42 | 43 | #ifndef _REGEXKIT_NSARRAY_H_ 44 | #define _REGEXKIT_NSARRAY_H_ 1 45 | 46 | #import 47 | #import 48 | 49 | @interface NSArray (RegexKitAdditions) 50 | -(NSArray *)arrayByMatchingObjectsWithRegex:(id)aRegex; 51 | -(NSArray *)arrayByMatchingObjectsWithRegex:(id)aRegex inRange:(const NSRange)range; 52 | -(BOOL)containsObjectMatchingRegex:(id)aRegex; 53 | -(BOOL)containsObjectMatchingRegex:(id)aRegex inRange:(const NSRange)range; 54 | -(RKUInteger)countOfObjectsMatchingRegex:(id)aRegex; 55 | -(RKUInteger)countOfObjectsMatchingRegex:(id)aRegex inRange:(const NSRange)range; 56 | -(RKUInteger)indexOfObjectMatchingRegex:(id)aRegex; 57 | -(RKUInteger)indexOfObjectMatchingRegex:(id)aRegex inRange:(const NSRange)range; 58 | -(NSIndexSet *)indexSetOfObjectsMatchingRegex:(id)aRegex; 59 | -(NSIndexSet *)indexSetOfObjectsMatchingRegex:(id)aRegex inRange:(const NSRange)range; 60 | 61 | @end 62 | 63 | @interface NSMutableArray (RegexKitAdditions) 64 | - (void)addObjectsFromArray:(NSArray *)otherArray matchingRegex:(id)aRegex; 65 | -(void)removeObjectsMatchingRegex:(id)aRegex; 66 | -(void)removeObjectsMatchingRegex:(id)aRegex inRange:(const NSRange)range; 67 | 68 | @end 69 | 70 | #endif // _REGEXKIT_NSARRAY_H_ 71 | 72 | #ifdef __cplusplus 73 | } /* extern "C" */ 74 | #endif 75 | -------------------------------------------------------------------------------- /RegexKit.framework/Versions/Current/Headers/NSData.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSData.h 3 | // RegexKit 4 | // http://regexkit.sourceforge.net/ 5 | // 6 | 7 | /* 8 | Copyright © 2007-2008, John Engelhart 9 | 10 | All rights reserved. 11 | 12 | Redistribution and use in source and binary forms, with or without 13 | modification, are permitted provided that the following conditions are met: 14 | 15 | * Redistributions of source code must retain the above copyright 16 | notice, this list of conditions and the following disclaimer. 17 | 18 | * Redistributions in binary form must reproduce the above copyright 19 | notice, this list of conditions and the following disclaimer in the 20 | documentation and/or other materials provided with the distribution. 21 | 22 | * Neither the name of the Zang Industries nor the names of its 23 | contributors may be used to endorse or promote products derived from 24 | this software without specific prior written permission. 25 | 26 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 27 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 28 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 29 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 30 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 31 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 32 | TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 33 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 34 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 35 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 36 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 37 | */ 38 | 39 | #ifdef __cplusplus 40 | extern "C" { 41 | #endif 42 | 43 | #ifndef _REGEXKIT_NSDATA_H_ 44 | #define _REGEXKIT_NSDATA_H_ 1 45 | 46 | #import 47 | #import 48 | #import 49 | 50 | @interface NSData (RegexKitAdditions) 51 | - (BOOL)isMatchedByRegex:(id)aRegex; 52 | - (BOOL)isMatchedByRegex:(id)aRegex inRange:(const NSRange)range; 53 | - (NSRange)rangeOfRegex:(id)aRegex; 54 | - (NSRange)rangeOfRegex:(id)aRegex inRange:(const NSRange)range capture:(const RKUInteger)capture; 55 | - (NSRange *)rangesOfRegex:(id)aRegex; 56 | - (NSRange *)rangesOfRegex:(id)aRegex inRange:(const NSRange)range; 57 | - (NSData *)subdataByMatching:(id)aRegex; 58 | - (NSData *)subdataByMatching:(id)aRegex inRange:(const NSRange)range; 59 | 60 | @end 61 | 62 | #endif // _REGEXKIT_NSDATA_H_ 63 | 64 | #ifdef __cplusplus 65 | } /* extern "C" */ 66 | #endif 67 | -------------------------------------------------------------------------------- /RegexKit.framework/Versions/Current/Headers/NSDictionary.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSDictionary.h 3 | // RegexKit 4 | // http://regexkit.sourceforge.net/ 5 | // 6 | 7 | /* 8 | Copyright © 2007-2008, John Engelhart 9 | 10 | All rights reserved. 11 | 12 | Redistribution and use in source and binary forms, with or without 13 | modification, are permitted provided that the following conditions are met: 14 | 15 | * Redistributions of source code must retain the above copyright 16 | notice, this list of conditions and the following disclaimer. 17 | 18 | * Redistributions in binary form must reproduce the above copyright 19 | notice, this list of conditions and the following disclaimer in the 20 | documentation and/or other materials provided with the distribution. 21 | 22 | * Neither the name of the Zang Industries nor the names of its 23 | contributors may be used to endorse or promote products derived from 24 | this software without specific prior written permission. 25 | 26 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 27 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 28 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 29 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 30 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 31 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 32 | TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 33 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 34 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 35 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 36 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 37 | */ 38 | 39 | #ifdef __cplusplus 40 | extern "C" { 41 | #endif 42 | 43 | #ifndef _REGEXKIT_NSDICTIONARY_H_ 44 | #define _REGEXKIT_NSDICTIONARY_H_ 1 45 | 46 | #import 47 | #import 48 | 49 | @interface NSDictionary (RegexKitAdditions) 50 | - (NSDictionary *)dictionaryByMatchingKeysWithRegex:(id)aRegex; 51 | - (NSDictionary *)dictionaryByMatchingObjectsWithRegex:(id)aRegex; 52 | - (BOOL)containsKeyMatchingRegex:(id)aRegex; 53 | - (BOOL)containsObjectMatchingRegex:(id)aRegex; 54 | - (NSArray *)keysMatchingRegex:(id)aRegex; 55 | - (NSArray *)keysForObjectsMatchingRegex:(id)aRegex; 56 | - (NSArray *)objectsForKeysMatchingRegex:(id)aRegex; 57 | - (NSArray *)objectsMatchingRegex:(id)regexObject; 58 | 59 | @end 60 | 61 | @interface NSMutableDictionary (RegexKitAdditions) 62 | - (void)addEntriesFromDictionary:(id)otherDictionary withKeysMatchingRegex:(id)aRegex; 63 | - (void)addEntriesFromDictionary:(id)otherDictionary withObjectsMatchingRegex:(id)aRegex; 64 | - (void)removeObjectsMatchingRegex:(id)aRegex; 65 | - (void)removeObjectsForKeysMatchingRegex:(id)aRegex; 66 | 67 | 68 | @end 69 | 70 | #endif // _REGEXKIT_NSDICTIONARY_H_ 71 | 72 | #ifdef __cplusplus 73 | } /* extern "C" */ 74 | #endif 75 | -------------------------------------------------------------------------------- /RegexKit.framework/Versions/Current/Headers/NSObject.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSObject.h 3 | // RegexKit 4 | // http://regexkit.sourceforge.net/ 5 | // 6 | 7 | /* 8 | Copyright © 2007-2008, John Engelhart 9 | 10 | All rights reserved. 11 | 12 | Redistribution and use in source and binary forms, with or without 13 | modification, are permitted provided that the following conditions are met: 14 | 15 | * Redistributions of source code must retain the above copyright 16 | notice, this list of conditions and the following disclaimer. 17 | 18 | * Redistributions in binary form must reproduce the above copyright 19 | notice, this list of conditions and the following disclaimer in the 20 | documentation and/or other materials provided with the distribution. 21 | 22 | * Neither the name of the Zang Industries nor the names of its 23 | contributors may be used to endorse or promote products derived from 24 | this software without specific prior written permission. 25 | 26 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 27 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 28 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 29 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 30 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 31 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 32 | TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 33 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 34 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 35 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 36 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 37 | */ 38 | 39 | #ifdef __cplusplus 40 | extern "C" { 41 | #endif 42 | 43 | #ifndef _REGEXKIT_NSOBJECT_H_ 44 | #define _REGEXKIT_NSOBJECT_H_ 1 45 | 46 | #import 47 | #import 48 | 49 | @interface NSObject (RegexKitAdditions) 50 | - (BOOL)isMatchedByRegex:(id)aRegex; 51 | - (BOOL)isMatchedByAnyRegexInArray:(NSArray *)regexArray; 52 | - (RKRegex *)anyMatchingRegexInArray:(NSArray *)regexArray; 53 | - (RKRegex *)firstMatchingRegexInArray:(NSArray *)regexArray; 54 | - (BOOL)isMatchedByAnyRegexInArray:(NSArray *)regexArray library:(NSString *)library options:(RKCompileOption)libraryOptions error:(NSError **)error; 55 | - (RKRegex *)anyMatchingRegexInArray:(NSArray *)regexArray library:(NSString *)library options:(RKCompileOption)libraryOptions error:(NSError **)error; 56 | - (RKRegex *)firstMatchingRegexInArray:(NSArray *)regexArray library:(NSString *)library options:(RKCompileOption)libraryOptions error:(NSError **)error; 57 | - (BOOL)isMatchedByAnyRegexInSet:(NSSet *)regexSet; 58 | - (RKRegex *)anyMatchingRegexInSet:(NSSet *)regexSet; 59 | - (BOOL)isMatchedByAnyRegexInSet:(NSSet *)regexSet library:(NSString *)library options:(RKCompileOption)libraryOptions error:(NSError **)error; 60 | - (RKRegex *)anyMatchingRegexInSet:(NSSet *)regexSet library:(NSString *)library options:(RKCompileOption)libraryOptions error:(NSError **)error; 61 | 62 | @end 63 | 64 | #endif // _REGEXKIT_NSOBJECT_H_ 65 | 66 | #ifdef __cplusplus 67 | } /* extern "C" */ 68 | #endif 69 | -------------------------------------------------------------------------------- /RegexKit.framework/Versions/Current/Headers/NSSet.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSSet.h 3 | // RegexKit 4 | // http://regexkit.sourceforge.net/ 5 | // 6 | 7 | /* 8 | Copyright © 2007-2008, John Engelhart 9 | 10 | All rights reserved. 11 | 12 | Redistribution and use in source and binary forms, with or without 13 | modification, are permitted provided that the following conditions are met: 14 | 15 | * Redistributions of source code must retain the above copyright 16 | notice, this list of conditions and the following disclaimer. 17 | 18 | * Redistributions in binary form must reproduce the above copyright 19 | notice, this list of conditions and the following disclaimer in the 20 | documentation and/or other materials provided with the distribution. 21 | 22 | * Neither the name of the Zang Industries nor the names of its 23 | contributors may be used to endorse or promote products derived from 24 | this software without specific prior written permission. 25 | 26 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 27 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 28 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 29 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 30 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 31 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 32 | TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 33 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 34 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 35 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 36 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 37 | */ 38 | 39 | #ifdef __cplusplus 40 | extern "C" { 41 | #endif 42 | 43 | #ifndef _REGEXKIT_NSSET_H_ 44 | #define _REGEXKIT_NSSET_H_ 1 45 | 46 | #import 47 | #import 48 | #import 49 | 50 | @interface NSSet (RegexKitAdditions) 51 | -(id)anyObjectMatchingRegex:(id)aRegex; 52 | -(BOOL)containsObjectMatchingRegex:(id)aRegex; 53 | -(RKUInteger)countOfObjectsMatchingRegex:(id)aRegex; 54 | -(NSSet *)setByMatchingObjectsWithRegex:(id)aRegex; 55 | 56 | 57 | @end 58 | 59 | @interface NSMutableSet (RegexKitAdditions) 60 | -(void)removeObjectsMatchingRegex:(id)aRegex; 61 | - (void)addObjectsFromArray:(NSArray *)otherArray matchingRegex:(id)aRegex; 62 | - (void)addObjectsFromSet:(NSSet *)otherSet matchingRegex:(id)aRegex; 63 | 64 | @end 65 | 66 | #endif // _REGEXKIT_NSSET_H_ 67 | 68 | #ifdef __cplusplus 69 | } /* extern "C" */ 70 | #endif 71 | -------------------------------------------------------------------------------- /RegexKit.framework/Versions/Current/Headers/RKCache.h: -------------------------------------------------------------------------------- 1 | // 2 | // RKCache.h 3 | // RegexKit 4 | // http://regexkit.sourceforge.net/ 5 | // 6 | 7 | /* 8 | Copyright © 2007-2008, John Engelhart 9 | 10 | All rights reserved. 11 | 12 | Redistribution and use in source and binary forms, with or without 13 | modification, are permitted provided that the following conditions are met: 14 | 15 | * Redistributions of source code must retain the above copyright 16 | notice, this list of conditions and the following disclaimer. 17 | 18 | * Redistributions in binary form must reproduce the above copyright 19 | notice, this list of conditions and the following disclaimer in the 20 | documentation and/or other materials provided with the distribution. 21 | 22 | * Neither the name of the Zang Industries nor the names of its 23 | contributors may be used to endorse or promote products derived from 24 | this software without specific prior written permission. 25 | 26 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 27 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 28 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 29 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 30 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 31 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 32 | TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 33 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 34 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 35 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 36 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 37 | */ 38 | 39 | #ifdef __cplusplus 40 | extern "C" { 41 | #endif 42 | 43 | #ifndef _REGEXKIT_RKCACHE_H_ 44 | #define _REGEXKIT_RKCACHE_H_ 1 45 | 46 | #import 47 | #import 48 | #import 49 | #import 50 | 51 | @class RKReadWriteLock; 52 | 53 | @interface RKCache : NSObject { 54 | RK_STRONG_REF RKReadWriteLock *cacheRWLock; 55 | RK_STRONG_REF NSMapTable *cacheMapTable; 56 | RK_STRONG_REF NSString *cacheDescriptionString; 57 | RKUInteger cacheHits; 58 | RKUInteger cacheMisses; 59 | RKUInteger cacheClearedCount; 60 | int cacheInitialized; 61 | int cacheIsEnabled; 62 | int cacheAddingIsEnabled; // Used during debugging 63 | int cacheLookupIsEnabled; // Used during debugging 64 | RK_STRONG_REF char *cacheDescriptionUTF8String; 65 | } 66 | - (id)initWithDescription:(NSString * const)descriptionString; 67 | - (void)setDescription:(NSString * const)descriptionString; 68 | - (NSString *)status; 69 | - (NSString *)description; 70 | - (id)objectForHash:(const RKUInteger)objectHash description:(NSString * const)descriptionString; 71 | - (id)objectForHash:(const RKUInteger)objectHash description:(NSString * const)descriptionString autorelease:(const BOOL)shouldAutorelease; 72 | - (BOOL)addObjectToCache:(id)object; 73 | - (BOOL)addObjectToCache:(id)object withHash:(const RKUInteger)objectHash; 74 | - (id)removeObjectFromCache:(id)object; 75 | - (id)removeObjectWithHash:(const RKUInteger)objectHash; 76 | - (BOOL)clearCache; 77 | - (NSSet *)cacheSet; 78 | - (BOOL)isCacheEnabled; 79 | - (BOOL)setCacheEnabled:(const BOOL)enableCache; 80 | - (RKUInteger)cacheCount; 81 | 82 | @end 83 | 84 | 85 | @interface RKCache (CacheDebugging) 86 | 87 | - (BOOL)isCacheAddingEnabled; 88 | - (BOOL)setCacheAddingEnabled:(const BOOL)enableCacheAdding; 89 | - (BOOL)isCacheLookupEnabled; 90 | - (BOOL)setCacheLookupEnabled:(const BOOL)enableCacheLookup; 91 | 92 | @end 93 | 94 | @interface RKCache (CountersDebugging) 95 | 96 | - (void)setDebug:(const BOOL)enableDebugging; 97 | - (void)clearCounters; 98 | - (RKUInteger)cacheClearedCount; 99 | - (RKUInteger)readBusyCount; 100 | - (RKUInteger)readSpinCount; 101 | - (RKUInteger)writeBusyCount; 102 | - (RKUInteger)writeSpinCount; 103 | 104 | @end 105 | 106 | #endif // _REGEXKIT_RKCACHE_H_ 107 | 108 | #ifdef __cplusplus 109 | } /* extern "C" */ 110 | #endif 111 | -------------------------------------------------------------------------------- /RegexKit.framework/Versions/Current/Headers/RKEnumerator.h: -------------------------------------------------------------------------------- 1 | // 2 | // RKEnumerator.h 3 | // RegexKit 4 | // http://regexkit.sourceforge.net/ 5 | // 6 | 7 | /* 8 | Copyright © 2007-2008, John Engelhart 9 | 10 | All rights reserved. 11 | 12 | Redistribution and use in source and binary forms, with or without 13 | modification, are permitted provided that the following conditions are met: 14 | 15 | * Redistributions of source code must retain the above copyright 16 | notice, this list of conditions and the following disclaimer. 17 | 18 | * Redistributions in binary form must reproduce the above copyright 19 | notice, this list of conditions and the following disclaimer in the 20 | documentation and/or other materials provided with the distribution. 21 | 22 | * Neither the name of the Zang Industries nor the names of its 23 | contributors may be used to endorse or promote products derived from 24 | this software without specific prior written permission. 25 | 26 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 27 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 28 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 29 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 30 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 31 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 32 | TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 33 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 34 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 35 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 36 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 37 | */ 38 | 39 | #ifdef __cplusplus 40 | extern "C" { 41 | #endif 42 | 43 | #ifndef _REGEXKIT_RKENUMERATOR_H_ 44 | #define _REGEXKIT_RKENUMERATOR_H_ 1 45 | 46 | @class RKRegex; 47 | 48 | #import 49 | #import 50 | #import 51 | 52 | @interface RKEnumerator : NSEnumerator { 53 | RKRegex *regex; 54 | NSString *string; 55 | RKUInteger atBufferLocation; 56 | RKUInteger regexCaptureCount; 57 | NSRange searchByteRange; 58 | NSRange searchUTF16Range; 59 | RK_STRONG_REF NSRange *resultUTF8Ranges; 60 | RK_STRONG_REF NSRange *resultUTF16Ranges; 61 | RKUInteger hasPerformedMatch:1; 62 | } 63 | + (id)enumeratorWithRegex:(id)aRegex string:(NSString * const)string; 64 | + (id)enumeratorWithRegex:(id)aRegex string:(NSString * const)string inRange:(const NSRange)range; 65 | + (id)enumeratorWithRegex:(id)initRegex string:(NSString * const)initString inRange:(const NSRange)initRange error:(NSError **)error; 66 | - (id)initWithRegex:(id)initRegex string:(NSString * const)initString; 67 | - (id)initWithRegex:(id)initRegex string:(NSString * const)initString inRange:(const NSRange)initRange; 68 | - (id)initWithRegex:(id)initRegex string:(NSString * const)initString inRange:(const NSRange)initRange error:(NSError **)error; 69 | - (RKRegex *)regex; 70 | - (NSString *)string; 71 | - (NSRange)currentRange; 72 | - (NSRange)currentRangeForCapture:(const RKUInteger)capture; 73 | - (NSRange)currentRangeForCaptureName:(NSString * const)captureNameString; 74 | - (NSRange *)currentRanges; 75 | - (id)nextObject; 76 | - (NSRange)nextRange; 77 | - (NSRange)nextRangeForCapture:(const RKUInteger)capture; 78 | - (NSRange)nextRangeForCaptureName:(NSString * const)captureNameString; 79 | - (NSRange *)nextRanges; 80 | - (BOOL)getCapturesWithReferences:(NSString * const)firstReference, ... RK_REQUIRES_NIL_TERMINATION; 81 | - (NSString *)stringWithReferenceString:(NSString * const)referenceString; 82 | - (NSString *)stringWithReferenceFormat:(NSString * const)referenceFormatString, ...; 83 | - (NSString *)stringWithReferenceFormat:(NSString * const)referenceFormatString arguments:(va_list)argList; 84 | 85 | @end 86 | 87 | #endif // _REGEXKIT_RKENUMERATOR_H_ 88 | 89 | #ifdef __cplusplus 90 | } /* extern "C" */ 91 | #endif 92 | -------------------------------------------------------------------------------- /RegexKit.framework/Versions/Current/Headers/RKUtility.h: -------------------------------------------------------------------------------- 1 | // 2 | // RKUtility.h 3 | // RegexKit 4 | // http://regexkit.sourceforge.net/ 5 | // 6 | 7 | /* 8 | Copyright © 2007-2008, John Engelhart 9 | 10 | All rights reserved. 11 | 12 | Redistribution and use in source and binary forms, with or without 13 | modification, are permitted provided that the following conditions are met: 14 | 15 | * Redistributions of source code must retain the above copyright 16 | notice, this list of conditions and the following disclaimer. 17 | 18 | * Redistributions in binary form must reproduce the above copyright 19 | notice, this list of conditions and the following disclaimer in the 20 | documentation and/or other materials provided with the distribution. 21 | 22 | * Neither the name of the Zang Industries nor the names of its 23 | contributors may be used to endorse or promote products derived from 24 | this software without specific prior written permission. 25 | 26 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 27 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 28 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 29 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 30 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 31 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 32 | TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 33 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 34 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 35 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 36 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 37 | */ 38 | 39 | #ifdef __cplusplus 40 | extern "C" { 41 | #endif 42 | 43 | #ifndef _REGEXKIT_RKUTILITY_H_ 44 | #define _REGEXKIT_RKUTILITY_H_ 1 45 | 46 | #import 47 | #import 48 | #import 49 | REGEXKIT_EXTERN NSString *RKStringFromNewlineOption(const int decodeNewlineOption, NSString *prefixString) RK_ATTRIBUTES(nonnull (2), used); 50 | REGEXKIT_EXTERN NSArray *RKArrayFromMatchOption(const RKMatchOption decodeMatchOption) RK_ATTRIBUTES(used); 51 | REGEXKIT_EXTERN NSArray *RKArrayFromCompileOption(const RKCompileOption decodeCompileOption) RK_ATTRIBUTES(used); 52 | REGEXKIT_EXTERN NSArray *RKArrayFromBuildConfig(const RKBuildConfig decodeBuildConfig) RK_ATTRIBUTES(used); 53 | REGEXKIT_EXTERN NSString *RKStringFromCompileErrorCode(const RKCompileErrorCode decodeErrorCode) RK_ATTRIBUTES(used); 54 | REGEXKIT_EXTERN NSString *RKStringFromMatchErrorCode(const RKMatchErrorCode decodeErrorCode) RK_ATTRIBUTES(used); 55 | 56 | #endif // _REGEXKIT_RKUTILITY_H_ 57 | 58 | #ifdef __cplusplus 59 | } /* extern "C" */ 60 | #endif 61 | -------------------------------------------------------------------------------- /RegexKit.framework/Versions/Current/Headers/RegexKit.h: -------------------------------------------------------------------------------- 1 | // 2 | // RegexKit.h 3 | // RegexKit 4 | // http://regexkit.sourceforge.net/ 5 | // 6 | 7 | /* 8 | Copyright © 2007-2008, John Engelhart 9 | 10 | All rights reserved. 11 | 12 | Redistribution and use in source and binary forms, with or without 13 | modification, are permitted provided that the following conditions are met: 14 | 15 | * Redistributions of source code must retain the above copyright 16 | notice, this list of conditions and the following disclaimer. 17 | 18 | * Redistributions in binary form must reproduce the above copyright 19 | notice, this list of conditions and the following disclaimer in the 20 | documentation and/or other materials provided with the distribution. 21 | 22 | * Neither the name of the Zang Industries nor the names of its 23 | contributors may be used to endorse or promote products derived from 24 | this software without specific prior written permission. 25 | 26 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 27 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 28 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 29 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 30 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 31 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 32 | TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 33 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 34 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 35 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 36 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 37 | */ 38 | 39 | #ifdef __cplusplus 40 | extern "C" { 41 | #endif 42 | 43 | #ifndef _REGEXKIT_REGEXKIT_H_ 44 | #define _REGEXKIT_REGEXKIT_H_ 1 45 | 46 | #import 47 | #import 48 | 49 | // Include primary header for the runtime environment 50 | #ifdef __MACOSX_RUNTIME__ 51 | #import 52 | #else // Using GNUstep run time 53 | #import 54 | #import 55 | #endif //__MACOSX_RUNTIME__ defined in RegexKitDefines 56 | 57 | // RKLock and RKReadWriteLock are private classes 58 | @class RKRegex, RKCache, RKEnumerator, RKLock, RKReadWriteLock; 59 | 60 | #ifdef USE_AUTORELEASED_MALLOC 61 | @class RKAutoreleasedMemory; 62 | #endif 63 | 64 | #ifdef USE_PLACEHOLDER 65 | @class RKRegexPlaceholder; 66 | #endif 67 | 68 | #import 69 | 70 | #import 71 | #import 72 | #import 73 | #import 74 | #import 75 | #import 76 | #import 77 | #import 78 | #import 79 | #import 80 | 81 | 82 | #endif // _REGEXKIT_REGEXKIT_H_ 83 | 84 | #ifdef __cplusplus 85 | } /* extern "C" */ 86 | #endif 87 | -------------------------------------------------------------------------------- /RegexKit.framework/Versions/Current/RegexKit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FileShuttle/fileshuttle/75866904a4776d5d28f5562b84fa1562da1ff0b1/RegexKit.framework/Versions/Current/RegexKit -------------------------------------------------------------------------------- /RegexKit.framework/Versions/Current/Resources/English.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FileShuttle/fileshuttle/75866904a4776d5d28f5562b84fa1562da1ff0b1/RegexKit.framework/Versions/Current/Resources/English.lproj/InfoPlist.strings -------------------------------------------------------------------------------- /RegexKit.framework/Versions/Current/Resources/English.lproj/Localizable.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FileShuttle/fileshuttle/75866904a4776d5d28f5562b84fa1562da1ff0b1/RegexKit.framework/Versions/Current/Resources/English.lproj/Localizable.strings -------------------------------------------------------------------------------- /RegexKit.framework/Versions/Current/Resources/English.lproj/pcre.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FileShuttle/fileshuttle/75866904a4776d5d28f5562b84fa1562da1ff0b1/RegexKit.framework/Versions/Current/Resources/English.lproj/pcre.strings -------------------------------------------------------------------------------- /RegexKit.framework/Versions/Current/Resources/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | RegexKit 9 | CFBundleIdentifier 10 | com.zang.RegexKit 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | RegexKit 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 0.6.0 19 | CFBundleSignature 20 | ZanG 21 | CFBundleVersion 22 | 0.6.0 23 | LSMinimumSystemVersion 24 | 10.4.0 25 | LSMinimumSystemVersionByArchitecture 26 | 27 | i386 28 | 10.4.4 29 | ppc 30 | 10.4.0 31 | ppc64 32 | 10.5.0 33 | x86_64 34 | 10.5.0 35 | 36 | NSHumanReadableCopyright 37 | Copyright © 2007-2008, John Engelhart 38 | NSPrincipalClass 39 | RKRegex 40 | 41 | 42 | -------------------------------------------------------------------------------- /RegexKit.framework/Versions/Current/Resources/LICENSE: -------------------------------------------------------------------------------- 1 | 2 | Important Information 3 | --------------------- 4 | 5 | RegexKit uses the PCRE library, written by Philip Hazel and 6 | Copyright © 1997-2008 University of Cambridge, as its regular expression 7 | pattern matching engine. Therefore, RegexKit requires and incorporates the 8 | PCRE library in to the framework executable. Because of this, you should be 9 | aware of the PCRE library licensing requirements. 10 | 11 | Website: http://www.pcre.org/ 12 | License: http://www.pcre.org/license.txt 13 | Type : BSD License (at time of publication) 14 | 15 | The RegexKit BSD License 16 | ------------------------ 17 | 18 | Copyright © 2007-2008, John Engelhart 19 | 20 | All rights reserved. 21 | 22 | Redistribution and use in source and binary forms, with or without 23 | modification, are permitted provided that the following conditions are met: 24 | 25 | * Redistributions of source code must retain the above copyright 26 | notice, this list of conditions and the following disclaimer. 27 | 28 | * Redistributions in binary form must reproduce the above copyright 29 | notice, this list of conditions and the following disclaimer in the 30 | documentation and/or other materials provided with the distribution. 31 | 32 | * Neither the name of the Zang Industries nor the names of its 33 | contributors may be used to endorse or promote products derived from 34 | this software without specific prior written permission. 35 | 36 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 37 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 38 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 39 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 40 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 41 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 42 | TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 43 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 44 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 45 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 46 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 47 | 48 | The PCRE BSD License 49 | ------------------------ 50 | 51 | Copyright (c) 1997-2008 University of Cambridge 52 | All rights reserved. 53 | 54 | Redistribution and use in source and binary forms, with or without 55 | modification, are permitted provided that the following conditions are met: 56 | 57 | * Redistributions of source code must retain the above copyright notice, 58 | this list of conditions and the following disclaimer. 59 | 60 | * Redistributions in binary form must reproduce the above copyright 61 | notice, this list of conditions and the following disclaimer in the 62 | documentation and/or other materials provided with the distribution. 63 | 64 | * Neither the name of the University of Cambridge nor the name of Google 65 | Inc. nor the names of their contributors may be used to endorse or 66 | promote products derived from this software without specific prior 67 | written permission. 68 | 69 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 70 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 71 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 72 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 73 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 74 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 75 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 76 | INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 77 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 78 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 79 | POSSIBILITY OF SUCH DAMAGE. 80 | -------------------------------------------------------------------------------- /Scripts/codesign-frameworks.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # codesign-frameworks.sh 4 | # Fileshuttle 5 | # 6 | # Created by Anthony Somerset on 12/10/2015. 7 | # 8 | #!/bin/sh 9 | 10 | # WARNING: You may have to run Clean in Xcode after changing CODE_SIGN_IDENTITY! 11 | 12 | # Verify that $CODE_SIGN_IDENTITY is set 13 | if [ -z "${CODE_SIGN_IDENTITY}" ] ; then 14 | echo "CODE_SIGN_IDENTITY needs to be set for framework code-signing!" 15 | 16 | if [ "${CONFIGURATION}" = "Release" ] ; then 17 | exit 1 18 | else 19 | # Code-signing is optional for non-release builds. 20 | exit 0 21 | fi 22 | fi 23 | 24 | if [ -z "${CODE_SIGN_ENTITLEMENTS}" ] ; then 25 | echo "CODE_SIGN_ENTITLEMENTS needs to be set for framework code-signing!" 26 | 27 | if [ "${CONFIGURATION}" = "Release" ] ; then 28 | exit 1 29 | else 30 | # Code-signing is optional for non-release builds. 31 | exit 0 32 | fi 33 | fi 34 | 35 | ITEMS="" 36 | 37 | FRAMEWORKS_DIR="${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 38 | if [ -d "$FRAMEWORKS_DIR" ] ; then 39 | FRAMEWORKS=$(find "${FRAMEWORKS_DIR}" -depth -type d -name "*.framework" -or -name "*.dylib" -or -name "*.bundle" | sed -e "s/\(.*framework\)/\1\/Versions\/A\//") 40 | RESULT=$? 41 | if [[ $RESULT != 0 ]] ; then 42 | exit 1 43 | fi 44 | 45 | ITEMS="${FRAMEWORKS}" 46 | fi 47 | 48 | LOGINITEMS_DIR="${TARGET_BUILD_DIR}/${CONTENTS_FOLDER_PATH}/Library/LoginItems/" 49 | if [ -d "$LOGINITEMS_DIR" ] ; then 50 | LOGINITEMS=$(find "${LOGINITEMS_DIR}" -depth -type d -name "*.app") 51 | RESULT=$? 52 | if [[ $RESULT != 0 ]] ; then 53 | exit 1 54 | fi 55 | 56 | ITEMS="${ITEMS}"$'\n'"${LOGINITEMS}" 57 | fi 58 | 59 | # Prefer the expanded name, if available. 60 | CODE_SIGN_IDENTITY_FOR_ITEMS="${EXPANDED_CODE_SIGN_IDENTITY_NAME}" 61 | if [ "${CODE_SIGN_IDENTITY_FOR_ITEMS}" = "" ] ; then 62 | # Fall back to old behavior. 63 | CODE_SIGN_IDENTITY_FOR_ITEMS="${CODE_SIGN_IDENTITY}" 64 | fi 65 | 66 | echo "Identity:" 67 | echo "${CODE_SIGN_IDENTITY_FOR_ITEMS}" 68 | 69 | echo "Entitlements:" 70 | echo "${CODE_SIGN_ENTITLEMENTS}" 71 | 72 | echo "Found:" 73 | echo "${ITEMS}" 74 | 75 | # Change the Internal Field Separator (IFS) so that spaces in paths will not cause problems below. 76 | SAVED_IFS=$IFS 77 | IFS=$(echo -en "\n\b") 78 | 79 | # Loop through all items. 80 | for ITEM in $ITEMS; 81 | do 82 | echo "Signing '${ITEM}'" 83 | codesign --force --verbose --sign "${CODE_SIGN_IDENTITY_FOR_ITEMS}" --entitlements "${CODE_SIGN_ENTITLEMENTS}" "${ITEM}" 84 | RESULT=$? 85 | if [[ $RESULT != 0 ]] ; then 86 | echo "Failed to sign '${ITEM}'." 87 | IFS=$SAVED_IFS 88 | exit 1 89 | fi 90 | done 91 | 92 | # Restore $IFS. 93 | IFS=$SAVED_IFS -------------------------------------------------------------------------------- /Scripts/codesign-frameworks2.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # codesign-frameworks2.sh 4 | # Fileshuttle 5 | # 6 | # Created by Anthony Somerset on 12/10/2015. 7 | # 8 | LOCATION="${BUILT_PRODUCTS_DIR}"/"${FRAMEWORKS_FOLDER_PATH}" 9 | IDENTITY="Mac Developer: Anthony Somerset (A4ZG8D27HY)" 10 | codesign --verbose --force --sign "$IDENTITY" "$LOCATION/CURLHandle.framework/Versions/A" 11 | codesign --verbose --force --sign "$IDENTITY" "$LOCATION/Growl.framework/Versions/A" 12 | codesign --verbose --force --sign "$IDENTITY" "$LOCATION/ShortcutRecorder.framework/Versions/A" 13 | codesign --verbose --force --sign "$IDENTITY" "$LOCATION/RegexKit.framework/Versions/A" -------------------------------------------------------------------------------- /ShortcutRecorder.framework/Headers: -------------------------------------------------------------------------------- 1 | Versions/Current/Headers -------------------------------------------------------------------------------- /ShortcutRecorder.framework/Resources: -------------------------------------------------------------------------------- 1 | Versions/Current/Resources -------------------------------------------------------------------------------- /ShortcutRecorder.framework/ShortcutRecorder: -------------------------------------------------------------------------------- 1 | Versions/Current/ShortcutRecorder -------------------------------------------------------------------------------- /ShortcutRecorder.framework/Versions/A/Headers/SRKeyCodeTransformer.h: -------------------------------------------------------------------------------- 1 | // 2 | // SRKeyCodeTransformer.h 3 | // ShortcutRecorder 4 | // 5 | // Copyright 2006-2007 Contributors. All rights reserved. 6 | // 7 | // License: BSD 8 | // 9 | // Contributors: 10 | // David Dauer 11 | // Jesper 12 | // Jamie Kirkpatrick 13 | 14 | #import 15 | 16 | @interface SRKeyCodeTransformer : NSValueTransformer {} @end 17 | -------------------------------------------------------------------------------- /ShortcutRecorder.framework/Versions/A/Headers/SRRecorderCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // SRRecorderCell.h 3 | // ShortcutRecorder 4 | // 5 | // Copyright 2006-2007 Contributors. All rights reserved. 6 | // 7 | // License: BSD 8 | // 9 | // Contributors: 10 | // David Dauer 11 | // Jesper 12 | // Jamie Kirkpatrick 13 | 14 | #import 15 | #import "SRCommon.h" 16 | 17 | #define SRMinWidth 50 18 | #define SRMaxHeight 22 19 | 20 | #define SRTransitionFPS 30.0f 21 | #define SRTransitionDuration 0.35f 22 | //#define SRTransitionDuration 2.35 23 | #define SRTransitionFrames (SRTransitionFPS*SRTransitionDuration) 24 | #define SRAnimationAxisIsY YES 25 | #define ShortcutRecorderNewStyleDrawing 26 | 27 | #define SRAnimationOffsetRect(X,Y) (SRAnimationAxisIsY ? NSOffsetRect(X,0.0f,-NSHeight(Y)) : NSOffsetRect(X,NSWidth(Y),0.0f)) 28 | 29 | @class SRRecorderControl, SRValidator; 30 | 31 | enum SRRecorderStyle { 32 | SRGradientBorderStyle = 0, 33 | SRGreyStyle = 1 34 | }; 35 | typedef enum SRRecorderStyle SRRecorderStyle; 36 | 37 | @interface SRRecorderCell : NSActionCell 38 | { 39 | NSGradient *recordingGradient; 40 | NSString *autosaveName; 41 | 42 | BOOL isRecording; 43 | BOOL mouseInsideTrackingArea; 44 | BOOL mouseDown; 45 | 46 | SRRecorderStyle style; 47 | 48 | BOOL isAnimating; 49 | CGFloat transitionProgress; 50 | BOOL isAnimatingNow; 51 | BOOL isAnimatingTowardsRecording; 52 | BOOL comboJustChanged; 53 | 54 | NSTrackingRectTag removeTrackingRectTag; 55 | NSTrackingRectTag snapbackTrackingRectTag; 56 | 57 | KeyCombo keyCombo; 58 | BOOL hasKeyChars; 59 | NSString *keyChars; 60 | NSString *keyCharsIgnoringModifiers; 61 | 62 | NSUInteger allowedFlags; 63 | NSUInteger requiredFlags; 64 | NSUInteger recordingFlags; 65 | 66 | BOOL allowsKeyOnly; 67 | BOOL escapeKeysRecord; 68 | 69 | NSSet *cancelCharacterSet; 70 | 71 | SRValidator *validator; 72 | 73 | IBOutlet id delegate; 74 | BOOL globalHotKeys; 75 | void *hotKeyModeToken; 76 | } 77 | 78 | - (void)resetTrackingRects; 79 | 80 | #pragma mark *** Aesthetics *** 81 | 82 | + (BOOL)styleSupportsAnimation:(SRRecorderStyle)style; 83 | 84 | - (BOOL)animates; 85 | - (void)setAnimates:(BOOL)an; 86 | - (SRRecorderStyle)style; 87 | - (void)setStyle:(SRRecorderStyle)nStyle; 88 | 89 | #pragma mark *** Delegate *** 90 | 91 | - (id)delegate; 92 | - (void)setDelegate:(id)aDelegate; 93 | 94 | #pragma mark *** Responder Control *** 95 | 96 | - (BOOL)becomeFirstResponder; 97 | - (BOOL)resignFirstResponder; 98 | 99 | #pragma mark *** Key Combination Control *** 100 | 101 | - (BOOL)performKeyEquivalent:(NSEvent *)theEvent; 102 | - (void)flagsChanged:(NSEvent *)theEvent; 103 | 104 | - (NSUInteger)allowedFlags; 105 | - (void)setAllowedFlags:(NSUInteger)flags; 106 | 107 | - (NSUInteger)requiredFlags; 108 | - (void)setRequiredFlags:(NSUInteger)flags; 109 | 110 | - (BOOL)allowsKeyOnly; 111 | - (void)setAllowsKeyOnly:(BOOL)nAllowsKeyOnly escapeKeysRecord:(BOOL)nEscapeKeysRecord; 112 | - (BOOL)escapeKeysRecord; 113 | 114 | - (BOOL)canCaptureGlobalHotKeys; 115 | - (void)setCanCaptureGlobalHotKeys:(BOOL)inState; 116 | 117 | - (KeyCombo)keyCombo; 118 | - (void)setKeyCombo:(KeyCombo)aKeyCombo; 119 | 120 | #pragma mark *** Autosave Control *** 121 | 122 | - (NSString *)autosaveName; 123 | - (void)setAutosaveName:(NSString *)aName; 124 | 125 | // Returns the displayed key combination if set 126 | - (NSString *)keyComboString; 127 | 128 | - (NSString *)keyChars; 129 | - (NSString *)keyCharsIgnoringModifiers; 130 | 131 | @end 132 | 133 | // Delegate Methods 134 | @interface NSObject (SRRecorderCellDelegate) 135 | - (BOOL)shortcutRecorderCell:(SRRecorderCell *)aRecorderCell isKeyCode:(NSInteger)keyCode andFlagsTaken:(NSUInteger)flags reason:(NSString **)aReason; 136 | - (void)shortcutRecorderCell:(SRRecorderCell *)aRecorderCell keyComboDidChange:(KeyCombo)newCombo; 137 | @end 138 | -------------------------------------------------------------------------------- /ShortcutRecorder.framework/Versions/A/Headers/SRRecorderControl.h: -------------------------------------------------------------------------------- 1 | // 2 | // SRRecorderControl.h 3 | // ShortcutRecorder 4 | // 5 | // Copyright 2006-2007 Contributors. All rights reserved. 6 | // 7 | // License: BSD 8 | // 9 | // Contributors: 10 | // David Dauer 11 | // Jesper 12 | // Jamie Kirkpatrick 13 | 14 | #import 15 | #import "SRRecorderCell.h" 16 | 17 | @interface SRRecorderControl : NSControl 18 | { 19 | IBOutlet id delegate; 20 | } 21 | 22 | #pragma mark *** Aesthetics *** 23 | - (BOOL)animates; 24 | - (void)setAnimates:(BOOL)an; 25 | - (SRRecorderStyle)style; 26 | - (void)setStyle:(SRRecorderStyle)nStyle; 27 | 28 | #pragma mark *** Delegate *** 29 | - (id)delegate; 30 | - (void)setDelegate:(id)aDelegate; 31 | 32 | #pragma mark *** Key Combination Control *** 33 | 34 | - (NSUInteger)allowedFlags; 35 | - (void)setAllowedFlags:(NSUInteger)flags; 36 | 37 | - (BOOL)allowsKeyOnly; 38 | - (void)setAllowsKeyOnly:(BOOL)nAllowsKeyOnly escapeKeysRecord:(BOOL)nEscapeKeysRecord; 39 | - (BOOL)escapeKeysRecord; 40 | 41 | - (BOOL)canCaptureGlobalHotKeys; 42 | - (void)setCanCaptureGlobalHotKeys:(BOOL)inState; 43 | 44 | - (NSUInteger)requiredFlags; 45 | - (void)setRequiredFlags:(NSUInteger)flags; 46 | 47 | - (KeyCombo)keyCombo; 48 | - (void)setKeyCombo:(KeyCombo)aKeyCombo; 49 | 50 | - (NSString *)keyChars; 51 | - (NSString *)keyCharsIgnoringModifiers; 52 | 53 | #pragma mark *** Autosave Control *** 54 | 55 | - (NSString *)autosaveName; 56 | - (void)setAutosaveName:(NSString *)aName; 57 | 58 | #pragma mark - 59 | 60 | // Returns the displayed key combination if set 61 | - (NSString *)keyComboString; 62 | 63 | #pragma mark *** Conversion Methods *** 64 | 65 | - (NSUInteger)cocoaToCarbonFlags:(NSUInteger)cocoaFlags; 66 | - (NSUInteger)carbonToCocoaFlags:(NSUInteger)carbonFlags; 67 | 68 | #pragma mark *** Binding Methods *** 69 | 70 | - (NSDictionary *)objectValue; 71 | - (void)setObjectValue:(NSDictionary *)shortcut; 72 | 73 | @end 74 | 75 | // Delegate Methods 76 | @interface NSObject (SRRecorderDelegate) 77 | - (BOOL)shortcutRecorder:(SRRecorderControl *)aRecorder isKeyCode:(NSInteger)keyCode andFlagsTaken:(NSUInteger)flags reason:(NSString **)aReason; 78 | - (void)shortcutRecorder:(SRRecorderControl *)aRecorder keyComboDidChange:(KeyCombo)newKeyCombo; 79 | @end 80 | -------------------------------------------------------------------------------- /ShortcutRecorder.framework/Versions/A/Headers/SRValidator.h: -------------------------------------------------------------------------------- 1 | // 2 | // SRValidator.h 3 | // ShortcutRecorder 4 | // 5 | // Copyright 2006-2007 Contributors. All rights reserved. 6 | // 7 | // License: BSD 8 | // 9 | // Contributors: 10 | // David Dauer 11 | // Jesper 12 | // Jamie Kirkpatrick 13 | 14 | #import 15 | 16 | @interface SRValidator : NSObject { 17 | id delegate; 18 | } 19 | 20 | - (id) initWithDelegate:(id)theDelegate; 21 | 22 | - (BOOL) isKeyCode:(NSInteger)keyCode andFlagsTaken:(NSUInteger)flags error:(NSError **)error; 23 | - (BOOL) isKeyCode:(NSInteger)keyCode andFlags:(NSUInteger)flags takenInMenu:(NSMenu *)menu error:(NSError **)error; 24 | 25 | - (id) delegate; 26 | - (void) setDelegate: (id) theDelegate; 27 | 28 | @end 29 | 30 | #pragma mark - 31 | 32 | @interface NSObject( SRValidation ) 33 | - (BOOL) shortcutValidator:(SRValidator *)validator isKeyCode:(NSInteger)keyCode andFlagsTaken:(NSUInteger)flags reason:(NSString **)aReason; 34 | @end 35 | -------------------------------------------------------------------------------- /ShortcutRecorder.framework/Versions/A/Headers/SR_LeopardView.h: -------------------------------------------------------------------------------- 1 | // 2 | // SR_LeopardView.h 3 | // SR Leopard 4 | // 5 | // Created by Jesper on 2007-10-19. 6 | // Copyright 2007 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface SR_LeopardView : NSView { 12 | 13 | } 14 | 15 | @end -------------------------------------------------------------------------------- /ShortcutRecorder.framework/Versions/A/Headers/ShortcutRecorder.h: -------------------------------------------------------------------------------- 1 | // 2 | // ShortcutRecorder.h 3 | // ShortcutRecorder 4 | // - 10.5 version only; master framework header 5 | // 6 | // Copyright 2007 Contributors. All rights reserved. 7 | // 8 | // License: BSD 9 | // 10 | // Contributors to this file: 11 | // Jesper 12 | 13 | #import 14 | #import 15 | #import 16 | #import 17 | #import 18 | -------------------------------------------------------------------------------- /ShortcutRecorder.framework/Versions/A/Resources/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | BuildMachineOSBuild 6 | 11C74 7 | CFBundleDevelopmentRegion 8 | English 9 | CFBundleExecutable 10 | ShortcutRecorder 11 | CFBundleIdentifier 12 | net.wafflesoftware.ShortcutRecorder.framework.Leopard 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleSignature 18 | ???? 19 | CFBundleVersion 20 | 1.0 21 | DTCompiler 22 | 23 | DTPlatformBuild 24 | 4D199 25 | DTPlatformVersion 26 | GM 27 | DTSDKBuild 28 | 10K549 29 | DTSDKName 30 | macosx10.6 31 | DTXcode 32 | 0420 33 | DTXcodeBuild 34 | 4D199 35 | 36 | 37 | -------------------------------------------------------------------------------- /ShortcutRecorder.framework/Versions/A/ShortcutRecorder: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FileShuttle/fileshuttle/75866904a4776d5d28f5562b84fa1562da1ff0b1/ShortcutRecorder.framework/Versions/A/ShortcutRecorder -------------------------------------------------------------------------------- /ShortcutRecorder.framework/Versions/Current: -------------------------------------------------------------------------------- 1 | A -------------------------------------------------------------------------------- /assets/icon_menubar.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FileShuttle/fileshuttle/75866904a4776d5d28f5562b84fa1562da1ff0b1/assets/icon_menubar.psd -------------------------------------------------------------------------------- /fileshuttle.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FileShuttle/fileshuttle/75866904a4776d5d28f5562b84fa1562da1ff0b1/fileshuttle.icns -------------------------------------------------------------------------------- /sshversion.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2003 Regents of The University of Michigan. 3 | * All Rights Reserved. See COPYRIGHT. 4 | */ 5 | 6 | #include 7 | 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include "sshversion.h" 19 | 20 | extern int errno; 21 | 22 | int 23 | sshversion() 24 | { 25 | const CFStringRef user = kCFPreferencesCurrentUser; 26 | const CFStringRef host = kCFPreferencesAnyHost; 27 | CFStringRef appID = CFSTR( "edu.umich.fugu" ); 28 | CFStringRef key = CFSTR( "ExecutableSearchPath" ); 29 | CFStringRef sshbinary = NULL; 30 | CFRange range = { 0, 0 }; 31 | struct stat st; 32 | int efd[ 2 ]; 33 | char *sshexec[] = { NULL, NULL, NULL }, *p; 34 | char line[ MAXPATHLEN ], sshpath[ MAXPATHLEN ] = { 0 }; 35 | int estatus, rr; 36 | 37 | if (( sshbinary = CFPreferencesCopyValue( key, appID, user, host )) == NULL ) { 38 | strcpy( sshpath, "/usr/bin/ssh" ); 39 | } else { 40 | range.length = CFStringGetLength( sshbinary ); 41 | if ( CFStringGetBytes( sshbinary, range, kCFStringEncodingUTF8, '?', 42 | FALSE, (UInt8 *)sshpath, MAXPATHLEN, NULL ) == 0 ) { 43 | syslog( LOG_ERR, "CFStringGetBytes failed" ); 44 | strcpy( sshpath, "/usr/bin/ssh" ); 45 | } else { 46 | if ( strlen( sshpath ) + strlen( "/ssh" ) >= MAXPATHLEN ) { 47 | syslog( LOG_ERR, "%sssh: too long", sshpath ); 48 | CFRelease( sshbinary ); 49 | return( -1 ); 50 | } 51 | strcat( sshpath, "/ssh" ); 52 | } 53 | CFRelease( sshbinary ); 54 | } 55 | 56 | if ( stat( sshpath, &st ) < 0 ) { 57 | syslog( LOG_ERR, "stat %s: %m", sshpath ); 58 | return( -1 ); 59 | } 60 | if ( ! S_ISREG( st.st_mode ) || 61 | ! ( st.st_mode & ( S_IRUSR | S_IXUSR ))) { 62 | syslog( LOG_ERR, "%s cannot be executed", sshpath ); 63 | return( -1 ); 64 | } 65 | 66 | if ( pipe( efd ) < 0 ) { 67 | syslog( LOG_ERR, "pipe: %s", strerror( errno )); 68 | return( -1 ); 69 | } 70 | 71 | sshexec[ 0 ] = sshpath; 72 | sshexec[ 1 ] = "-V"; 73 | sshexec[ 2 ] = NULL; 74 | 75 | switch ( fork()) { 76 | case 0: 77 | if ( dup2( efd[ 1 ], 2 ) < 0 ) { 78 | syslog( LOG_ERR, "dup2: %s", strerror( errno )); 79 | break; 80 | } 81 | ( void )close( efd[ 0 ] ); 82 | ( void )close( efd[ 1 ] ); 83 | 84 | execve( sshpath, ( char ** )sshexec, NULL ); 85 | syslog( LOG_ERR, "execve ssh -V: %s", strerror( errno )); 86 | break; 87 | 88 | case -1: 89 | ( void )close( efd[ 0 ] ); 90 | ( void )close( efd[ 1 ] ); 91 | syslog( LOG_ERR, "fork failed: %s", strerror( errno )); 92 | exit( 2 ); 93 | 94 | default: 95 | break; 96 | } 97 | 98 | ( void )close( efd[ 1 ] ); 99 | rr = read( efd[ 0 ], line, MAXPATHLEN ); 100 | if ( rr < 0 ) { 101 | syslog( LOG_ERR, "read returned < 0: %s", strerror( errno )); 102 | return( -1 ); 103 | } 104 | 105 | line[ rr ] = '\0'; 106 | // syslog( LOG_INFO, line ); 107 | 108 | wait( &estatus ); 109 | 110 | if (( p = strstr( line, "OpenSSH" )) == NULL ) { 111 | /* maybe we're dealing with an SSH.com version */ 112 | if (( p = strstr( line, "SSH Secure Shell" )) != NULL ) { 113 | return( SFTP_VERSION_UNSUPPORTED ); 114 | } 115 | return( -1 ); 116 | } 117 | 118 | if (( p = strchr( line, '_' )) == NULL ) { 119 | return( -1 ); 120 | } 121 | 122 | p++; 123 | if ( p != NULL ) { 124 | double ver; 125 | int i; 126 | char tmp[ 4 ]; 127 | 128 | for ( i = 0; i < 3; i++ ) 129 | { 130 | if (!*p) break; 131 | tmp[ i ] = *p; 132 | p++; 133 | } 134 | 135 | ver = strtod( tmp, NULL ); 136 | 137 | if ( ver < 3.5 ) { 138 | return( SFTP_LS_SHORT_FORM ); 139 | } else if ( ver >= 3.9 ) { 140 | return( SFTP_LS_EXTENDED_LONG_FORM ); 141 | } 142 | 143 | return( SFTP_LS_LONG_FORM ); 144 | } 145 | 146 | return( -1 ); 147 | } 148 | -------------------------------------------------------------------------------- /sshversion.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2003 Regents of The University of Michigan. 3 | * All Rights Reserved. See COPYRIGHT. 4 | */ 5 | 6 | #define SFTP_LS_SHORT_FORM 0 7 | #define SFTP_LS_LONG_FORM 1 8 | #define SFTP_LS_EXTENDED_LONG_FORM 2 9 | #define SFTP_VERSION_UNSUPPORTED 0xff 10 | 11 | int sshversion(); 12 | 13 | --------------------------------------------------------------------------------