From 7731832751ab9f3c6ddeb66f186d3d7fa1934a6d Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sat, 27 Apr 2024 13:11:40 +0200 Subject: Adding upstream version 2.4.57+dfsg. Signed-off-by: Daniel Baumann --- contrib/ldapc++/src/LDAPUrlList.h | 78 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 contrib/ldapc++/src/LDAPUrlList.h (limited to 'contrib/ldapc++/src/LDAPUrlList.h') diff --git a/contrib/ldapc++/src/LDAPUrlList.h b/contrib/ldapc++/src/LDAPUrlList.h new file mode 100644 index 0000000..b30af98 --- /dev/null +++ b/contrib/ldapc++/src/LDAPUrlList.h @@ -0,0 +1,78 @@ +// $OpenLDAP$ +/* + * Copyright 2000-2021 The OpenLDAP Foundation, All Rights Reserved. + * COPYING RESTRICTIONS APPLY, see COPYRIGHT file + */ + +#ifndef LDAP_URL_LIST_H +#define LDAP_URL_LIST_H + +#include +#include + +/** + * This container class is used to store multiple LDAPUrl-objects. + */ +class LDAPUrlList{ + typedef std::list ListType; + + public: + typedef ListType::const_iterator const_iterator; + + /** + * Constructs an empty list. + */ + LDAPUrlList(); + + /** + * Copy-constructor + */ + LDAPUrlList(const LDAPUrlList& urls); + + /** + * For internal use only + * + * This constructor is used by the library internally to create a + * std::list of URLs from a array of C-strings that was return by + * the C-API + */ + LDAPUrlList(char** urls); + + /** + * Destructor + */ + ~LDAPUrlList(); + + /** + * @return The number of LDAPUrl-objects that are currently + * stored in this list. + */ + size_t size() const; + + /** + * @return true if there are zero LDAPUrl-objects currently + * stored in this list. + */ + bool empty() const; + + /** + * @return A iterator that points to the first element of the list. + */ + const_iterator begin() const; + + /** + * @return A iterator that points to the element after the last + * element of the list. + */ + const_iterator end() const; + + /** + * Adds one element to the end of the list. + * @param attr The attribute to add to the list. + */ + void add(const LDAPUrl& url); + + private : + ListType m_urls; +}; +#endif //LDAP_URL_LIST_H -- cgit v1.2.3