diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-27 11:11:40 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-27 11:11:40 +0000 |
commit | 7731832751ab9f3c6ddeb66f186d3d7fa1934a6d (patch) | |
tree | e91015872543a59be2aad26c2fea02e41b57005d /contrib/ldapc++/src/LDAPUrlList.h | |
parent | Initial commit. (diff) | |
download | openldap-upstream/2.4.57+dfsg.tar.xz openldap-upstream/2.4.57+dfsg.zip |
Adding upstream version 2.4.57+dfsg.upstream/2.4.57+dfsgupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'contrib/ldapc++/src/LDAPUrlList.h')
-rw-r--r-- | contrib/ldapc++/src/LDAPUrlList.h | 78 |
1 files changed, 78 insertions, 0 deletions
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 <list> +#include <LDAPUrl.h> + +/** + * This container class is used to store multiple LDAPUrl-objects. + */ +class LDAPUrlList{ + typedef std::list<LDAPUrl> 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 |