#import <Cocoa/Cocoa.h>
+#import "PreferenceControlling.h"
+#import "NetTrafficControlling.h"
+#import "ListenerDelegate.h"
+#import "ServerDelegate.h"
-// constants
-enum
-{
- TYPE_STRING, TYPE_INTEGER, TYPE_FLOAT
-};
+#include "cheat_globals.h"
-enum
-{
- SIZE_8_BIT, SIZE_16_BIT, SIZE_32_BIT, SIZE_64_BIT
-};
+
+@class AboutBoxController;
+@class PreferenceController;
+@class NetTrafficController;
-@interface AppController : NSObject
+@interface AppController : NSObject < PreferenceControlling, NetTrafficControlling, ListenerDelegate, ServerDelegate >
{
- BOOL cheating;
-
- NSArray *processList;
-
- NSMutableArray *addressList;
- BOOL searching;
-
- IBOutlet id window;
- IBOutlet id processPopup;
- IBOutlet id searchTextField;
- IBOutlet id changeTextField;
- IBOutlet id searchButton;
- IBOutlet id changeButton;
- IBOutlet id typePopup;
- IBOutlet id sizePopup;
- IBOutlet id statusText;
- IBOutlet id statusBar;
- IBOutlet id addressTable;
+ BOOL waitingToListen;
+ NSConnection *connection;
+ int connectionPort;
+ BOOL connectionRemote;
+ int sockfd;
+ NSNetService *service, *oldService;
+
+ NSMutableArray *servers;
+
+ AboutBoxController *aboutBoxController;
+ PreferenceController *preferenceController;
+ NetTrafficController *netTrafficController;
}
-- (void)reset;
-
-- (void)firstSearch:(id)nothing;
-- (void)search:(id)nothing;
-
-- (void)change;
+- (void)listenOnPort:(int)port remote:(BOOL)remote;
+- (void)stopListener;
-- (void)updateProcessPopup;
-- (void)updateTypePopup;
-- (void)updateSizePopup;
-- (void)updateSearchButton;
-- (void)updateChangeButton;
-- (void)updateStatusText;
+- (void)broadcastWithName:(NSString *)name;
+- (void)stopBroadcast;
-- (void)rebuildProcessList;
+- (IBAction)showAboutBoxWindow:(id)sender;
+- (IBAction)showPreferenceWindow:(id)sender;
+- (IBAction)showNetTrafficWindow:(id)sender;
-- (IBAction)processPopup:(id)sender;
-- (IBAction)typePopup:(id)sender;
-- (IBAction)searchButton:(id)sender;
-- (IBAction)changeButton:(id)sender;
+- (IBAction)launchHelpFile:(id)sender;
+- (IBAction)launchWebsiteMenu:(id)sender;
+- (IBAction)launchDebugEmailMenu:(id)sender;
@end
\ No newline at end of file