4bcc0bb3975a0519b7f0430e548937e3ca3c0b06
[pithos-ios] / Classes / OpenStackRequest.h
1 //
2 //  OpenStackRequest.h
3 //  OpenStack
4 //
5 //  Created by Mike Mayo on 10/8/10.
6 //  The OpenStack project is provided under the Apache 2.0 license.
7 //
8
9 #import "ASIHTTPRequest.h"
10
11 @class OpenStackAccount, Container, StorageObject, APICallback, ErrorAlerter;
12
13 @interface OpenStackRequest : ASIHTTPRequest {
14     OpenStackAccount *account;
15     ASIBasicBlock backupCompletionBlock;
16     ASIBasicBlock backupFailureBlock;
17     APICallback *callback;
18 }
19
20 @property (nonatomic, retain) OpenStackAccount *account;
21 @property (nonatomic, retain) APICallback *callback;
22 @property (nonatomic, retain) ErrorAlerter *errorAlerter;
23
24 + (id)request:(OpenStackAccount *)account method:(NSString *)method url:(NSURL *)url;
25 + (id)filesRequest:(OpenStackAccount *)account method:(NSString *)method path:(NSString *)path;
26
27 + (id)userCatalogRequest:(OpenStackAccount *)account displaynames:(NSArray *)displaynames UUIDs:(NSArray *)UUIDs;
28 - (NSDictionary *)catalogs;
29 - (NSDictionary *)displaynameCatalog;
30 - (NSDictionary *)UUIDCatalog;
31
32 + (id)authenticationRequest:(OpenStackAccount *)account;
33 + (id)getSharingAccountsRequest:(OpenStackAccount *)account;
34 - (NSArray *)sharingAccounts;
35
36 + (id)getStorageAccountInfoRequest:(OpenStackAccount *)account;
37 + (id)getContainersRequest:(OpenStackAccount *)account;
38 - (NSMutableDictionary *)containers;
39 + (id)writeAccountMetadataRequest:(OpenStackAccount *)account withAccountInfo:(NSDictionary *)accountInfo;
40
41 + (id)getContainerInfoRequest:(OpenStackAccount *)account container:(Container *)container;
42 + (id)createContainerRequest:(OpenStackAccount *)account container:(Container *)container;
43 + (id)deleteContainerRequest:(OpenStackAccount *)account container:(Container *)container;
44 + (id)getObjectsRequest:(OpenStackAccount *)account container:(Container *)container;
45 - (NSMutableDictionary *)objects;
46 + (id)writeContainerPolicyRequest:(OpenStackAccount *)account container:(Container *)container;
47
48 + (id)getObjectInfoRequest:(OpenStackAccount *)account container:(Container *)container object:(StorageObject *)object;
49 + (id)getObjectInfoRequest:(OpenStackAccount *)account container:(Container *)container object:(StorageObject *)object version:(NSString *)version;
50 + (id)getObjectVersionsRequest:(OpenStackAccount *)account container:(Container *)container object:(StorageObject *)object;
51 - (NSMutableArray *)versions;
52 + (id)getObjectRequest:(OpenStackAccount *)account container:(Container *)container object:(StorageObject *)object;
53 + (id)getObjectRequest:(OpenStackAccount *)account container:(Container *)container object:(StorageObject *)object version:(NSString *)version;
54 + (id)writeObjectRequest:(OpenStackAccount *)account container:(Container *)container object:(StorageObject *)object;
55 + (id)writeObjectMetadataRequest:(OpenStackAccount *)account container:(Container *)container object:(StorageObject *)object;
56 + (id)deleteObjectRequest:(OpenStackAccount *)account container:(Container *)container object:(StorageObject *)object;
57
58 - (BOOL)isSuccess;
59
60 - (void)notify;
61 - (void)notify:(NSString *)name;
62
63 @end