Make info windows modular. Add support for versions pane in info window. Allow downlo...
[pithos-macos] / pithos-macos / PithosBrowserController.h
index 584826b..dd4df60 100644 (file)
@@ -2,7 +2,7 @@
 //  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 PithosEmptyNode;
 @class PithosActivityFacility;
+@class ASINetworkQueue;
 
 @interface PithosBrowserController : NSWindowController <NSBrowserDelegate, NSSplitViewDelegate, NSOutlineViewDelegate, NSOutlineViewDataSource, NSMenuDelegate, PithosActivityFacilityDelegate> {
+    BOOL browserInitialized;
+    BOOL browserActive;
+    
+    ASIPithos *pithos;
+    
     PithosNode *rootNode;
     PithosAccountNode *accountNode;
     PithosEmptyNode *containersNode;
     PithosActivityFacility *activityFacility;
     
     NSTimer *refreshTimer;
+    
+    ASINetworkQueue *moveNetworkQueue;
+    ASINetworkQueue *copyNetworkQueue;
+    ASINetworkQueue *deleteNetworkQueue;
+    ASINetworkQueue *uploadNetworkQueue;
+    ASINetworkQueue *downloadNetworkQueue;
+    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;
 
 @end