]> git.sur5r.net Git - openldap/blobdiff - contrib/ldapc++/src/LDAPModList.h
Merge remote-tracking branch 'origin/mdb.master' into OPENLDAP_REL_ENG_2_4
[openldap] / contrib / ldapc++ / src / LDAPModList.h
index 6c6cb702f6ffbe9a5faae4248b17349bff4d27fc..6d4a3fa3e344cb969d76310b93876229e2bd09c8 100644 (file)
@@ -1,30 +1,58 @@
+// $OpenLDAP$
 /*
- * Copyright 2000, OpenLDAP Foundation, All Rights Reserved.
+ * Copyright 2000-2013 The OpenLDAP Foundation, All Rights Reserved.
  * COPYING RESTRICTIONS APPLY, see COPYRIGHT file
  */
 
-// $Id: LDAPModList.h,v 1.3 2000/08/31 17:43:49 rhafer Exp $
 
 #ifndef LDAP_MOD_LIST_H
 #define LDAP_MOD_LIST_H
 
 #include <ldap.h>
 #include <list>
-#include "LDAPModification.h"
-
-typedef list<LDAPModification> ModList;
+#include <LDAPModification.h>
 
+/**
+ * This container class is used to store multiple LDAPModification-objects.
+ */
 class LDAPModList{
-       private : 
-               ModList m_modList;
-
-       public : 
-               LDAPModList();
-               LDAPModList(const LDAPModList&);
-
-               void addModification(const LDAPModification &mod);
-               LDAPMod** toLDAPModArray();
-
+    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