projects
/
pithos-ios
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Create application/directory for subdir, if metadata or permissions are applied.
[pithos-ios]
/
Classes
/
AccountManager.m
diff --git
a/Classes/AccountManager.m
b/Classes/AccountManager.m
index
6272212
..
d3b3b3a
100755
(executable)
--- a/
Classes/AccountManager.m
+++ b/
Classes/AccountManager.m
@@
-26,6
+26,9
@@
#import "LoadBalancerRequest.h"
#import "APICallback.h"
#import "Analytics.h"
#import "LoadBalancerRequest.h"
#import "APICallback.h"
#import "Analytics.h"
+#import "JSON.h"
+
+
@implementation AccountManager
@implementation AccountManager
@@
-37,7
+40,8
@@
- (APICallback *)callbackWithRequest:(id)request success:(APIResponseBlock)success failure:(APIResponseBlock)failure {
APICallback *callback = [[[APICallback alloc] initWithAccount:self.account request:request] autorelease];
((OpenStackRequest *)request).delegate = self;
- (APICallback *)callbackWithRequest:(id)request success:(APIResponseBlock)success failure:(APIResponseBlock)failure {
APICallback *callback = [[[APICallback alloc] initWithAccount:self.account request:request] autorelease];
((OpenStackRequest *)request).delegate = self;
- ((OpenStackRequest *)request).callback = callback;
+ ((OpenStackRequest *)request).callback = callback;
+
[request setCompletionBlock:^{
if ([request isSuccess]) {
success(request);
[request setCompletionBlock:^{
if ([request isSuccess]) {
success(request);
@@
-399,6
+403,7
@@
#pragma mark -
#pragma mark Object Storage
#pragma mark -
#pragma mark Object Storage
+
- (void)getStorageAccountInfo {
__block OpenStackRequest *request = [OpenStackRequest getStorageAccountInfoRequest:self.account];
- (void)getStorageAccountInfo {
__block OpenStackRequest *request = [OpenStackRequest getStorageAccountInfoRequest:self.account];
@@
-510,10
+515,16
@@
}
- (void)getObjects:(Container *)container {
}
- (void)getObjects:(Container *)container {
+ [self getObjects:container afterMarker:nil objectsBuffer:nil];
+}
+
+- (void)getObjects:(Container *)container
+ afterMarker:(NSString *)marker
+ objectsBuffer:(NSMutableDictionary *)objectsBuffer {
if (![self queue]) {
[self setQueue:[[[NSOperationQueue alloc] init] autorelease]];
}
if (![self queue]) {
[self setQueue:[[[NSOperationQueue alloc] init] autorelease]];
}
- GetObjectsRequest *request = [GetObjectsRequest request:self.account container:container];
+ GetObjectsRequest *request = [GetObjectsRequest request:self.account container:container marker:marker objectsBuffer:objectsBuffer];
[queue addOperation:request];
}
[queue addOperation:request];
}
@@
-534,7
+545,7
@@
container.rootFolder = [Folder folder];
container.rootFolder.objects = objects;
[self.account persist];
container.rootFolder = [Folder folder];
container.rootFolder.objects = objects;
[self.account persist];
-
+
NSNotification *notification = [NSNotification notificationWithName:@"getObjectsSucceeded" object:self.account userInfo:[NSDictionary dictionaryWithObject:container forKey:@"container"]];
[[NSNotificationCenter defaultCenter] postNotification:notification];
} else {
NSNotification *notification = [NSNotification notificationWithName:@"getObjectsSucceeded" object:self.account userInfo:[NSDictionary dictionaryWithObject:container forKey:@"container"]];
[[NSNotificationCenter defaultCenter] postNotification:notification];
} else {
@@
-912,15
+923,21
@@
self.account.authToken = [[request responseHeaders] objectForKey:@"X-Auth-Token"];
self.account.serversURL = [NSURL URLWithString:[[request responseHeaders] objectForKey:@"X-Server-Management-Url"]];
self.account.authToken = [[request responseHeaders] objectForKey:@"X-Auth-Token"];
self.account.serversURL = [NSURL URLWithString:[[request responseHeaders] objectForKey:@"X-Server-Management-Url"]];
- if ([account.provider isGRNet]) {
- NSString *filesStorageURL = [NSString stringWithFormat:@"%@%@",
- [[[NSBundle mainBundle] infoDictionary] objectForKey:@"GRNetStorageUrlPrefix"],
+ if (![[request responseHeaders] objectForKey:@"X-Storage-URL"]) {
+ NSString *filesStorageURL = [NSString stringWithFormat:@"%@/v1/%@",
+ [self.account.hostURL absoluteString],
[self.account username]];
[self.account username]];
+
self.account.filesURL = [NSURL URLWithString:filesStorageURL];
self.account.filesURL = [NSURL URLWithString:filesStorageURL];
- } else {
+ }
+ else {
self.account.filesURL = [NSURL URLWithString:[[request responseHeaders] objectForKey:@"X-Storage-Url"]];
self.account.filesURL = [NSURL URLWithString:[[request responseHeaders] objectForKey:@"X-Storage-Url"]];
- }
+ }
+ self.account.pithosPublicLinkURLPrefix = self.account.hostURL;
+ self.account.pithosLoginURLPrefix = [NSURL URLWithString:
+ [[self.account.hostURL absoluteString]
+ stringByAppendingString:@"/login"]];
self.account.cdnURL = [NSURL URLWithString:[[request responseHeaders] objectForKey:@"X-Cdn-Management-Url"]];
[self.account persist];
self.account.cdnURL = [NSURL URLWithString:[[request responseHeaders] objectForKey:@"X-Cdn-Management-Url"]];
[self.account persist];
@@
-928,6
+945,7
@@
}];
}
}];
}
+
#pragma mark -
#pragma mark Memory Management
#pragma mark -
#pragma mark Memory Management