/*
Project: FTP
Copyright (C) 2005 Riccardo Mottola
Author: Riccardo Mottola
Created: 2005-03-30
Application Controller
This application is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This application is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
#define connectionModeKey @"connectionMode"
#import <AppKit/AppKit.h>
#import "ftpclient.h"
#import "localclient.h"
#import "fileTable.h"
#include <sys/time.h>
@interface AppController : NSObject
{
IBOutlet NSWindow *mainWin;
IBOutlet NSTableView *localView;
IBOutlet NSTableView *remoteView;
IBOutlet NSPopUpButton *localPath;
IBOutlet NSPopUpButton *remotePath;
IBOutlet NSTextField *infoMessage;
IBOutlet NSTextField *infoSpeed;
IBOutlet NSTextField *infoSize;
IBOutlet NSProgressIndicator *progBar;
IBOutlet NSWindow *logWin;
IBOutlet NSTextView *logTextField;
IBOutlet NSPanel *connectPanel;
IBOutlet NSTextField *connAddress;
IBOutlet NSTextField *connPort;
IBOutlet NSTextField *connUser;
IBOutlet NSTextField *connPass;
IBOutlet NSButton *connAnon;
IBOutlet NSPanel *prefPanel;
IBOutlet NSMatrix *portType;
fileTable *localTableData;
fileTable *remoteTableData;
ftpclient *ftp;
localclient *local;
@private connectionModes connMode;
@private struct timeval beginTimeVal;
@private struct timeval lastTimeVal;
@private unsigned long long transferSize;
}
+ (void)initialize;
- (id)init;
- (void)dealloc;
- (void)awakeFromNib;
- (void)applicationDidFinishLaunching:(NSNotification *)aNotif;
- (BOOL)applicationShouldTerminate:(id)sender;
- (void)applicationWillTerminate:(NSNotification *)aNotif;
- (BOOL)application:(NSApplication *)application openFile:(NSString *)fileName;
- (void)updatePath :(NSPopUpButton *)path :(NSArray *)pathArray;
- (IBAction)changePathFromMenu:(id)sender;
- (void)listDoubleClick:(id)sender;
- (IBAction)downloadButton:(id)sender;
- (IBAction)uploadButton:(id)sender;
- (IBAction)localDelete:(id)sender;
- (IBAction)remoteDelete:(id)sender;
- (void)setTransferBegin:(NSString *)name :(unsigned long long)size;
- (void)setTransferProgress:(unsigned long)bytes;
- (void)setTransferEnd:(unsigned long)bytes;
- (IBAction)disconnect:(id)sender;
- (IBAction)showPrefPanel:(id)sender;
- (IBAction)prefSave:(id)sender;
- (IBAction)prefCancel:(id)sender;
- (IBAction)showFtpLog:(id)sender;
- (void)appendTextToLog:(NSString *)textChunk;
- (IBAction)showConnPanel:(id)sender;
- (IBAction)connectConn:(id)sender;
- (IBAction)cancelConn:(id)sender;
- (IBAction)anonymousConn:(id)sender;
/* accessor */
- (connectionModes)connectionMode;
@end
syntax highlighted by Code2HTML, v. 0.9.1