]> err.no Git - scalable-opengroupware.org/blob - SoObjects/Contacts/SOGoContactFolders.m
git-svn-id: http://svn.opengroupware.org/SOGo/inverse/trunk@1185 d1b88da0-ebda-0310...
[scalable-opengroupware.org] / SoObjects / Contacts / SOGoContactFolders.m
1 /* SOGoContactFolders.m - this file is part of SOGo
2  *
3  * Copyright (C) 2006, 2007 Inverse groupe conseil
4  *
5  * Author: Wolfgang Sourdeau <wsourdeau@inverse.ca>
6  *
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)
10  * any later version.
11  *
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.
16  *
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.
21  */
22
23 /* MailItems                IPF.Note
24    ContactItems             IPF.Contact
25    AppointmentItems         IPF.Appointment
26    NoteItems                IPF.StickyNote
27    TaskItems                IPF.Task
28    JournalItems             IPF.Journal     */
29
30 #import <Foundation/NSArray.h>
31 #import <Foundation/NSString.h>
32 #import <Foundation/NSEnumerator.h>
33
34 #import <SoObjects/SOGo/LDAPUserManager.h>
35
36 #import "SOGoContactGCSFolder.h"
37 #import "SOGoContactLDAPFolder.h"
38 #import "SOGoContactFolders.h"
39
40 @implementation SOGoContactFolders
41
42 + (NSString *) gcsFolderType
43 {
44   return @"Contact";
45 }
46
47 + (Class) subFolderClass
48 {
49   return [SOGoContactGCSFolder class];
50 }
51
52 - (void) appendSystemSources
53 {
54   LDAPUserManager *um;
55   NSEnumerator *sourceIDs;
56   NSString *currentSourceID, *displayName;
57   SOGoContactLDAPFolder *currentFolder;
58
59   um = [LDAPUserManager sharedUserManager];
60   sourceIDs = [[um addressBookSourceIDs] objectEnumerator]; 
61   currentSourceID = [sourceIDs nextObject];
62   while (currentSourceID)
63     {
64       displayName = [um displayNameForSourceWithID: currentSourceID];
65       currentFolder = [SOGoContactLDAPFolder folderWithName: currentSourceID
66                                              andDisplayName: displayName
67                                              inContainer: self];
68       [currentFolder setLDAPSource: [um sourceWithID: currentSourceID]];
69       [subFolders setObject: currentFolder forKey: currentSourceID];
70       currentSourceID = [sourceIDs nextObject];
71     }
72 }
73
74 - (NSString *) defaultFolderName
75 {
76   return @"Personal Address Book";
77 }
78
79 @end