Merge branch 'master' of https://code.grnet.gr/git/pithos-ios
[pithos-ios] / Classes / OpenStackAppDelegate.h
1 //
2 //  OpenStackAppDelegate.h
3 //  OpenStack
4 //
5 //  Created by Mike Mayo on 9/30/10.
6 //  The OpenStack project is provided under the Apache 2.0 license.
7 //
8
9 @class RootViewController, OpenStackRequest, OpenStackAccount, Container, StorageObject;
10
11 #define CACHED_OBJECTS_ARCHIVE_KEY @"cachedObjectsDictionary"
12 #define CACHE_DICT_ARCHIVE_NAME @"cache.dict"
13
14 @interface OpenStackAppDelegate : NSObject <UIApplicationDelegate> {
15     UIWindow *window;
16     UINavigationController *navigationController;
17     UISplitViewController *splitViewController;
18     UINavigationController *masterNavigationController;
19     UIBarButtonItem *barButtonItem;
20     RootViewController *rootViewController;
21     id serviceUnavailableObserver;
22     NSMutableDictionary *cachedObjectsDictionary;
23     NSString *cacheDictionaryFilePath;
24     NSString *cacheDirectoryPath;
25     NSMutableDictionary *objectDownloadRequests;
26     
27     BOOL gotToken;
28 }
29
30 @property (nonatomic, retain) IBOutlet UIWindow *window;
31 @property (nonatomic, retain) IBOutlet UINavigationController *navigationController;
32 @property (nonatomic, retain) IBOutlet UISplitViewController *splitViewController;
33 @property (nonatomic, retain) UINavigationController *masterNavigationController;
34 @property (nonatomic, retain) UIBarButtonItem *barButtonItem;
35 @property (nonatomic, retain) RootViewController *rootViewController;
36 @property (nonatomic, retain) NSMutableDictionary *cachedObjectsDictionary;
37 @property (nonatomic, copy) NSString *cacheDictionaryFilePath;
38 @property (nonatomic, copy) NSString *cacheDirectoryPath;
39 @property (nonatomic, readonly) NSMutableDictionary *objectDownloadRequests;
40
41 - (NSString *)cacheFilePathForHash:(NSString *)hash;
42 - (void)setCacheFilePath:(NSString *)filePath forHash:(NSString *)hash;
43 - (BOOL)removeCacheObjectForHash:(NSString *)hash;
44 - (void)removeAllCacheObjects;
45 - (void)saveCacheDictionary;
46
47 - (OpenStackRequest *)objectDownloadRequestForAccount:(OpenStackAccount *)account
48                                             container:(Container *)container
49                                                object:(StorageObject *)object;
50 - (void)setObjectDownloadRequest:(OpenStackRequest *)request
51                       forAccount:(OpenStackAccount *)account
52                        container:(Container *)container
53                           object:(StorageObject *)object;
54 - (void)removeObjectDownloadRequestForAccount:(OpenStackAccount *)account
55                                     container:(Container *)container
56                                        object:(StorageObject *)object;
57
58 @end
59