Skip to content

Commit

Permalink
add willStartLoading to AsynchronousAdapterDelegate.
Browse files Browse the repository at this point in the history
  • Loading branch information
yevmel committed Jan 23, 2012
1 parent 0fdeff7 commit 4d86216
Show file tree
Hide file tree
Showing 9 changed files with 31 additions and 16 deletions.
1 change: 1 addition & 0 deletions Ubuntu One Client/AsynchronousAdapter.h
Expand Up @@ -22,6 +22,7 @@
#import "AbstractAdapter.h"

@protocol AsynchronousAdapterDelegate
- (void)willStartLoading;
- (void)didReceiveData:(NSData*)data;
- (void)didFailWithError:(NSError*)error;
- (void)didFinishLoading;
Expand Down
4 changes: 4 additions & 0 deletions Ubuntu One Client/AsynchronousAdapter.m
Expand Up @@ -49,6 +49,10 @@ - (void)request {
NSLog(@"requesting %@", request.URL.absoluteString);
#endif

[_delegates enumerateObjectsUsingBlock:^(id<AsynchronousAdapterDelegate> obj, NSUInteger idx, BOOL *stop) {
[obj willStartLoading];
}];

[NSURLConnection connectionWithRequest:request delegate:self];
}

Expand Down
2 changes: 1 addition & 1 deletion Ubuntu One Client/AsynchronousAdapterOperation.h
@@ -1,6 +1,6 @@
#import <Foundation/Foundation.h>
#import "AsynchronousAdapter.h"

@interface AsynchronousAdapterOperation : NSOperation
@interface AsynchronousAdapterOperation : NSOperation <AsynchronousAdapterDelegate>
+ (AsynchronousAdapterOperation*)adapterOperationWithAsynchronousAdapter:(AsynchronousAdapter*)adapter;
@end
8 changes: 5 additions & 3 deletions Ubuntu One Client/AsynchronousAdapterOperation.m
@@ -1,8 +1,5 @@
#import "AsynchronousAdapterOperation.h"

@interface AsynchronousAdapterOperation (Private) <AsynchronousAdapterDelegate>
@end

@implementation AsynchronousAdapterOperation {
@private
AsynchronousAdapter *_adapter;
Expand Down Expand Up @@ -36,6 +33,11 @@ - (void)main {

#pragma mark -
#pragma mark AsynchronAdapterDelegate

- (void)willStartLoading {
// ...
}

- (void)didReceiveData:(NSData*)data {
// ...
}
Expand Down
Expand Up @@ -38,6 +38,10 @@ - (id)initWithAbsolutePath:(NSString*)absolutePath {
return self;
}

- (void)willStartLoading {
// ...
}

- (void)didReceiveData:(NSData*)data {
if (!_data) {
_data = [NSMutableData dataWithData:data];
Expand Down
10 changes: 6 additions & 4 deletions Ubuntu One Client/FileWritingAsynchronousAdapterDelegate.m
Expand Up @@ -32,16 +32,18 @@ @implementation FileWritingAsynchronousAdapterDelegate{
- (id)initWithAbsolutePath:(NSString*)path andNodeDetails:(NodeDetails*)nodeDetails {
self = [super init];
if (self) {
_absolutePath = path;
_absolutePath = [path stringByExpandingTildeInPath];
_nodeDetails = nodeDetails;

[[NSFileManager defaultManager] createFileAtPath:path contents:nil attributes:nil];
_fileHandle = [NSFileHandle fileHandleForWritingAtPath:[path stringByExpandingTildeInPath]];
}

return self;
}

- (void)willStartLoading {
[[NSFileManager defaultManager] createFileAtPath:_absolutePath contents:nil attributes:nil];
_fileHandle = [NSFileHandle fileHandleForWritingAtPath:_absolutePath];
}

- (void)didReceiveData:(NSData *)data {
[_fileHandle writeData:data];
}
Expand Down
3 changes: 2 additions & 1 deletion Ubuntu One Client/StatusItemController.h
Expand Up @@ -24,7 +24,8 @@
#import "OptionsWindowController.h"

@interface StatusItemController : NSObject
@property (weak) IBOutlet NSMenu *menu;
@property(weak) IBOutlet NSMenu *menu;

- (IBAction)clickedSyncNowMenuItem:(NSMenuItem *)sender;
- (IBAction)clickedOptionsMenuItem:(NSMenuItem *)sender;
@end
2 changes: 0 additions & 2 deletions Ubuntu One Client/StatusItemController.m
Expand Up @@ -24,7 +24,6 @@
#import "SyncWorker.h"
#import "Constants.h"


@implementation StatusItemController {
@private
NSStatusItem *_statusItem;
Expand All @@ -50,7 +49,6 @@ - (void)awakeFromNib {

- (IBAction)clickedSyncNowMenuItem:(NSMenuItem *)sender {
AuthorizationDetails *authorizationDetails = [AuthorizationDetails current];

NSString *path = [[NSUserDefaults standardUserDefaults] stringForKey:kLocalFolder];
[SyncWorker syncWithAbsoluteRootPath:path andAuthorizationDetails:authorizationDetails];
}
Expand Down
13 changes: 8 additions & 5 deletions Ubuntu One Client/SyncWorker.m
Expand Up @@ -25,6 +25,7 @@
#import "ContentAdapter.h"
#import "AsynchronousAdapterOperation.h"
#import "ContentUploadAdapter.h"

#import "FileWritingAsynchronousAdapterDelegate.h"
#import "FileAttributesUpdatingAsynchronAdapterDelegate.h"

Expand Down Expand Up @@ -184,15 +185,17 @@ - (void)createRemoteDirectory:(NSString*)resourcePath {

#pragma mark -
#pragma mark FileHandler
- (void)download:(NodeDetails*)nodeDetails to:(NSString*)absolutePath {
NSAssert(absolutePath, @"absolutePath must not be null.");
- (void)download:(NodeDetails*)nodeDetails to:(NSString*)path {
NSAssert(path, @"absolutePath must not be null.");
NSAssert(nodeDetails, @"nodeDetails must not be null.");

NSLog(@"downloading \"%@\" to \"%@\"", nodeDetails.resourcePath, absolutePath);
NSLog(@"downloading \"%@\" to \"%@\"", nodeDetails.resourcePath, path);

FileWritingAsynchronousAdapterDelegate *fileWritingDelegate = [[FileWritingAsynchronousAdapterDelegate alloc] initWithAbsolutePath:absolutePath andNodeDetails:nodeDetails];
NSArray *delegates = [NSArray arrayWithObject:fileWritingDelegate];
FileWritingAsynchronousAdapterDelegate *fileWritingDelegate = [[FileWritingAsynchronousAdapterDelegate alloc] initWithAbsolutePath:path andNodeDetails:nodeDetails];

NSArray *delegates = [NSArray arrayWithObjects:fileWritingDelegate, nil];
AsynchronousAdapter *adapter = [ContentAdapter adapterWithContentPath:nodeDetails.contentPath authorizationDetails:_authorizationDetails andDelegates:delegates];

NSOperation *operation = [AsynchronousAdapterOperation adapterOperationWithAsynchronousAdapter:adapter];
[_operationQueue addOperation:operation];
}
Expand Down

0 comments on commit 4d86216

Please sign in to comment.