#ifndef GWPROTOCOL_H
#define GWPROTOCOL_H

@class GWorkspace;
@class ViewersWindow;

@protocol GWProtocol

+ (GWorkspace *)gworkspace;

- (BOOL)performFileOperation:(NSString *)operation 
                      source:(NSString *)source 
                 destination:(NSString *)destination 
                       files:(NSArray *)files 
                         tag:(int *)tag;

- (void)performFileOperationWithDictionary:(id)opdict;

- (BOOL)openFile:(NSString *)fullPath;

- (BOOL)openFile:(NSString *)fullPath 
			 fromImage:(NSImage *)anImage 
			  			at:(NSPoint)point 
					inView:(NSView *)aView;

- (BOOL)selectFile:(NSString *)fullPath
							inFileViewerRootedAtPath:(NSString *)rootFullpath;

- (void)slideImage:(NSImage *)image 
							from:(NSPoint)fromPoint 
								to:(NSPoint)toPoint;

- (void)noteFileSystemChanged;

- (void)noteFileSystemChanged:(NSString *)path;

- (BOOL)isPakageAtPath:(NSString *)path;

- (int)sortTypeForDirectoryAtPath:(NSString *)aPath;

- (void)setSortType:(int)type forDirectoryAtPath:(NSString *)aPath;

- (void)openSelectedPaths:(NSArray *)paths newViewer:(BOOL)newv;

- (ViewersWindow *)newViewerAtPath:(NSString *)path canViewApps:(BOOL)viewapps;

- (NSImage *)smallIconForFile:(NSString*)aPath;

- (NSImage *)smallIconForFiles:(NSArray*)pathArray;

- (NSImage *)smallHighlightIcon;

- (NSArray *)getSelectedPaths;

- (NSString *)trashPath;

- (NSArray *)viewersSearchPaths;

- (void)lockFiles:(NSArray *)files inDirectoryAtPath:(NSString *)path;

- (void)unLockFiles:(NSArray *)files inDirectoryAtPath:(NSString *)path;

- (BOOL)isLockedPath:(NSString *)path;

- (void)addWatcherForPath:(NSString *)path;

- (void)removeWatcherForPath:(NSString *)path;

- (BOOL)hideSysFiles;

- (BOOL)animateChdir;

- (BOOL)animateLaunck;

- (BOOL)animateSlideBack;

@end 

#endif // GWPROTOCOL_H

