* 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