1 /* LDAPSource.h - this file is part of SOGo
3 * Copyright (C) 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.
26 #import <Foundation/NSObject.h>
30 @class NGLdapConnection;
32 @interface LDAPSource : NSObject
40 NSString *IDField; /* the first part of a user DN */
45 NGLdapConnection *ldapConnection;
46 NSMutableArray *searchAttributes;
49 + (id) sourceFromUDSource: (NSDictionary *) udSource;
51 - (id) initFromUDSource: (NSDictionary *) udSource;
53 - (void) setBindDN: (NSString *) newBindDN
54 hostname: (NSString *) newBindHostname
55 port: (NSString *) newBindPort
56 andPassword: (NSString *) newBindPassword;
57 - (void) setBaseDN: (NSString *) newBaseDN
58 IDField: (NSString *) newIDField
59 CNField: (NSString *) newCNField
60 UIDField: (NSString *) newUIDField
61 andBindFields: (NSString *) newBindFields;
63 - (BOOL) checkLogin: (NSString *) login
64 andPassword: (NSString *) password;
66 - (NSDictionary *) lookupContactEntry: (NSString *) entryID;
67 - (NSDictionary *) lookupContactEntryWithUIDorEmail: (NSString *) entryID;
68 - (NSArray *) allEntryIDs;
69 - (NSArray *) fetchContactsMatching: (NSString *) filter;
73 #endif /* LDAPSOURCE_H */