Statistics
| Branch: | Tag: | Revision:

root / Classes / OpenStackRequest.h @ 62ea6d49

History | View | Annotate | Download (4.3 kB)

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
enum {
14
    OpenStackRequestTypeUserCatalog = 0,
15
    OpenStackRequestTypeAuthEndpoint = 1
16
};
17
typedef NSInteger OpenStackRequestType;
18

    
19
@interface OpenStackRequest : ASIHTTPRequest <NSCopying> {
20
    OpenStackAccount *account;
21
    ASIBasicBlock backupCompletionBlock;
22
    ASIBasicBlock backupFailureBlock;
23
    APICallback *callback;
24
    BOOL retryWithUpdatedURL;
25
    NSURL *retryBaseURL;
26
    OpenStackRequestType retryType;
27
    NSString *followUpSelectorString;
28
    NSURL *notificationURL;
29
}
30

    
31
@property (nonatomic, retain) OpenStackAccount *account;
32
@property (nonatomic, retain) APICallback *callback;
33
@property (nonatomic, retain) ErrorAlerter *errorAlerter;
34
@property (nonatomic, assign) BOOL retryWithUpdatedURL;
35
@property (nonatomic, retain) NSURL *retryBaseURL;
36
@property (nonatomic, assign) OpenStackRequestType retryType;
37
@property (nonatomic, retain) NSString *followUpSelectorString;
38
@property (nonatomic, retain) NSURL *notificationURL;
39

    
40
+ (id)requestWithoutToken:(OpenStackAccount *)account method:(NSString *)method url:(NSURL *)url;
41
+ (id)request:(OpenStackAccount *)account method:(NSString *)method url:(NSURL *)url;
42
+ (id)filesRequest:(OpenStackAccount *)account method:(NSString *)method path:(NSString *)path;
43

    
44
+ (id)serviceCatalogRequest:(OpenStackAccount *)account;
45
- (NSDictionary *)access;
46
- (NSDictionary *)token;
47
- (NSArray *)serviceCatalog;
48
- (NSDictionary *)user;
49

    
50
+ (id)userCatalogRequest:(OpenStackAccount *)account displaynames:(NSArray *)displaynames UUIDs:(NSArray *)UUIDs;
51
- (NSDictionary *)catalogs;
52
- (NSDictionary *)displaynameCatalog;
53
- (NSDictionary *)UUIDCatalog;
54

    
55
+ (id)authenticationRequest:(OpenStackAccount *)account;
56
+ (id)getSharingAccountsRequest:(OpenStackAccount *)account
57
                         marker:(NSString *)marker sharingAccountsBuffer:(NSMutableDictionary *)sharingAccountsBuffer;
58
+ (id)getSharingAccountsRequest:(OpenStackAccount *)account;
59
- (NSArray *)jsonSharingAccounts;
60

    
61
+ (id)getStorageAccountInfoRequest:(OpenStackAccount *)account;
62
+ (id)getContainersRequest:(OpenStackAccount *)account
63
                    marker:(NSString *)marker containersBuffer:(NSMutableDictionary *)containersBuffer;
64
+ (id)getContainersRequest:(OpenStackAccount *)account;
65
- (NSArray *)jsonContainers;
66
+ (id)writeAccountMetadataRequest:(OpenStackAccount *)account withAccountInfo:(NSDictionary *)accountInfo;
67

    
68
+ (id)getContainerInfoRequest:(OpenStackAccount *)account container:(Container *)container;
69
+ (id)createContainerRequest:(OpenStackAccount *)account container:(Container *)container;
70
+ (id)deleteContainerRequest:(OpenStackAccount *)account container:(Container *)container;
71
+ (id)getObjectsRequest:(OpenStackAccount *)account container:(Container *)container
72
                 marker:(NSString *)marker objectsBuffer:(NSMutableDictionary *)objectsBuffer;
73
+ (id)getObjectsRequest:(OpenStackAccount *)account container:(Container *)container;
74
- (NSArray *)jsonObjects;
75
+ (id)writeContainerPolicyRequest:(OpenStackAccount *)account container:(Container *)container;
76

    
77
+ (id)getObjectInfoRequest:(OpenStackAccount *)account container:(Container *)container object:(StorageObject *)object;
78
+ (id)getObjectInfoRequest:(OpenStackAccount *)account container:(Container *)container object:(StorageObject *)object version:(NSString *)version;
79
+ (id)getObjectVersionsRequest:(OpenStackAccount *)account container:(Container *)container object:(StorageObject *)object;
80
- (NSMutableArray *)versions;
81
+ (id)getObjectRequest:(OpenStackAccount *)account container:(Container *)container object:(StorageObject *)object;
82
+ (id)getObjectRequest:(OpenStackAccount *)account container:(Container *)container object:(StorageObject *)object version:(NSString *)version;
83
+ (id)writeObjectRequest:(OpenStackAccount *)account container:(Container *)container object:(StorageObject *)object;
84
+ (id)writeObjectMetadataRequest:(OpenStackAccount *)account container:(Container *)container object:(StorageObject *)object;
85
+ (id)deleteObjectRequest:(OpenStackAccount *)account container:(Container *)container object:(StorageObject *)object;
86

    
87
- (BOOL)isSuccess;
88

    
89
- (void)notify;
90
- (void)notify:(NSString *)name;
91

    
92
@end