ldapsdk  0.0.1
LDAPConstraints.h
Go to the documentation of this file.
1 // $OpenLDAP$
2 /*
3  * Copyright 2000-2013 The OpenLDAP Foundation, All Rights Reserved.
4  * COPYING RESTRICTIONS APPLY, see COPYRIGHT file
5  */
6 
7 
8 #ifndef LDAP_CONSTRAINTS_H
9 #define LDAP_CONSTRAINTS_H
10 #include <list>
11 
12 #include <LDAPControl.h>
13 #include <LDAPControlSet.h>
14 #include <LDAPRebind.h>
15 
16 //TODO!!
17 // * implement the Alias-Handling Option (OPT_DEREF)
18 // * the Restart-Option ???
19 // * default Server(s)
20 
21 //* Class for representating the various protocol options
28 
29  public :
30  static const int DEREF_NEVER = 0x00;
31  static const int DEREF_SEARCHING = 0x01;
32  static const int DEREF_FINDING = 0x02;
33  static const int DEREF_ALWAYS = 0x04;
34 
35  //* Constructs a LDAPConstraints object with default values
37 
38  //* Copy constructor
40 
42 
43  void setAliasDeref(int deref);
44  void setMaxTime(int t);
45  void setSizeLimit(int s);
46  void setReferralChase(bool rc);
47  void setHopLimit(int hop);
48  void setReferralRebind(const LDAPRebind* rebind);
49  void setServerControls(const LDAPControlSet* ctrls);
50  void setClientControls(const LDAPControlSet* ctrls);
51 
52  int getAliasDeref() const;
53  int getMaxTime() const ;
54  int getSizeLimit() const;
55  const LDAPRebind* getReferralRebind() const;
56  const LDAPControlSet* getServerControls() const;
57  const LDAPControlSet* getClientControls() const;
58 
59  //*for internal use only
60  LDAPControl** getSrvCtrlsArray() const;
61 
62  //*for internal use only
63  LDAPControl** getClCtrlsArray() const;
64 
65  //*for internal use only
66  timeval* getTimeoutStruct() const;
67  bool getReferralChase() const ;
68  int getHopLimit() const;
69 
70  private :
71  int m_aliasDeref;
72 
73  //* max. time the server may spend for a search request
74  int m_maxTime;
75 
76  //* max number of entries to return from a search request
77  int m_maxSize;
78 
79  //* Flag for enabling automatic referral/reference chasing
80  bool m_referralChase;
81 
82  //* HopLimit for referral chasing
83  int m_HopLimit;
84 
85  //* Alias dereferencing option
86  int m_deref;
87 
88  //* Object used to do bind for Referral chasing
89  const LDAPRebind* m_refRebind;
90 
91  //* List of Client Controls that should be used for each request
92  LDAPControlSet* m_clientControls;
93 
94  //* List of Server Controls that should be used for each request
95  LDAPControlSet* m_serverControls;
96 
97 };
98 #endif //LDAP_CONSTRAINTS_H
static const int DEREF_ALWAYS
Definition: LDAPConstraints.h:33
LDAPConstraints()
Definition: LDAPConstraints.cpp:16
static const int DEREF_FINDING
Definition: LDAPConstraints.h:32
Just an abstract class to provide a mechnism for rebind to another server when chasing referrals...
Definition: LDAPRebind.h:20
const LDAPControlSet * getServerControls() const
Definition: LDAPConstraints.cpp:129
void setClientControls(const LDAPControlSet *ctrls)
Definition: LDAPConstraints.cpp:104
timeval * getTimeoutStruct() const
Definition: LDAPConstraints.cpp:157
void setServerControls(const LDAPControlSet *ctrls)
Definition: LDAPConstraints.cpp:99
const LDAPRebind * getReferralRebind() const
Definition: LDAPConstraints.cpp:124
void setReferralChase(bool rc)
Definition: LDAPConstraints.cpp:81
This container class is used to store multiple LDAPCtrl-objects.
Definition: LDAPControlSet.h:19
static const int DEREF_NEVER
Definition: LDAPConstraints.h:30
LDAPControl ** getSrvCtrlsArray() const
Definition: LDAPConstraints.cpp:139
void setReferralRebind(const LDAPRebind *rebind)
Definition: LDAPConstraints.cpp:94
void setHopLimit(int hop)
Definition: LDAPConstraints.cpp:87
bool getReferralChase() const
Definition: LDAPConstraints.cpp:169
~LDAPConstraints()
Definition: LDAPConstraints.cpp:49
static const int DEREF_SEARCHING
Definition: LDAPConstraints.h:31
int getAliasDeref() const
Definition: LDAPConstraints.cpp:109
void setMaxTime(int t)
Definition: LDAPConstraints.cpp:69
void setAliasDeref(int deref)
Definition: LDAPConstraints.cpp:55
const LDAPControlSet * getClientControls() const
Definition: LDAPConstraints.cpp:134
void setSizeLimit(int s)
Definition: LDAPConstraints.cpp:75
int getSizeLimit() const
Definition: LDAPConstraints.cpp:119
int getMaxTime() const
Definition: LDAPConstraints.cpp:114
LDAPControl ** getClCtrlsArray() const
Definition: LDAPConstraints.cpp:148
int getHopLimit() const
Definition: LDAPConstraints.cpp:174
This class represents some options that can be set for a LDAPConnection operation.
Definition: LDAPConstraints.h:27