// PithosBrowserController.h
// pithos-macos
//
-// Copyright 2011 GRNET S.A. All rights reserved.
+// Copyright 2011-2012 GRNET S.A. All rights reserved.
//
// Redistribution and use in source and binary forms, with or
// without modification, are permitted provided that the following
#import <Cocoa/Cocoa.h>
#import "PithosActivityFacility.h"
+@class ASIPithos;
@class PithosNode;
@class PithosAccountNode;
@class PithosSharingAccountsNode;
@class ASINetworkQueue;
@interface PithosBrowserController : NSWindowController <NSBrowserDelegate, NSSplitViewDelegate, NSOutlineViewDelegate, NSOutlineViewDataSource, NSMenuDelegate, PithosActivityFacilityDelegate> {
+ BOOL browserInitialized;
+ BOOL browserActive;
+
+ ASIPithos *pithos;
+
PithosNode *rootNode;
PithosAccountNode *accountNode;
PithosEmptyNode *containersNode;
NSMenu *outlineViewMenu;
NSMenu *browserMenu;
+ BOOL editingItem;
+
NSArray *draggedNodes;
PithosNode *draggedParentNode;
ASINetworkQueue *deleteNetworkQueue;
ASINetworkQueue *uploadNetworkQueue;
ASINetworkQueue *downloadNetworkQueue;
- dispatch_queue_t moveQueue;
- dispatch_queue_t copyQueue;
- dispatch_queue_t deleteQueue;
- dispatch_queue_t uploadQueue;
- dispatch_queue_t downloadQueue;
+ NSOperationQueue *moveQueue;
+ NSOperationQueue *copyQueue;
+ NSOperationQueue *deleteQueue;
+ NSOperationQueue *uploadQueue;
+ NSOperationQueue *downloadQueue;
+ NSOperationQueue *moveCallbackQueue;
+ NSOperationQueue *copyCallbackQueue;
+ NSOperationQueue *deleteCallbackQueue;
+ NSOperationQueue *uploadCallbackQueue;
+ NSOperationQueue *downloadCallbackQueue;
}
+@property (nonatomic, retain) ASIPithos *pithos;
+
@property (nonatomic, retain) PithosAccountNode *accountNode;
@property (nonatomic, assign) IBOutlet NSSplitView *verticalSplitView;
- (IBAction)forceRefresh:(id)sender;
- (IBAction)refresh:(id)sender;
+- (void)resetBrowser;
+- (void)startBrowser;
+- (BOOL)operationsPending;
+- (void)downloadNode:(PithosNode *)node toDirectory:(NSString *)dirPath withNewFileName:(NSString *)newFileName
+ version:(NSString *)version checkIfExists:(BOOL)checkIfExists;
@end