00001 /* 00002 * Copyright 2000, OpenLDAP Foundation, All Rights Reserved. 00003 * COPYING RESTRICTIONS APPLY, see COPYRIGHT file 00004 */ 00005 00006 00007 #ifndef LDAP_MESSAGE_QUEUE_H 00008 #define LDAP_MESSAGE_QUEUE_H 00009 00010 #include <stack> 00011 00012 #include <LDAPUrlList.h> 00013 00014 class LDAPAsynConnection; 00015 class LDAPMsg; 00016 class LDAPRequest; 00017 class LDAPSearchRequest; 00018 class LDAPUrl; 00019 typedef std::stack<LDAPRequest*> LDAPRequestStack; 00020 typedef std::list<LDAPRequest*> LDAPRequestList; 00021 00026 class LDAPMessageQueue{ 00027 public : 00028 00035 LDAPMessageQueue(LDAPRequest *conn); 00039 ~LDAPMessageQueue(); 00040 00049 LDAPMsg* getNext(); 00050 00056 LDAPRequest* chaseReferral(LDAPMsg* ref); 00057 00064 LDAPRequestStack* getRequestStack(); 00065 00066 private : 00067 LDAPRequestStack m_activeReq; 00068 LDAPRequestList m_issuedReq; 00069 }; 00070 #endif //ifndef LDAP_MESSAGE_QUEUE_H 00071