00001
00002
00003
00004
00005
00006 #ifndef LDAP_CONTROL_SET_H
00007 #define LDAP_CONTROL_SET_H
00008
00009 #include <list>
00010 #include <ldap.h>
00011 #include <LDAPControl.h>
00012
00013 typedef std::list<LDAPCtrl> CtrlList;
00014
00018 class LDAPControlSet {
00019 typedef CtrlList::const_iterator const_iterator;
00020 public :
00024 LDAPControlSet();
00025
00026
00030 LDAPControlSet(const LDAPControlSet& cs);
00031
00043 LDAPControlSet(LDAPControl** controls);
00044
00048 ~LDAPControlSet();
00049
00054 size_t size() const ;
00055
00060 bool empty() const;
00061
00065 const_iterator begin() const;
00066
00071 const_iterator end() const;
00072
00077 void add(const LDAPCtrl& ctrl);
00078
00083 LDAPControl** toLDAPControlArray()const ;
00084 static void freeLDAPControlArray(LDAPControl **ctrl);
00085 private :
00086 CtrlList data;
00087 } ;
00088 #endif //LDAP_CONTROL_SET_H