Use search bar to show only folder objects that start with given filter
[pithos-ios] / Classes / AccountManager.h
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