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 "AILoggerPlugin.h"
18 #import "AILogFromGroup.h"
19 #import "AILogToGroup.h"
20 #import <AIUtilities/AIFileManagerAdditions.h>
22 @implementation AILogFromGroup
24 //A group of logs from one of our accounts
25 - (AILogFromGroup *)initWithPath:(NSString *)inPath fromUID:(NSString *)inFromUID serviceClass:(NSString *)inServiceClass;
27 if ((self = [super init]))
29 path = [inPath retain];
30 fromUID = [inFromUID retain];
31 serviceClass = [inServiceClass retain];
43 [serviceClass release];
44 [toGroupArray release];
55 - (NSString *)serviceClass
60 //Returns all of our 'to' groups, creating them if necessary
61 - (NSArray *)toGroupArray
64 NSEnumerator *enumerator;
69 toGroupArray = [[NSMutableArray alloc] init];
72 fullPath = [[AILoggerPlugin logBasePath] stringByAppendingPathComponent:path];
73 enumerator = [[[NSFileManager defaultManager] directoryContentsAtPath:fullPath] objectEnumerator];
74 while ((folderName = [enumerator nextObject])) {
75 if (![folderName isEqualToString:@".DS_Store"]) {
76 AILogToGroup *toGroup = nil;
78 //#### Why does this alloc fail sometimes? ####
79 toGroup = [[AILogToGroup alloc] initWithPath:[path stringByAppendingPathComponent:folderName]
82 serviceClass:serviceClass];
84 //Not sure why, but I've had that alloc fail on me before
85 if (toGroup != nil) [toGroupArray addObject:toGroup];
95 - (void)removeToGroup:(AILogToGroup *)toGroup
97 [[NSFileManager defaultManager] trashFileAtPath:[[AILoggerPlugin logBasePath] stringByAppendingPathComponent:[toGroup path]]];
99 [toGroupArray removeObjectIdenticalTo:toGroup];