Fixed a bunch of unit tests to restore state after they complete.
[adiumx.git] / Source / AIStatusController.h
blobc8f864503150798d16b87dfae7a68276a76e2bfe
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 <Adium/AIObject.h>
18 #import <Adium/AIStatusControllerProtocol.h>
19 #import <Adium/AIContactControllerProtocol.h>
21 @class AIStatus, AIService, AdiumIdleManager, AIStatusGroup;
23 @interface AIStatusController : AIObject <AIStatusController, AIListObjectObserver> {
24 //Status states
25 AIStatusGroup *_rootStateGroup;
26 NSMutableSet *_flatStatusSet;
27 NSMutableArray *builtInStateArray;
29 AIStatus *offlineStatusState; //Shared state used to symbolize the offline 'status'
31 AIStatus *_activeStatusState; //Cached active status state
32 NSMutableSet *_allActiveStatusStates; //Cached all active status states
33 NSMutableDictionary *statusDictsByServiceCodeUniqueID[STATUS_TYPES_COUNT];
34 NSMutableSet *builtInStatusTypes[STATUS_TYPES_COUNT];
36 NSMutableSet *accountsToConnect;
37 BOOL isProcessingGlobalChange;
39 //State menu support
40 NSMutableArray *stateMenuPluginsArray;
41 NSMutableDictionary *stateMenuItemArraysDict;
43 int activeStatusUpdateDelays;
44 int statusMenuRebuildDelays;
46 NSArray *_sortedFullStateArray;
47 NSArray *_flatStateArray;
49 NSMutableSet *stateMenuItemsNeedingUpdating;
51 AdiumIdleManager *idleManager;
54 @end