2 * Adium is the legal property of its developers, whose names are listed in the copyright file included
3 * with this source distribution.
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.
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
,
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
;
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]
104 /* Enable to automatically turn on DEBUG_BUILD for all BETA_RELEASE builds */
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"