-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-// Project: The Cheat
-//
-// File: AppController.h
-// Created: Wed Aug 13 2003
-//
-// Copyright: 2003 Chaz McGarvey. All rights reserved.
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+// **********************************************************************
+// The Cheat - A universal game cheater for Mac OS X
+// (C) 2003-2005 Chaz McGarvey (BrokenZipper)
+//
+// This program 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 1, or (at your option)
+// any later version.
+//
+// This program 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 General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+//
#import <Cocoa/Cocoa.h>
+#import "ChazLog.h"
+#include "cheat_global.h"
+#import "ChazUpdate.h"
-// constants
-enum
-{
- TYPE_STRING, TYPE_INTEGER, TYPE_FLOAT
-};
+#import "CheatServer.h"
-enum
-{
- SIZE_8_BIT, SIZE_16_BIT, SIZE_32_BIT, SIZE_64_BIT
-};
+@class AboutBoxController;
+@class HelpController;
+@class PreferenceController;
-@interface AppController : NSObject
+@interface AppController : NSApplication
{
- 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;
+ CheatServer *_server;
+
+ AboutBoxController *_aboutBoxController;
+ HelpController *_helpController;
+ PreferenceController *_preferenceController;
}
-- (void)reset;
+// Interface Actions
+- (IBAction)newSearchWindow:(id)sender;
+- (IBAction)newBlankCheatWindow:(id)sender;
+
+- (IBAction)showAboutBoxWindow:(id)sender;
+- (IBAction)showPreferenceWindow:(id)sender;
+
+- (IBAction)launchHelpFile:(id)sender;
+- (IBAction)launchEmailMenu:(id)sender;
+- (IBAction)launchWebsiteMenu:(id)sender;
-- (void)firstSearch:(id)nothing;
-- (void)search:(id)nothing;
+- (IBAction)checkForUpdate:(id)sender;
-- (void)change;
+// Privilage elevation stuff
+AuthorizationRef _authRef;
+AuthorizationItem _authItem;
+AuthorizationRights _authRights;
+- (int) preAuthorize;
+- (int) launchAuthPrgm;
-- (void)updateProcessPopup;
-- (void)updateTypePopup;
-- (void)updateSizePopup;
-- (void)updateSearchButton;
-- (void)updateChangeButton;
-- (void)updateStatusText;
+// Server Stuff
+- (CheatServer *)cheatServer;
+- (BOOL)startCheatServer;
+- (void)stopCheatServer;
-- (void)rebuildProcessList;
+@end
-- (IBAction)processPopup:(id)sender;
-- (IBAction)typePopup:(id)sender;
-- (IBAction)searchButton:(id)sender;
-- (IBAction)changeButton:(id)sender;
-@end
\ No newline at end of file