1// OpenLDAP: pkg/ldap/contrib/ldapc++/src/LDAPSearchResult.cpp,v 1.4.10.1 2008/04/14 23:09:26 quanah Exp 2/* 3 * Copyright 2000, OpenLDAP Foundation, All Rights Reserved. 4 * COPYING RESTRICTIONS APPLY, see COPYRIGHT file 5 */ 6 7 8#include <iostream> 9 10#include "debug.h" 11#include "LDAPSearchResult.h" 12#include "LDAPRequest.h" 13 14using namespace std; 15 16LDAPSearchResult::LDAPSearchResult(const LDAPRequest *req, 17 LDAPMessage *msg) : LDAPMsg(msg){ 18 DEBUG(LDAP_DEBUG_CONSTRUCT, 19 "LDAPSearchResult::LDAPSearchResult()" << endl); 20 entry = new LDAPEntry(req->getConnection(), msg); 21 //retrieve the controls here 22 LDAPControl** srvctrls=0; 23 int err = ldap_get_entry_controls(req->getConnection()->getSessionHandle(), 24 msg,&srvctrls); 25 if(err != LDAP_SUCCESS){ 26 ldap_controls_free(srvctrls); 27 }else{ 28 if (srvctrls){ 29 m_srvControls = LDAPControlSet(srvctrls); 30 m_hasControls = true; 31 ldap_controls_free(srvctrls); 32 }else{ 33 m_hasControls = false; 34 } 35 } 36} 37 38LDAPSearchResult::LDAPSearchResult(const LDAPSearchResult& res) : 39 LDAPMsg(res){ 40 entry = new LDAPEntry(*(res.entry)); 41} 42 43LDAPSearchResult::~LDAPSearchResult(){ 44 DEBUG(LDAP_DEBUG_DESTROY,"LDAPSearchResult::~LDAPSearchResult()" << endl); 45 delete entry; 46} 47 48const LDAPEntry* LDAPSearchResult::getEntry() const{ 49 DEBUG(LDAP_DEBUG_TRACE,"LDAPSearchResult::getEntry()" << endl); 50 return entry; 51} 52 53