Using {{{setDefaultPermitDenyForAccount}}} on the gaim thread. Changed an autoreleas...
[adiumx.git] / Source / AIAdium.h
blob2784c53d2339034f59d0dfe299b98ba19ad3eed8
1 /*
2 * Adium is the legal property of its developers, whose names are listed in the copyright file included
3 * with this source distribution.
4 *
5 * This program is free software; you can redistribute it and/or modify it under the terms of the GNU
6 * General Public License as published by the Free Software Foundation; either version 2 of the License,
7 * or (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
10 * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
11 * Public License for more details.
13 * You should have received a copy of the GNU General Public License along with this program; if not,
14 * write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
17 #import <Cocoa/Cocoa.h>
19 #define BETA_RELEASE FALSE
21 @class AISortController, AILoginController, AIAccountController, AIInterfaceController, AIContactController,
22 AICorePluginLoader, AIPreferenceController, AIMenuController, AILoginWindowController,
23 AICoreComponentLoader, AIContentController, AIToolbarController, AIContactInfoViewController,
24 AIPreferenceViewController, AISoundController, AIDockController, ESFileTransferController,
25 ESContactAlertsController, ESApplescriptabilityController, AIStatusController, ESDebugController,
26 AIEmoticonController;
28 @interface AIAdium : NSObject {
29 IBOutlet AIAccountController *accountController;
30 IBOutlet AIContactController *contactController;
31 IBOutlet AIContentController *contentController;
32 IBOutlet AIDockController *dockController;
33 IBOutlet AIEmoticonController *emoticonController;
34 IBOutlet AIInterfaceController *interfaceController;
35 IBOutlet AILoginController *loginController;
36 IBOutlet AIMenuController *menuController;
37 IBOutlet AIPreferenceController *preferenceController;
38 IBOutlet AISoundController *soundController;
39 IBOutlet AIStatusController *statusController;
40 IBOutlet AIToolbarController *toolbarController;
41 IBOutlet ESApplescriptabilityController *applescriptabilityController;
42 IBOutlet ESDebugController *debugController;
43 IBOutlet ESContactAlertsController *contactAlertsController;
44 IBOutlet ESFileTransferController *fileTransferController;
46 IBOutlet AICoreComponentLoader *componentLoader;
47 IBOutlet AICorePluginLoader *pluginLoader;
49 NSNotificationCenter *notificationCenter;
50 NSMutableDictionary *eventNotifications;
52 //pathnames to the different Application Support folders.
53 NSArray *appSupportPaths;
55 BOOL completedApplicationLoad;
56 NSString *advancedPrefsName;
59 + (NSString *)applicationSupportDirectory;
60 - (AIAccountController *)accountController;
61 - (AIContactController *)contactController;
62 - (AIContentController *)contentController;
63 - (AIContentController *)chatController;
64 - (AIDockController *)dockController;
65 - (AIEmoticonController *)emoticonController;
66 - (AIInterfaceController *)interfaceController;
67 - (AILoginController *)loginController;
68 - (AIMenuController *)menuController;
69 - (AIPreferenceController *)preferenceController;
70 - (AISoundController *)soundController;
71 - (AIStatusController *)statusController;
72 - (AIToolbarController *)toolbarController;
73 - (ESContactAlertsController *)contactAlertsController;
74 - (ESDebugController *)debugController;
75 - (ESFileTransferController *)fileTransferController;
77 - (AICoreComponentLoader *)componentLoader;
79 - (NSNotificationCenter *)notificationCenter;
81 - (IBAction)showAboutBox:(id)sender;
82 - (IBAction)showHelp:(id)sender;
83 - (IBAction)reportABug:(id)sender;
84 - (IBAction)sendFeedback:(id)sender;
85 - (IBAction)showForums:(id)sender;
86 - (IBAction)showXtras:(id)sender;
87 - (IBAction)confirmQuit:(id)sender;
88 - (IBAction)launchJeeves:(id)sender;
90 - (NSString *)createResourcePathForName:(NSString *)name;
91 - (NSArray *)resourcePathsForName:(NSString *)name;
92 - (NSArray *)allResourcesForName:(NSString *)name withExtensions:(id)extensions;
93 - (NSString *)pathOfPackWithName:(NSString *)name extension:(NSString *)extension resourceFolderName:(NSString *)folderName;
94 - (NSString *)cachesPath;
96 @end
98 //Crash Reporter
99 #define PATH_TO_IMPORTER [[[[NSBundle mainBundle] bundlePath] stringByAppendingPathComponent:@"/Contents/Resources/Adium 1.6 Pref Importer.app"] stringByExpandingTildeInPath]
100 #define EXCEPTIONS_PATH [@"~/Library/Logs/CrashReporter/Adium.exception.log" stringByExpandingTildeInPath]
101 #define CRASHES_PATH [@"~/Library/Logs/CrashReporter/Adium.crash.log" stringByExpandingTildeInPath]
103 //Debugging
104 /* Enable to automatically turn on DEBUG_BUILD for all BETA_RELEASE builds */
105 #if 0
106 #if BETA_RELEASE
107 #ifndef DEBUG_BUILD
108 #define DEBUG_BUILD
109 #endif
110 #endif
111 #endif
113 //Adium events
114 #define KEY_EVENT_DISPLAY_NAME @"DisplayName"
115 #define KEY_EVENT_NOTIFICATION @"Notification"
117 //Adium Notifications
118 #define CONTACT_STATUS_ONLINE_YES @"Contact_StatusOnlineYes"
119 #define CONTACT_STATUS_ONLINE_NO @"Contact_StatusOnlineNo"
120 #define CONTACT_STATUS_AWAY_YES @"Contact_StatusAwayYes"
121 #define CONTACT_STATUS_AWAY_NO @"Contact_StatusAwayNo"
122 #define CONTACT_STATUS_IDLE_YES @"Contact_StatusIdleYes"
123 #define CONTACT_STATUS_IDLE_NO @"Contact_StatusIdleNo"
124 #define CONTACT_STATUS_MESSAGE @"Contact_StatusMessage"
125 #define CONTACT_SEEN_ONLINE_YES @"Contact_SeenOnlineYes"
126 #define CONTACT_SEEN_ONLINE_NO @"Contact_SeenOnlineNo"
127 #define CONTENT_MESSAGE_SENT @"Content_MessageSent"
128 #define CONTENT_MESSAGE_RECEIVED @"Content_MessageReceived"
129 #define CONTENT_MESSAGE_RECEIVED_FIRST @"Content_MessageReceivedFirst"
130 #define CONTENT_MESSAGE_RECEIVED_BACKGROUND @"Content_MessageReceivedBackground"
131 #define INTERFACE_ERROR_MESSAGE @"Interface_ErrorMessageReceived"
132 #define ACCOUNT_CONNECTED @"Account_Connected"
133 #define ACCOUNT_DISCONNECTED @"Account_Disconnected"
134 #define ACCOUNT_RECEIVED_EMAIL @"Account_NewMailReceived"
135 #define FILE_TRANSFER_REQUEST @"FileTransfer_Request"
136 #define FILE_TRANSFER_BEGAN @"FileTransfer_Began"
137 #define FILE_TRANSFER_CANCELED @"FileTransfer_Canceled"
138 #define FILE_TRANSFER_COMPLETE @"FileTransfer_Complete"
140 #define Adium_Xtras_Changed @"Adium_Xtras_Changed"
141 #define Adium_CompletedApplicationLoad @"Adium_CompletedApplicationLoad"
142 //#define Adium_VersionWillBeUpgraded @"Adium_VersionWillBeUpgraded"
143 //#define Adium_VersionUpgraded @"Adium_VersionUpgraded"