1
#import <Foundation/Foundation.h>
2
#import <AppKit/AppKit.h>
3
#import "ArchiveService.h"
6
@interface ArchiveService (PrivateAPI)
7
- (void)createArchiveForFiles:(NSArray *)filenames;
10
@implementation ArchiveService : NSObject
12
- (void)createZippedTarArchive:(NSPasteboard *)pboard userData:(NSString *)userData
13
error:(NSString **)error;
18
types = [pboard types];
19
if ([types containsObject:NSFilenamesPboardType] == NO)
21
*error = @"We expect Filenames on the pasteboard!";
25
filenames = [pboard propertyListForType:NSFilenamesPboardType];
28
*error = @"could not read filename off the pasteboard!";
32
[self createArchiveForFiles:filenames];
35
- (void)createArchiveForFiles:(NSArray *)filenames;
39
NSSavePanel *panel = [NSSavePanel savePanel];
40
[panel setTitle:@"Archive destination"];
41
rc = [panel runModalForDirectory:NSHomeDirectory() file:nil];
44
NSString *archiveFile = [panel filename];
46
[TarArchive createArchive:archiveFile withFiles:filenames];