Statistics
| Branch: | Revision:

root / asi-http-request-with-pithos / Classes / CloudFiles / ASICloudFilesObjectRequest.h @ 32017ec6

History | View | Annotate | Download (3.5 kB)

1 be116d22 Miltiadis Vasilakis
//
2 be116d22 Miltiadis Vasilakis
//  ASICloudFilesObjectRequest.h
3 be116d22 Miltiadis Vasilakis
//
4 be116d22 Miltiadis Vasilakis
//  Created by Michael Mayo on 1/6/10.
5 be116d22 Miltiadis Vasilakis
//
6 be116d22 Miltiadis Vasilakis
7 be116d22 Miltiadis Vasilakis
#import "ASICloudFilesRequest.h"
8 be116d22 Miltiadis Vasilakis
9 be116d22 Miltiadis Vasilakis
#if !TARGET_OS_IPHONE || (TARGET_OS_IPHONE && __IPHONE_OS_VERSION_MAX_ALLOWED < __IPHONE_4_0)
10 be116d22 Miltiadis Vasilakis
#import "ASINSXMLParserCompat.h"
11 be116d22 Miltiadis Vasilakis
#endif
12 be116d22 Miltiadis Vasilakis
13 be116d22 Miltiadis Vasilakis
@class ASICloudFilesObject;
14 be116d22 Miltiadis Vasilakis
15 be116d22 Miltiadis Vasilakis
@interface ASICloudFilesObjectRequest : ASICloudFilesRequest <NSXMLParserDelegate> {
16 be116d22 Miltiadis Vasilakis
17 be116d22 Miltiadis Vasilakis
        
18 be116d22 Miltiadis Vasilakis
        NSString *accountName;
19 be116d22 Miltiadis Vasilakis
        NSString *containerName;
20 be116d22 Miltiadis Vasilakis
        
21 be116d22 Miltiadis Vasilakis
        // Internally used while parsing the response
22 be116d22 Miltiadis Vasilakis
        NSString *currentContent;
23 be116d22 Miltiadis Vasilakis
        NSString *currentElement;
24 be116d22 Miltiadis Vasilakis
        ASICloudFilesObject *currentObject;
25 be116d22 Miltiadis Vasilakis
        NSMutableArray *objects;
26 be116d22 Miltiadis Vasilakis
        
27 be116d22 Miltiadis Vasilakis
}
28 be116d22 Miltiadis Vasilakis
29 be116d22 Miltiadis Vasilakis
@property (retain) NSString *accountName;
30 be116d22 Miltiadis Vasilakis
@property (retain) NSString *containerName;
31 be116d22 Miltiadis Vasilakis
@property (retain) NSString *currentElement;
32 be116d22 Miltiadis Vasilakis
@property (retain) NSString *currentContent;
33 be116d22 Miltiadis Vasilakis
@property (retain) ASICloudFilesObject *currentObject;
34 be116d22 Miltiadis Vasilakis
35 be116d22 Miltiadis Vasilakis
36 be116d22 Miltiadis Vasilakis
// HEAD /<api version>/<account>/<container>
37 be116d22 Miltiadis Vasilakis
// HEAD operations against an account are performed to retrieve the number of Containers and the total bytes stored in Cloud Files for the account. This information is returned in two custom headers, X-Account-Container-Count and X-Account-Bytes-Used.
38 be116d22 Miltiadis Vasilakis
+ (id)containerInfoRequest:(NSString *)containerName;
39 be116d22 Miltiadis Vasilakis
- (NSUInteger)containerObjectCount;
40 be116d22 Miltiadis Vasilakis
- (NSUInteger)containerBytesUsed;
41 be116d22 Miltiadis Vasilakis
42 be116d22 Miltiadis Vasilakis
// HEAD /<api version>/<account>/<container>/<object>
43 be116d22 Miltiadis Vasilakis
// to get metadata
44 be116d22 Miltiadis Vasilakis
+ (id)objectInfoRequest:(NSString *)containerName objectPath:(NSString *)objectPath;
45 be116d22 Miltiadis Vasilakis
- (NSArray *)objects;
46 be116d22 Miltiadis Vasilakis
47 be116d22 Miltiadis Vasilakis
+ (id)listRequestWithContainer:(NSString *)containerName;
48 be116d22 Miltiadis Vasilakis
+ (id)listRequestWithContainer:(NSString *)containerName limit:(NSUInteger)limit marker:(NSString *)marker prefix:(NSString *)prefix path:(NSString *)path;
49 be116d22 Miltiadis Vasilakis
50 be116d22 Miltiadis Vasilakis
// Conditional GET headers: If-Match • If-None-Match • If-Modified-Since • If-Unmodified-Since
51 be116d22 Miltiadis Vasilakis
// HTTP Range header: “Range: bytes=0-5” •        “Range: bytes=-5” •        “Range: bytes=32-“
52 be116d22 Miltiadis Vasilakis
+ (id)getObjectRequestWithContainer:(NSString *)containerName objectPath:(NSString *)objectPath;
53 be116d22 Miltiadis Vasilakis
- (ASICloudFilesObject *)object;
54 be116d22 Miltiadis Vasilakis
55 be116d22 Miltiadis Vasilakis
// PUT /<api version>/<account>/<container>/<object>
56 be116d22 Miltiadis Vasilakis
// PUT operations are used to write, or overwrite, an Object's metadata and content.
57 be116d22 Miltiadis Vasilakis
// The Object can be created with custom metadata via HTTP headers identified with the “X-Object-Meta-” prefix.
58 be116d22 Miltiadis Vasilakis
+ (id)putObjectRequestWithContainer:(NSString *)containerName object:(ASICloudFilesObject *)object;
59 be116d22 Miltiadis Vasilakis
+ (id)putObjectRequestWithContainer:(NSString *)containerName objectPath:(NSString *)objectPath contentType:(NSString *)contentType objectData:(NSData *)objectData metadata:(NSDictionary *)metadata etag:(NSString *)etag;
60 be116d22 Miltiadis Vasilakis
+ (id)putObjectRequestWithContainer:(NSString *)containerName objectPath:(NSString *)objectPath contentType:(NSString *)contentType file:(NSString *)filePath metadata:(NSDictionary *)metadata etag:(NSString *)etag;
61 be116d22 Miltiadis Vasilakis
62 be116d22 Miltiadis Vasilakis
// POST /<api version>/<account>/<container>/<object>
63 be116d22 Miltiadis Vasilakis
// POST operations against an Object name are used to set and overwrite arbitrary key/value metadata. You cannot use the POST operation to change any of the Object's other headers such as Content-Type, ETag, etc. It is not used to upload storage Objects (see PUT).
64 be116d22 Miltiadis Vasilakis
// A POST request will delete all existing metadata added with a previous PUT/POST.
65 be116d22 Miltiadis Vasilakis
+ (id)postObjectRequestWithContainer:(NSString *)containerName object:(ASICloudFilesObject *)object;
66 be116d22 Miltiadis Vasilakis
+ (id)postObjectRequestWithContainer:(NSString *)containerName objectPath:(NSString *)objectPath metadata:(NSDictionary *)metadata;
67 be116d22 Miltiadis Vasilakis
68 be116d22 Miltiadis Vasilakis
// DELETE /<api version>/<account>/<container>/<object>
69 be116d22 Miltiadis Vasilakis
+ (id)deleteObjectRequestWithContainer:(NSString *)containerName objectPath:(NSString *)objectPath;
70 be116d22 Miltiadis Vasilakis
71 be116d22 Miltiadis Vasilakis
@end