iPhoneSampleAppDelegate.m
6.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
//
// iPhoneSampleAppDelegate.m
// asi-http-request
//
// Created by Ben Copsey on 07/11/2008.
// Copyright All-Seeing Interactive 2008. All rights reserved.
//
#import "iPhoneSampleAppDelegate.h"
#import "ASIHTTPRequest.h"
#import "Reachability.h"
#import "ASICloudFilesRequest.h"
#import "ASICloudFilesContainerRequest.h"
#import "ASICloudFilesObjectRequest.h"
#import "ASICloudFilesCDNRequest.h"
#import "ASICloudFilesContainer.h"
#import "ASICloudFilesObject.h"
@implementation iPhoneSampleAppDelegate
@synthesize window;
@synthesize tabBarController;
- (void)dealloc {
[tabBarController release];
[window release];
[super dealloc];
}
// TODO: remove
-(NSDate *)dateFromString:(NSString *)dateString {
NSDateFormatter *format = [[NSDateFormatter alloc] init];
// example: 2009-11-04T19:46:20.192723
//[format setDateFormat:@"EEE, d MMM yyyy H:mm:ss zzz"];
//[format setDateFormat:@"yyyy-MM-ddTH:mm:ss"];
[format setDateFormat:@"yyyy-MM-dd'T'H:mm:ss"];
NSDate *date = [format dateFromString:dateString];
[format release];
return date;
}
- (void)applicationDidFinishLaunching:(UIApplication *)application {
NSLog(@"DATE TESTS!!!");
NSDate *date = [self dateFromString:@"2009-11-04T19:46:20.192723"];
NSLog(@"date: %@", [date description]);
NSLog(@"time to test Cloud Files!");
[ASICloudFilesRequest setUsername:@"greenisus"];
[ASICloudFilesRequest setApiKey:@"1c331a7a4a6eb58ca6072afe81e812d0"];
[ASICloudFilesRequest authenticate];
NSLog(@"Storage URL: %@", [ASICloudFilesRequest storageURL]);
NSArray *containers = nil;
containers; // to suppress warning when test are commented out
/*
NSLog(@"account info:");
ASICloudFilesContainerRequest *accountInfoRequest = [ASICloudFilesContainerRequest accountInfoRequest];
[accountInfoRequest start];
// NSLog(@"Response status code: %i", [accountInfoRequest responseStatusCode]);
// NSLog(@"Response status message: %@", [accountInfoRequest responseStatusMessage]);
NSLog(@"Container count: %i", [accountInfoRequest containerCount]);
NSLog(@"Bytes used: %i", [accountInfoRequest bytesUsed]);
// NSLog(@"All headers:");
// NSDictionary *headers = [accountInfoRequest responseHeaders];
// NSArray *keys = [headers allKeys];
// for (int i = 0; i < [keys count]; i++) {
// NSString *key = [keys objectAtIndex:i];
// NSLog(@"%@: %@", key, [headers objectForKey:key]);
// }
ASICloudFilesContainerRequest *containerListRequest = [ASICloudFilesContainerRequest listRequest];
[containerListRequest start];
containers = [containerListRequest containers];
NSLog(@"Containers list count: %i", [containers count]);
for (int i = 0; i < [containers count]; i++) {
ASICloudFilesContainer *container = [containers objectAtIndex:i];
NSLog(@"%@ - %i objects, %i bytes", container.name, container.count, container.bytes);
}
ASICloudFilesContainerRequest *limitContainerListRequest = [ASICloudFilesContainerRequest listRequestWithLimit:2];
[limitContainerListRequest start];
containers = [limitContainerListRequest containers];
NSLog(@"Limit 2 Containers list count: %i", [containers count]);
for (int i = 0; i < [containers count]; i++) {
ASICloudFilesContainer *container = [containers objectAtIndex:i];
NSLog(@"%@ - %i objects, %i bytes", container.name, container.count, container.bytes);
}
ASICloudFilesContainerRequest *markerContainerListRequest = [ASICloudFilesContainerRequest listRequestWithMarker:@"personal"];
[markerContainerListRequest start];
containers = [markerContainerListRequest containers];
NSLog(@"Marker personal Containers list count: %i", [containers count]);
for (int i = 0; i < [containers count]; i++) {
ASICloudFilesContainer *container = [containers objectAtIndex:i];
NSLog(@"%@ - %i objects, %i bytes", container.name, container.count, container.bytes);
}
ASICloudFilesContainerRequest *limitMarkerContainerListRequest = [ASICloudFilesContainerRequest listRequestWithLimit:3 marker:@"cf_service"];
[limitMarkerContainerListRequest start];
containers = [limitMarkerContainerListRequest containers];
NSLog(@"Limit 3 Marker cf_service Containers list count: %i", [containers count]);
for (int i = 0; i < [containers count]; i++) {
ASICloudFilesContainer *container = [containers objectAtIndex:i];
NSLog(@"%@ - %i objects, %i bytes", container.name, container.count, container.bytes);
}
ASICloudFilesContainerRequest *createContainerRequest = [ASICloudFilesContainerRequest createContainerRequest:@"ASICloudFiles"];
[createContainerRequest start];
NSLog(@"Create response status code: %i", [createContainerRequest responseStatusCode]);
NSLog(@"Create response status message: %@", [createContainerRequest responseStatusMessage]);
ASICloudFilesContainerRequest *deleteContainerRequest = [ASICloudFilesContainerRequest deleteContainerRequest:@"ASICloudFiles"];
[deleteContainerRequest start];
NSLog(@"Delete response status code: %i", [deleteContainerRequest responseStatusCode]);
NSLog(@"Delete response status message: %@", [deleteContainerRequest responseStatusMessage]);
*/
// OBJECT LIST TEST
/*
ASICloudFilesObjectRequest *objectListRequest = [ASICloudFilesObjectRequest listRequestWithContainer:@"cf_service"];
[objectListRequest start];
containers = [objectListRequest objects];
NSLog(@"cf_service object list count: %i", [containers count]);
for (int i = 0; i < [containers count]; i++) {
ASICloudFilesObject *object = [containers objectAtIndex:i];
NSLog(@"%@ - %@ - %i bytes, %@, %@", object.name, object.hash, object.bytes, object.contentType, [object.lastModified description]);
}
*/
// Add the tab bar controller's current view as a subview of the window
[window addSubview:[tabBarController view]];
[[tabBarController view] setFrame:CGRectMake(0,47,320,433)];
[NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(updateStatus:) userInfo:nil repeats:YES];
}
// This is really just so I can test reachability + throttling is working. Please don't use a timer to do this in your own apps!
- (void)updateStatus:(NSTimer *)timer
{
NSString *connectionType;
if ([ASIHTTPRequest isNetworkReachableViaWWAN]) {
connectionType = @"Using WWAN";
} else {
connectionType = @"Not using WWAN";
}
NSString *throttling = @"Throttling OFF";
if ([ASIHTTPRequest isBandwidthThrottled]) {
throttling = @"Throttling ON";
}
[statusMessage setText:[NSString stringWithFormat:@"%@ / %luKB per second / %@",connectionType, [ASIHTTPRequest averageBandwidthUsedPerSecond]/1024,throttling]];
}
@end