1/* $NetBSD: LDAPModList.h,v 1.1.1.2 2010/03/08 02:14:14 lukem Exp $ */ 2 3// OpenLDAP: pkg/ldap/contrib/ldapc++/src/LDAPModList.h,v 1.7.6.2 2008/04/14 23:29:26 quanah Exp 4/* 5 * Copyright 2000, OpenLDAP Foundation, All Rights Reserved. 6 * COPYING RESTRICTIONS APPLY, see COPYRIGHT file 7 */ 8 9 10#ifndef LDAP_MOD_LIST_H 11#define LDAP_MOD_LIST_H 12 13#include <ldap.h> 14#include <list> 15#include <LDAPModification.h> 16 17/** 18 * This container class is used to store multiple LDAPModification-objects. 19 */ 20class LDAPModList{ 21 typedef std::list<LDAPModification> ListType; 22 23 public : 24 /** 25 * Constructs an empty list. 26 */ 27 LDAPModList(); 28 29 /** 30 * Copy-constructor 31 */ 32 LDAPModList(const LDAPModList&); 33 34 /** 35 * Adds one element to the end of the list. 36 * @param mod The LDAPModification to add to the std::list. 37 */ 38 void addModification(const LDAPModification &mod); 39 40 /** 41 * Translates the list to a 0-terminated array of 42 * LDAPMod-structures as needed by the C-API 43 */ 44 LDAPMod** toLDAPModArray(); 45 46 /** 47 * @returns true, if the ModList contains no Operations 48 */ 49 bool empty() const; 50 51 /** 52 * @returns number of Modifications in the ModList 53 */ 54 unsigned int size() const; 55 56 private : 57 ListType m_modList; 58}; 59#endif //LDAP_MOD_LIST_H 60 61 62