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
This class represents some options that can be set for a LDAPConnection operation.
Definition: LDAPConstraints.h:27
static const int DEREF_SEARCHING
Definition: LDAPConstraints.h:31
int getMaxTime() const
Definition: LDAPConstraints.cpp:114
static const int DEREF_NEVER
Definition: LDAPConstraints.h:30
void setReferralRebind(const LDAPRebind *rebind)
Definition: LDAPConstraints.cpp:94
static const int DEREF_FINDING
Definition: LDAPConstraints.h:32
int getAliasDeref() const
Definition: LDAPConstraints.cpp:109
LDAPControl ** getClCtrlsArray() const
Definition: LDAPConstraints.cpp:148
void setAliasDeref(int deref)
Definition: LDAPConstraints.cpp:55
void setMaxTime(int t)
Definition: LDAPConstraints.cpp:69
int getSizeLimit() const
Definition: LDAPConstraints.cpp:119
const LDAPControlSet * getServerControls() const
Definition: LDAPConstraints.cpp:129
void setSizeLimit(int s)
Definition: LDAPConstraints.cpp:75
const LDAPRebind * getReferralRebind() const
Definition: LDAPConstraints.cpp:124
void setClientControls(const LDAPControlSet *ctrls)
Definition: LDAPConstraints.cpp:104
~LDAPConstraints()
Definition: LDAPConstraints.cpp:49
LDAPControl ** getSrvCtrlsArray() const
Definition: LDAPConstraints.cpp:139
static const int DEREF_ALWAYS
Definition: LDAPConstraints.h:33
bool getReferralChase() const
Definition: LDAPConstraints.cpp:169
int getHopLimit() const
Definition: LDAPConstraints.cpp:174
timeval * getTimeoutStruct() const
Definition: LDAPConstraints.cpp:157
const LDAPControlSet * getClientControls() const
Definition: LDAPConstraints.cpp:134
void setServerControls(const LDAPControlSet *ctrls)
Definition: LDAPConstraints.cpp:99
LDAPConstraints()
Definition: LDAPConstraints.cpp:16
void setReferralChase(bool rc)
Definition: LDAPConstraints.cpp:81
void setHopLimit(int hop)
Definition: LDAPConstraints.cpp:87
This container class is used to store multiple LDAPCtrl-objects.
Definition: LDAPControlSet.h:19
Just an abstract class to provide a mechnism for rebind to another server when chasing referrals.
Definition: LDAPRebind.h:20