2 * Copyright 2000, OpenLDAP Foundation, All Rights Reserved.
3 * COPYING RESTRICTIONS APPLY, see COPYRIGHT file
10 #include "LDAPConstraints.h"
11 #include "LDAPControlSet.h"
13 LDAPConstraints::LDAPConstraints(){
14 DEBUG(LDAP_DEBUG_CONSTRUCT,"LDAPConstraints::LDAPConstraints()" << endl);
15 m_aliasDeref=LDAPConstraints::DEREF_NEVER;
16 m_maxTime=LDAP_NO_LIMIT;
17 m_maxSize=LDAP_NO_LIMIT;
18 m_referralChase=false;
25 LDAPConstraints::LDAPConstraints(const LDAPConstraints& c){
26 DEBUG(LDAP_DEBUG_CONSTRUCT,"LDAPConstraints::LDAPConstraints(&)" << endl);
27 m_aliasDeref=c.m_aliasDeref;
28 m_maxTime=c.m_maxTime;
29 m_maxSize=c.m_maxSize;
30 m_referralChase=c.m_referralChase;
31 m_HopLimit=c.m_HopLimit;
33 if(c.m_serverControls){
34 m_serverControls=new LDAPControlSet(*c.m_serverControls);
38 if(c.m_clientControls){
39 m_clientControls=new LDAPControlSet(*c.m_clientControls);
43 m_refRebind=c.m_refRebind;
46 LDAPConstraints::~LDAPConstraints(){
47 DEBUG(LDAP_DEBUG_DESTROY,"LDAPConstraints::~LDAPConstraints()" << endl);
48 delete m_clientControls;
49 delete m_serverControls;
52 void LDAPConstraints::setAliasDeref(int deref){
53 DEBUG(LDAP_DEBUG_TRACE,"LDAPConstraints::setAliasDeref()" << endl);
54 DEBUG(LDAP_DEBUG_TRACE | LDAP_DEBUG_PARAMETER,
55 " deref:" << deref << endl);
56 if( (deref == LDAPConstraints::DEREF_NEVER) ||
57 (deref == LDAPConstraints::DEREF_SEARCHING) ||
58 (deref == LDAPConstraints::DEREF_FINDING) ||
59 (deref == LDAPConstraints::DEREF_ALWAYS)
66 void LDAPConstraints::setMaxTime(int t){
67 DEBUG(LDAP_DEBUG_TRACE,"LDAPConstraints::setMaxTime()" << endl);
68 DEBUG(LDAP_DEBUG_TRACE | LDAP_DEBUG_PARAMETER," time:" << t << endl);
72 void LDAPConstraints::setSizeLimit(int s){
73 DEBUG(LDAP_DEBUG_TRACE,"LDAPConstraints::setSizeLimit()" << endl);
74 DEBUG(LDAP_DEBUG_TRACE | LDAP_DEBUG_PARAMETER," size:" << s << endl);
78 void LDAPConstraints::setReferralChase(bool rc){
79 DEBUG(LDAP_DEBUG_TRACE,"LDAPConstraints::setReferralChase()" << endl);
80 DEBUG(LDAP_DEBUG_TRACE | LDAP_DEBUG_PARAMETER," rc:" << rc << endl);
84 void LDAPConstraints::setHopLimit(int limit){
85 DEBUG(LDAP_DEBUG_TRACE,"LDAPConstraints::setHopLimit()" << endl);
86 DEBUG(LDAP_DEBUG_TRACE | LDAP_DEBUG_PARAMETER,
87 " limit:" << limit << endl);
91 void LDAPConstraints::setReferralRebind(const LDAPRebind* rebind){
92 DEBUG(LDAP_DEBUG_TRACE,"LDAPConstraints::setReferralRebind()" << endl);
96 void LDAPConstraints::setServerControls(const LDAPControlSet* ctrls){
97 DEBUG(LDAP_DEBUG_TRACE,"LDAPConstraints::setServerControls()" << endl);
98 m_serverControls=new LDAPControlSet(*ctrls);
101 void LDAPConstraints::setClientControls(const LDAPControlSet* ctrls){
102 DEBUG(LDAP_DEBUG_TRACE,"LDAPConstraints::setClientControls()" << endl);
103 m_clientControls=new LDAPControlSet(*ctrls);
106 int LDAPConstraints::getAliasDeref() const {
107 DEBUG(LDAP_DEBUG_TRACE,"LDAPConstraints::getAliasDeref()" << endl);
111 int LDAPConstraints::getMaxTime() const {
112 DEBUG(LDAP_DEBUG_TRACE,"LDAPConstraints::getMaxTime()" << endl);
116 int LDAPConstraints::getSizeLimit() const {
117 DEBUG(LDAP_DEBUG_TRACE,"LDAPConstraints::getSizeLimit()" << endl);
121 const LDAPRebind* LDAPConstraints::getReferralRebind() const{
122 DEBUG(LDAP_DEBUG_TRACE,"LDAPConstraints::getReferralRebind()" << endl);
126 const LDAPControlSet* LDAPConstraints::getServerControls() const{
127 DEBUG(LDAP_DEBUG_TRACE,"LDAPConstraints::getServerControls()" << endl);
128 return m_serverControls;
131 const LDAPControlSet* LDAPConstraints::getClientControls() const{
132 DEBUG(LDAP_DEBUG_TRACE,"LDAPConstraints::getClientControls()" << endl);
133 return m_clientControls;
136 LDAPControl** LDAPConstraints::getSrvCtrlsArray() const {
137 DEBUG(LDAP_DEBUG_TRACE,"LDAPContstraints::getSrvCtrlsArray()" << endl);
138 if(m_serverControls){
139 return m_serverControls->toLDAPControlArray();
145 LDAPControl** LDAPConstraints::getClCtrlsArray() const {
146 DEBUG(LDAP_DEBUG_TRACE,"LDAPContstraints::getClCtrlsArray()" << endl);
147 if(m_clientControls){
148 return m_clientControls->toLDAPControlArray();
154 timeval* LDAPConstraints::getTimeoutStruct() const {
155 DEBUG(LDAP_DEBUG_TRACE,"LDAPContstraints::getTimeoutStruct()" << endl);
156 if(m_maxTime == LDAP_NO_LIMIT){
159 timeval *ret = new timeval;
160 ret->tv_sec=m_maxTime;
166 bool LDAPConstraints::getReferralChase() const {
167 DEBUG(LDAP_DEBUG_TRACE,"LDAPContstraints::getReferralChase()" << endl);
168 return m_referralChase;
171 int LDAPConstraints::getHopLimit() const{
172 DEBUG(LDAP_DEBUG_TRACE,"LDAPContstraints::getHopLimit()" << endl);