// The OpenStack project is provided under the Apache 2.0 license.
//
-#import <UIKit/UIKit.h>
-#import "ASIHttpRequest.h"
-#import <MediaPlayer/MPMoviePlayerController.h>
-#import "OpenStackViewController.h"
-#import <MessageUI/MessageUI.h>
+#import "ASIProgressDelegate.h"
#import <MessageUI/MFMailComposeViewController.h>
-#import "ActivityIndicatorView.h"
+
+enum {
+ StorageObjectActionOpenFile = 0,
+ StorageObjectActionMailFile = 1,
+};
+typedef NSInteger StorageObjectAction;
@class OpenStackAccount, Container, Folder, StorageObject, AnimatedProgressView, FolderViewController;
-@interface StorageObjectViewController : OpenStackViewController <UITableViewDelegate, UITableViewDataSource, UIDocumentInteractionControllerDelegate, ASIProgressDelegate, UIActionSheetDelegate, MFMailComposeViewControllerDelegate> {
+@interface StorageObjectViewController : UITableViewController <UIDocumentInteractionControllerDelegate, ASIProgressDelegate, UIActionSheetDelegate, MFMailComposeViewControllerDelegate> {
OpenStackAccount *account;
Container *container;
Folder *folder;
StorageObject *object;
- BOOL performingAction;
BOOL fileDownloaded;
AnimatedProgressView *downloadProgressView;
BOOL fileDownloading;
- UIActionSheet *deleteActionSheet;
UIActionSheet *cdnURLActionSheet;
- IBOutlet UITableView *tableView;
- IBOutlet UIBarButtonItem *homeButton;
- id deleteSuccessObserver;
- id deleteFailureObserver;
FolderViewController *folderViewController;
UISwitch *objectIsPublicSwitch;
- ActivityIndicatorView *activityIndicatorView;
- id enablePublicSuccessObserver;
- id enablePublicFailureObserver;
- id getObjectInfoSuccessObserver;
- id getObjectInfoFailureObserver;
BOOL objectIsPublic;
+ BOOL objectIsReadOnly;
UIDocumentInteractionController *documentInteractionController;
- NSInteger cdnURLSection;
- NSInteger actionsSection;
+ NSInteger publicLinkSection;
+ NSInteger permissionsSection;
+ NSInteger versionsSection;
NSInteger deleteSection;
+ NSString *oldObjectSharingString;
NSString *oldPublicURI;
NSMutableDictionary *permissions;
+ NSString *versionID;
}
@property (nonatomic, retain) OpenStackAccount *account;
@property (nonatomic, retain) Container *container;
@property (nonatomic, retain) Folder *folder;
@property (nonatomic, retain) StorageObject *object;
-@property (nonatomic, retain) IBOutlet UITableView *tableView;
@property (nonatomic, retain) FolderViewController *folderViewController;
@property (nonatomic, retain) NSString *oldPubicURI;
@property (nonatomic, retain) UIDocumentInteractionController *documentInteractionController;
+@property (nonatomic, assign) BOOL objectIsReadOnly;
+@property (nonatomic, retain) NSString *versionID;
- (void)setProgress:(float)newProgress;
-- (IBAction)homeButtonPressed:(id)sender;
+- (void)reloadMetadataSection;
+- (void)downloadFileForAction:(StorageObjectAction)action;
@end