]> git.sur5r.net Git - openldap/blobdiff - contrib/ldapc++/src/LDAPEntry.h
Entry rwlock is no longer needed as concurrency is managed
[openldap] / contrib / ldapc++ / src / LDAPEntry.h
index aa7caeaf8aeedcdd13d954a702db5208ce0bbf24..ebd4153f05c29be6cfbeaf6f35624ec5e633bdcd 100644 (file)
@@ -3,29 +3,78 @@
  * COPYING RESTRICTIONS APPLY, see COPYRIGHT file
  */
 
-// $Id: LDAPEntry.h,v 1.4 2000/08/31 17:43:48 rhafer Exp $
 
 #ifndef LDAP_ENTRY_H
 #define LDAP_ENTRY_H
 #include <ldap.h>
 
-#include "LDAPAsynConnection.h"
-#include "LDAPAttributeList.h"
+#include <LDAPAsynConnection.h>
+#include <LDAPAttributeList.h>
 
+/**
+ * This class is used to store every kind of LDAP Entry.
+ */
 class LDAPEntry{
-       private :
-               LDAPAttributeList *m_attrs;
-               char *m_dn;
 
        public :
+        /**
+         * Copy-constructor
+         */
                LDAPEntry(const LDAPEntry& entry);
-               LDAPEntry(const char *dn, LDAPAttributeList *attrs);
+
+        /**
+         * Constructs a new entry (also used as standard constructor).
+         *
+         * @param dn    The Distinguished Name for the new entry.
+         * @param attrs The attributes for the new entry.
+         */
+               LDAPEntry(const std::string& dn=std::string(), 
+                const LDAPAttributeList *attrs=new LDAPAttributeList());
+
+        /**
+         * Used internally only.
+         *
+         * The constructor is used internally to create a LDAPEntry from
+         * the C-API's data structurs.
+         */ 
                LDAPEntry(const LDAPAsynConnection *ld, LDAPMessage *msg);
+
+        /**
+         * Destructor
+         */
                ~LDAPEntry();
-               void setDN(const char* dn);
+        
+        /**
+         * Sets the DN-attribute.
+         * @param dn: The new DN for the entry.
+         */
+               void setDN(const std::string& dn);
+
+        /**
+         * Sets the attributes of the entry.
+         * @param attr: A pointer to a std::list of the new attributes.
+         */
                void setAttributes(LDAPAttributeList *attrs);
-               char* getDN();
-               LDAPAttributeList* getAttributes();
-               friend ostream& operator << (ostream& s, const LDAPEntry& le);
+
+        /**
+         * @returns The current DN of the entry.
+         */
+               const std::string getDN() const ;
+
+        /**
+         * @returns A const pointer to the attributes of the entry.  
+         */
+               const LDAPAttributeList* getAttributes() const;
+
+        /**
+         * This method can be used to dump the data of a LDAPResult-Object.
+         * It is only useful for debugging purposes at the moment
+         */
+               friend std::ostream& operator << (std::ostream& s, const LDAPEntry& le);
+       
+    private :
+
+               LDAPAttributeList *m_attrs;
+               std::string m_dn;
 };
 #endif  //LDAP_ENTRY_H