You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

55 lines
1.6 KiB

/*
$Id: ldap1.h,v 1.1.1.1 2005/07/07 15:05:59 oflebbe Exp $
Copyright (C) 2003 Olaf Flebbe, Science and Computing AG
o.flebbe@science-computing.de
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#ifndef LDAP1_H
#define LDAP1_H
#define UNICODE
#define WINDOWS_LEAN_AND_MEAN
#include <windows.h>
#include <lm.h>
#include <winldap.h>
#include "typedefs.h"
class CLDAP {
private:
FILE *fp;
LDAP *lp;
mystring context;
LDAPMessage *msg;
protected:
void do_query( const mystring& filter, const wchar_t *attrs[]);
mystring queryAttr( const mystring &filter, const mystring &attr, bool *exists = NULL);
stringSet queryListOfAttr( const mystring &filter, const mystring &attr);
stringMap querySetOfAttrs( const mystring &filter, const stringSet &attr);
public:
CLDAP( const std::list<mystring>& host, FILE *fp, const mystring& binddn, const mystring& bindpasswd);
void setContext( const mystring &context) {
this->context = context;
}
};
#endif