1 /* SOGoContactFolders.m - this file is part of SOGo
3 * Copyright (C) 2006, 2007 Inverse groupe conseil
5 * Author: Wolfgang Sourdeau <wsourdeau@inverse.ca>
7 * This file is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2, or (at your option)
12 * This file is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License
18 * along with this program; see the file COPYING. If not, write to
19 * the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
20 * Boston, MA 02111-1307, USA.
24 ContactItems IPF.Contact
25 AppointmentItems IPF.Appointment
26 NoteItems IPF.StickyNote
28 JournalItems IPF.Journal */
30 #import <Foundation/NSArray.h>
31 #import <Foundation/NSString.h>
32 #import <Foundation/NSEnumerator.h>
34 #import <SoObjects/SOGo/LDAPUserManager.h>
36 #import "SOGoContactGCSFolder.h"
37 #import "SOGoContactLDAPFolder.h"
38 #import "SOGoContactFolders.h"
40 @implementation SOGoContactFolders
42 + (NSString *) gcsFolderType
47 + (Class) subFolderClass
49 return [SOGoContactGCSFolder class];
52 - (void) appendSystemSources
55 NSEnumerator *sourceIDs;
56 NSString *currentSourceID, *displayName;
57 SOGoContactLDAPFolder *currentFolder;
59 um = [LDAPUserManager sharedUserManager];
60 sourceIDs = [[um addressBookSourceIDs] objectEnumerator];
61 currentSourceID = [sourceIDs nextObject];
62 while (currentSourceID)
64 displayName = [um displayNameForSourceWithID: currentSourceID];
65 currentFolder = [SOGoContactLDAPFolder folderWithName: currentSourceID
66 andDisplayName: displayName
68 [currentFolder setLDAPSource: [um sourceWithID: currentSourceID]];
69 [subFolders setObject: currentFolder forKey: currentSourceID];
70 currentSourceID = [sourceIDs nextObject];
74 - (NSString *) defaultFolderName
76 return @"Personal Address Book";