2 * Copyright 2000, OpenLDAP Foundation, All Rights Reserved.
3 * COPYING RESTRICTIONS APPLY, see COPYRIGHT file
7 #include "LDAPException.h"
8 #include "LDAPSearchResult.h"
9 #include "LDAPResult.h"
11 #include "LDAPSearchResults.h"
13 LDAPSearchResults::LDAPSearchResults(){
14 entryPos = entryList.begin();
15 refPos = refList.begin();
18 LDAPResult* LDAPSearchResults::readMessageQueue(LDAPMessageQueue* msg){
24 }catch (LDAPException e){
27 switch(res->getMessageType()){
28 case LDAPMsg::SEARCH_ENTRY :
29 entryList.addEntry(*((LDAPSearchResult*)res)->getEntry());
31 case LDAPMsg::SEARCH_REFERENCE :
32 refList.addReference(*((LDAPSearchReference*)res));
35 entryPos=entryList.begin();
36 refPos=refList.begin();
37 return ((LDAPResult*) res);
46 LDAPEntry* LDAPSearchResults::getNext(){
47 if( entryPos != entryList.end() ){
48 LDAPEntry* ret= new LDAPEntry(*entryPos);
52 if( refPos != refList.end() ){
53 LDAPUrlList urls= refPos->getUrls();
55 throw(LDAPReferralException(urls));