Statistics
| Branch: | Tag: | Revision:

root / Classes / AccountManager.h @ e0467730

History | View | Annotate | Download (2.8 kB)

1
//
2
//  AccountManager.h
3
//  OpenStack
4
//
5
//  Created by Mike Mayo on 10/21/10.
6
//  The OpenStack project is provided under the Apache 2.0 license.
7
//
8

    
9
#import <Foundation/Foundation.h>
10

    
11
// this class performs API calls on accounts and broadcasts NSNotifications to any other
12
// object that chooses to observe the notification
13

    
14
@class OpenStackAccount, Container, StorageObject, OpenStackRequest, ASINetworkQueue, APICallback;
15

    
16
@interface AccountManager : NSObject {
17
    OpenStackAccount *account;
18
    ASINetworkQueue *queue;
19
    NSMutableDictionary *objectDownloadRequests;
20
}
21

    
22
@property (nonatomic, retain) ASINetworkQueue *queue;
23

    
24
@property (nonatomic, assign) OpenStackAccount *account;
25
@property (nonatomic, retain) NSMutableDictionary *objectDownloadRequests;
26

    
27
- (NSString *)notificationName:(NSString *)key identifier:(NSString *)identifier;
28
- (void)notify:(NSString *)name request:(OpenStackRequest *)request;
29
- (void)notify:(NSString *)name request:(OpenStackRequest *)request object:(id)object;
30

    
31
// object storage
32

    
33
- (APICallback *)getStorageAccountInfo;
34
- (APICallback *)getSharingAccounts;
35
- (APICallback *)getContainers;
36
- (APICallback *)createContainer:(Container *)container;
37
- (APICallback *)deleteContainer:(Container *)container;
38

    
39
- (void)getObjects:(Container *)container;
40
- (void)getObjects:(Container *)container afterMarker:(NSString *)marker objectsBuffer:(NSMutableDictionary *)objectsBuffer;
41
- (APICallback *)getContainerInfo:(Container *)container;
42
- (APICallback *)getObjectInfo:(Container *)container object:(StorageObject *)object;
43
- (APICallback *)getObjectInfo:(Container *)container object:(StorageObject *)object version:(NSString *)version;
44
- (APICallback *)getObjectVersionsList:(Container *)container object:(StorageObject *)object;
45
- (APICallback *)getObject:(Container *)container object:(StorageObject *)object downloadProgressDelegate:(id)downloadProgressDelegate;
46

    
47
- (APICallback *)getObject:(Container *)container
48
                    object:(StorageObject *)object
49
  downloadProgressDelegate:(id)downloadProgressDelegate
50
           requestUserInfo:(NSDictionary *)requestUserInfo;
51

    
52
- (APICallback *)getObject:(Container *)container
53
                    object:(StorageObject *)object
54
  downloadProgressDelegate:(id)downloadProgressDelegate 
55
           requestUserInfo:(NSDictionary *)requestUserInfo
56
                   version:(NSString *)version;
57

    
58

    
59
- (APICallback *)writeObject:(Container *)container object:(StorageObject *)object downloadProgressDelegate:(id)downloadProgressDelegate;
60
- (APICallback *)writeObjectMetadata:(Container *)container object:(StorageObject *)object;
61
- (APICallback *)deleteObject:(Container *)container object:(StorageObject *)object;
62

    
63
// account actions
64

    
65
- (APICallback *)writeAccountMetadata:(NSDictionary *)accountInfo;
66

    
67
// container actions
68

    
69
- (APICallback *)writeContainerPolicy:(Container *)container;
70

    
71
@end