Merge branch 'master' of https://code.grnet.gr/git/pithos-ios
[pithos-ios] / Classes / Container.h
1 //
2 //  Container.h
3 //  OpenStack
4 //
5 //  Created by Mike Mayo on 12/7/10.
6 //  The OpenStack project is provided under the Apache 2.0 license.
7 //
8
9 @class Folder;
10
11 @interface Container : NSObject <NSCoding>  {
12
13         // regular container attributes
14         NSString *name;
15         NSUInteger count;
16         unsigned long long bytes;
17     
18     // policy
19     NSString *versioning;
20     NSUInteger quota;
21     
22     // metadata
23     NSMutableDictionary *metadata;
24
25     // containers don't really have a folder structure, but we're going
26     // to simulate on by parsing object names
27     Folder *rootFolder;
28 }
29
30 // regular container attributes
31 @property (nonatomic, retain) NSString *name;
32 @property (nonatomic, assign) NSUInteger count;
33 @property (nonatomic, assign) unsigned long long bytes;
34
35 //policy
36 @property (nonatomic, retain) NSString *versioning;
37 @property (nonatomic) NSUInteger quota;
38
39 //metadata
40 @property (nonatomic, retain) NSMutableDictionary *metadata;
41
42 - (NSString *)humanizedSize;
43 - (NSString *)osxStyleHumanizedSize;
44
45 // CDN container attributes
46 @property (nonatomic, retain) Folder *rootFolder;
47 @property (nonatomic, retain) NSMutableDictionary *objectsBuffer;
48
49 + (Container *)fromJSON:(NSDictionary *)dict;
50 - (NSString *)humanizedBytes;
51 - (NSString *)osxStyleHumanizedBytes;
52 - (NSString *)humanizedCount;
53 - (NSString *)humanizedSize;
54
55 @end