2 * Copyright 2000, OpenLDAP Foundation, All Rights Reserved.
3 * COPYING RESTRICTIONS APPLY, see COPYRIGHT file
10 #include "LDAPConstraints.h"
11 #include "LDAPControlSet.h"
15 LDAPConstraints::LDAPConstraints(){
16 DEBUG(LDAP_DEBUG_CONSTRUCT,"LDAPConstraints::LDAPConstraints()" << endl);
17 m_aliasDeref=LDAPConstraints::DEREF_NEVER;
18 m_maxTime=LDAP_NO_LIMIT;
19 m_maxSize=LDAP_NO_LIMIT;
20 m_referralChase=false;
27 LDAPConstraints::LDAPConstraints(const LDAPConstraints& c){
28 DEBUG(LDAP_DEBUG_CONSTRUCT,"LDAPConstraints::LDAPConstraints(&)" << endl);
29 m_aliasDeref=c.m_aliasDeref;
30 m_maxTime=c.m_maxTime;
31 m_maxSize=c.m_maxSize;
32 m_referralChase=c.m_referralChase;
33 m_HopLimit=c.m_HopLimit;
35 if(c.m_serverControls){
36 m_serverControls=new LDAPControlSet(*c.m_serverControls);
40 if(c.m_clientControls){
41 m_clientControls=new LDAPControlSet(*c.m_clientControls);
45 m_refRebind=c.m_refRebind;
48 LDAPConstraints::~LDAPConstraints(){
49 DEBUG(LDAP_DEBUG_DESTROY,"LDAPConstraints::~LDAPConstraints()" << endl);
50 delete m_clientControls;
51 delete m_serverControls;
54 void LDAPConstraints::setAliasDeref(int deref){
55 DEBUG(LDAP_DEBUG_TRACE,"LDAPConstraints::setAliasDeref()" << endl);
56 DEBUG(LDAP_DEBUG_TRACE | LDAP_DEBUG_PARAMETER,
57 " deref:" << deref << endl);
58 if( (deref == LDAPConstraints::DEREF_NEVER) ||
59 (deref == LDAPConstraints::DEREF_SEARCHING) ||
60 (deref == LDAPConstraints::DEREF_FINDING) ||
61 (deref == LDAPConstraints::DEREF_ALWAYS)
68 void LDAPConstraints::setMaxTime(int t){
69 DEBUG(LDAP_DEBUG_TRACE,"LDAPConstraints::setMaxTime()" << endl);
70 DEBUG(LDAP_DEBUG_TRACE | LDAP_DEBUG_PARAMETER," time:" << t << endl);
74 void LDAPConstraints::setSizeLimit(int s){
75 DEBUG(LDAP_DEBUG_TRACE,"LDAPConstraints::setSizeLimit()" << endl);
76 DEBUG(LDAP_DEBUG_TRACE | LDAP_DEBUG_PARAMETER," size:" << s << endl);
80 void LDAPConstraints::setReferralChase(bool rc){
81 DEBUG(LDAP_DEBUG_TRACE,"LDAPConstraints::setReferralChase()" << endl);
82 DEBUG(LDAP_DEBUG_TRACE | LDAP_DEBUG_PARAMETER," rc:" << rc << endl);
86 void LDAPConstraints::setHopLimit(int limit){
87 DEBUG(LDAP_DEBUG_TRACE,"LDAPConstraints::setHopLimit()" << endl);
88 DEBUG(LDAP_DEBUG_TRACE | LDAP_DEBUG_PARAMETER,
89 " limit:" << limit << endl);
93 void LDAPConstraints::setReferralRebind(const LDAPRebind* rebind){
94 DEBUG(LDAP_DEBUG_TRACE,"LDAPConstraints::setReferralRebind()" << endl);
98 void LDAPConstraints::setServerControls(const LDAPControlSet* ctrls){
99 DEBUG(LDAP_DEBUG_TRACE,"LDAPConstraints::setServerControls()" << endl);
100 m_serverControls=new LDAPControlSet(*ctrls);
103 void LDAPConstraints::setClientControls(const LDAPControlSet* ctrls){
104 DEBUG(LDAP_DEBUG_TRACE,"LDAPConstraints::setClientControls()" << endl);
105 m_clientControls=new LDAPControlSet(*ctrls);
108 int LDAPConstraints::getAliasDeref() const {
109 DEBUG(LDAP_DEBUG_TRACE,"LDAPConstraints::getAliasDeref()" << endl);
113 int LDAPConstraints::getMaxTime() const {
114 DEBUG(LDAP_DEBUG_TRACE,"LDAPConstraints::getMaxTime()" << endl);
118 int LDAPConstraints::getSizeLimit() const {
119 DEBUG(LDAP_DEBUG_TRACE,"LDAPConstraints::getSizeLimit()" << endl);
123 const LDAPRebind* LDAPConstraints::getReferralRebind() const{
124 DEBUG(LDAP_DEBUG_TRACE,"LDAPConstraints::getReferralRebind()" << endl);
128 const LDAPControlSet* LDAPConstraints::getServerControls() const{
129 DEBUG(LDAP_DEBUG_TRACE,"LDAPConstraints::getServerControls()" << endl);
130 return m_serverControls;
133 const LDAPControlSet* LDAPConstraints::getClientControls() const{
134 DEBUG(LDAP_DEBUG_TRACE,"LDAPConstraints::getClientControls()" << endl);
135 return m_clientControls;
138 LDAPControl** LDAPConstraints::getSrvCtrlsArray() const {
139 DEBUG(LDAP_DEBUG_TRACE,"LDAPContstraints::getSrvCtrlsArray()" << endl);
140 if(m_serverControls){
141 return m_serverControls->toLDAPControlArray();
147 LDAPControl** LDAPConstraints::getClCtrlsArray() const {
148 DEBUG(LDAP_DEBUG_TRACE,"LDAPContstraints::getClCtrlsArray()" << endl);
149 if(m_clientControls){
150 return m_clientControls->toLDAPControlArray();
156 timeval* LDAPConstraints::getTimeoutStruct() const {
157 DEBUG(LDAP_DEBUG_TRACE,"LDAPContstraints::getTimeoutStruct()" << endl);
158 if(m_maxTime == LDAP_NO_LIMIT){
161 timeval *ret = new timeval;
162 ret->tv_sec=m_maxTime;
168 bool LDAPConstraints::getReferralChase() const {
169 DEBUG(LDAP_DEBUG_TRACE,"LDAPContstraints::getReferralChase()" << endl);
170 return m_referralChase;
173 int LDAPConstraints::getHopLimit() const{
174 DEBUG(LDAP_DEBUG_TRACE,"LDAPContstraints::getHopLimit()" << endl);