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
41 NSString *IDField; /* the first part of a user DN */
46 NGLdapConnection *ldapConnection;
47 NSMutableArray *searchAttributes;
50 + (id) sourceFromUDSource: (NSDictionary *) udSource;
52 - (id) initFromUDSource: (NSDictionary *) udSource;
54 - (void) setBindDN: (NSString *) newBindDN
55 hostname: (NSString *) newBindHostname
56 port: (NSString *) newBindPort
57 andPassword: (NSString *) newBindPassword;
58 - (void) setBaseDN: (NSString *) newBaseDN
59 IDField: (NSString *) newIDField
60 CNField: (NSString *) newCNField
61 UIDField: (NSString *) newUIDField
62 andBindFields: (NSString *) newBindFields;
64 - (BOOL) checkLogin: (NSString *) login
65 andPassword: (NSString *) password;
67 - (NSDictionary *) lookupContactEntry: (NSString *) entryID;
68 - (NSDictionary *) lookupContactEntryWithUIDorEmail: (NSString *) entryID;
69 - (NSArray *) allEntryIDs;
70 - (NSArray *) fetchContactsMatching: (NSString *) filter;
71 - (NSString *) sourceID;
75 #endif /* LDAPSOURCE_H */