2 // StorageObjectViewController.h
5 // Created by Mike Mayo on 12/19/10.
6 // The OpenStack project is provided under the Apache 2.0 license.
9 #import "ASIProgressDelegate.h"
10 #import <MessageUI/MFMailComposeViewController.h>
13 StorageObjectActionOpenFile = 0,
14 StorageObjectActionMailFile = 1,
16 typedef NSInteger StorageObjectAction;
18 @class OpenStackAccount, Container, Folder, StorageObject, AnimatedProgressView, FolderViewController;
20 @interface StorageObjectViewController : UITableViewController <UIDocumentInteractionControllerDelegate, ASIProgressDelegate, UIActionSheetDelegate, MFMailComposeViewControllerDelegate> {
21 OpenStackAccount *account;
24 StorageObject *object;
26 AnimatedProgressView *downloadProgressView;
28 UIActionSheet *cdnURLActionSheet;
30 FolderViewController *folderViewController;
31 UISwitch *objectIsPublicSwitch;
33 BOOL objectIsReadOnly;
35 UIDocumentInteractionController *documentInteractionController;
37 NSInteger publicLinkSection;
38 NSInteger permissionsSection;
39 NSInteger versionsSection;
40 NSInteger deleteSection;
42 NSString *oldObjectSharingString;
43 NSString *oldPublicURI;
44 NSMutableDictionary *permissions;
48 @property (nonatomic, retain) OpenStackAccount *account;
49 @property (nonatomic, retain) Container *container;
50 @property (nonatomic, retain) Folder *folder;
51 @property (nonatomic, retain) StorageObject *object;
52 @property (nonatomic, retain) FolderViewController *folderViewController;
53 @property (nonatomic, retain) NSString *oldPubicURI;
54 @property (nonatomic, retain) UIDocumentInteractionController *documentInteractionController;
55 @property (nonatomic, assign) BOOL objectIsReadOnly;
56 @property (nonatomic, retain) NSString *versionID;
58 - (void)setProgress:(float)newProgress;
59 - (void)reloadMetadataSection;
60 - (void)downloadFileForAction:(StorageObjectAction)action;