3 * Copyright 2000-2011 The OpenLDAP Foundation, All Rights Reserved.
4 * COPYING RESTRICTIONS APPLY, see COPYRIGHT file
8 #include "LDAPException.h"
9 #include "LDAPSearchResult.h"
10 #include "LDAPResult.h"
12 #include "LDAPSearchResults.h"
14 LDAPSearchResults::LDAPSearchResults(){
15 entryPos = entryList.begin();
16 refPos = refList.begin();
19 LDAPResult* LDAPSearchResults::readMessageQueue(LDAPMessageQueue* msg){
25 }catch (LDAPException e){
28 switch(res->getMessageType()){
29 case LDAPMsg::SEARCH_ENTRY :
30 entryList.addEntry(*((LDAPSearchResult*)res)->getEntry());
32 case LDAPMsg::SEARCH_REFERENCE :
33 refList.addReference(*((LDAPSearchReference*)res));
36 entryPos=entryList.begin();
37 refPos=refList.begin();
38 return ((LDAPResult*) res);
47 LDAPEntry* LDAPSearchResults::getNext(){
48 if( entryPos != entryList.end() ){
49 LDAPEntry* ret= new LDAPEntry(*entryPos);
53 if( refPos != refList.end() ){
54 LDAPUrlList urls= refPos->getUrls();
56 throw(LDAPReferralException(urls));