diff options
Diffstat (limited to 'contrib/ldapc++/src/LDAPModList.h')
-rw-r--r-- | contrib/ldapc++/src/LDAPModList.h | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/contrib/ldapc++/src/LDAPModList.h b/contrib/ldapc++/src/LDAPModList.h new file mode 100644 index 0000000..d42a75b --- /dev/null +++ b/contrib/ldapc++/src/LDAPModList.h @@ -0,0 +1,59 @@ +// $OpenLDAP$ +/* + * Copyright 2000-2018 The OpenLDAP Foundation, All Rights Reserved. + * COPYING RESTRICTIONS APPLY, see COPYRIGHT file + */ + + +#ifndef LDAP_MOD_LIST_H +#define LDAP_MOD_LIST_H + +#include <ldap.h> +#include <list> +#include <LDAPModification.h> + +/** + * This container class is used to store multiple LDAPModification-objects. + */ +class LDAPModList{ + typedef std::list<LDAPModification> ListType; + + public : + /** + * Constructs an empty list. + */ + LDAPModList(); + + /** + * Copy-constructor + */ + LDAPModList(const LDAPModList&); + + /** + * Adds one element to the end of the list. + * @param mod The LDAPModification to add to the std::list. + */ + void addModification(const LDAPModification &mod); + + /** + * Translates the list to a 0-terminated array of + * LDAPMod-structures as needed by the C-API + */ + LDAPMod** toLDAPModArray(); + + /** + * @returns true, if the ModList contains no Operations + */ + bool empty() const; + + /** + * @returns number of Modifications in the ModList + */ + unsigned int size() const; + + private : + ListType m_modList; +}; +#endif //LDAP_MOD_LIST_H + + |