2 // OpenStackAppDelegate.h
5 // Created by Mike Mayo on 9/30/10.
6 // The OpenStack project is provided under the Apache 2.0 license.
9 @class RootViewController, OpenStackRequest, OpenStackAccount, Container, StorageObject;
11 #define CACHED_OBJECTS_ARCHIVE_KEY @"cachedObjectsDictionary"
12 #define CACHE_DICT_ARCHIVE_NAME @"cache.dict"
14 @interface OpenStackAppDelegate : NSObject <UIApplicationDelegate> {
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;
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;
41 - (NSString *)cacheFilePathForHash:(NSString *)hash;
42 - (void)setCacheFilePath:(NSString *)filePath forHash:(NSString *)hash;
43 - (BOOL)removeCacheObjectForHash:(NSString *)hash;
44 - (void)removeAllCacheObjects;
45 - (void)saveCacheDictionary;
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;