LDAPResult Class Reference

This class is for representing LDAP-Result-Messages. More...

#include <LDAPResult.h>

Inheritance diagram for LDAPResult:
LDAPMsg LDAPExtResult LDAPSaslBindResult

List of all members.

Public Member Functions

 LDAPResult (const LDAPRequest *req, LDAPMessage *msg)
 This constructor is called by the LDAPMsg::create method in order to parse a LDAPResult-Message.
 LDAPResult (int type, int resultCode, const std::string &msg)
virtual ~LDAPResult ()
 The destructor.
int getResultCode () const
std::string resToString () const
 This method transforms the result code to a human-readable result message.
const std::string & getErrMsg () const
 In some case of error the server may return addional error messages.
const std::string & getMatchedDN () const
 For messages with a result code of: NO_SUCH_OBJECT, ALIAS_PROBLEM, ALIAS_DEREFERENCING_PROBLEM or INVALID_DN_SYNTAX the server returns the DN of deepest entry in the DIT that could be found for this operation.
const LDAPUrlListgetReferralUrls () const

Static Public Attributes

static const int SUCCESS = 0
static const int OPERATIONS_ERROR = 1
static const int PROTOCOL_ERROR = 2
static const int TIME_LIMIT_EXCEEDED = 3
static const int SIZE_LIMIT_EXCEEDED = 4
static const int COMPARE_FALSE = 5
static const int COMPARE_TRUE = 6
static const int AUTH_METHOD_NOT_SUPPORTED = 7
static const int STRONG_AUTH_REQUIRED = 8
static const int REFERRAL = 10
static const int ADMIN_LIMIT_EXCEEDED = 11
static const int UNAVAILABLE_CRITICAL_EXTENSION = 12
static const int CONFIDENTIALITY_REQUIRED = 13
static const int SASL_BIND_IN_PROGRESS = 14
static const int NO_SUCH_ATTRIBUTE = 16
static const int UNDEFINED_ATTRIBUTE_TYP = 17
static const int INAPPROPRIATE_MATCHING = 18
static const int CONSTRAINT_VIOLATION = 19
static const int ATTRIBUTE_OR_VALUE_EXISTS = 20
static const int INVALID_ATTRIBUTE_SYNTAX = 21
static const int NO_SUCH_OBJECT = 32
static const int ALIAS_PROBLEM = 33
static const int INVALID_DN_SYNTAX = 34
static const int ALIAS_DEREFERENCING_PROBLEM = 36
static const int INAPPROPRIATE_AUTENTICATION = 48
static const int INVALID_CREDENTIALS = 49
static const int INSUFFICIENT_ACCESS = 50
static const int BUSY = 51
static const int UNAVAILABLE = 52
static const int UNWILLING_TO_PERFORM = 53
static const int LOOP_DETECT = 54
static const int NAMING_VIOLATION = 64
static const int OBJECT_CLASS_VIOLATION = 65
static const int NOT_ALLOWED_ON_NONLEAF = 66
static const int NOT_ALLOWED_ON_RDN = 67
static const int ENTRY_ALREADY_EXISTS = 68
static const int OBJECT_CLASS_MODS_PROHIBITED = 69
static const int AFFECTS_MULTIPLE_DSAS = 71
static const int OTHER = 80
static const int SERVER_DOWN = 81
static const int LOCAL_ERROR = 82
static const int ENCODING_ERROR = 83
static const int DECODING_ERROR = 84
static const int TIMEOUT = 85
static const int AUTH_UNKNOWN = 86
static const int FILTER_ERROR = 87
static const int USER_CANCELLED = 88
static const int PARAM_ERROR = 89
static const int NO_MEMORY = 90
static const int CONNECT_ERROR = 91
static const int NOT_SUPPORTED = 92
static const int CONTROL_NOT_FOUND = 93
static const int NO_RESULTS_RETURNED = 94
static const int MORE_RESULTS_TO_RETURN = 95
static const int CLIENT_LOOP = 96
static const int REFERRAL_LIMIT_EXCEEDED = 97

Friends

std::ostream & operator<< (std::ostream &s, LDAPResult &l)
 This method can be used to dump the data of a LDAPResult-Object.

Detailed Description

This class is for representing LDAP-Result-Messages.

It represents all Messages that were returned from LDAP-Operations except for Messages of the Type LDAPMsg::SEARCH_ENTRY, LDAPMsg::SEARCH_REFERENCE and LDAPMsg::EXTENDED_RESPONSE.
It defines a integer constant for every possible result type that can be returned by the server.


Constructor & Destructor Documentation

LDAPResult::LDAPResult ( const LDAPRequest req,
LDAPMessage *  msg 
)

This constructor is called by the LDAPMsg::create method in order to parse a LDAPResult-Message.

Parameters:
req The request the result is associated with.
msg The LDAPMessage-structure that contains the Message.

References DEBUG, LDAPRequest::getConnection(), LDAPAsynConnection::getSessionHandle(), LDAP_DEBUG_CONSTRUCT, LDAPMsg::m_hasControls, and LDAPMsg::m_srvControls.

LDAPResult::LDAPResult ( int  type,
int  resultCode,
const std::string &  msg 
)
LDAPResult::~LDAPResult (  )  [virtual]

The destructor.

References DEBUG, and LDAP_DEBUG_DESTROY.


Member Function Documentation

const string & LDAPResult::getErrMsg (  )  const

In some case of error the server may return addional error messages.

Returns:
The additional error message returned by the server.

References DEBUG, and LDAP_DEBUG_TRACE.

Referenced by LDAPConnection::add(), and LDAPConnection::saslInteractiveBind().

const string & LDAPResult::getMatchedDN (  )  const

For messages with a result code of: NO_SUCH_OBJECT, ALIAS_PROBLEM, ALIAS_DEREFERENCING_PROBLEM or INVALID_DN_SYNTAX the server returns the DN of deepest entry in the DIT that could be found for this operation.

Returns:
The Matched-DN value that was returned by the server.

References DEBUG, and LDAP_DEBUG_TRACE.

const LDAPUrlList & LDAPResult::getReferralUrls (  )  const
Returns:
If the result code is REFERRAL this methode returns the URLs of the referral that was sent by the server.

References DEBUG, and LDAP_DEBUG_TRACE.

Referenced by LDAPConnection::add(), and LDAPConnection::saslInteractiveBind().

int LDAPResult::getResultCode (  )  const
Returns:
The result code of the Message. Possible values are the integer constants defined in this class.

References DEBUG, and LDAP_DEBUG_TRACE.

Referenced by LDAPConnection::add(), LDAPMessageQueue::getNext(), and LDAPConnection::saslInteractiveBind().

string LDAPResult::resToString (  )  const

This method transforms the result code to a human-readable result message.

Returns:
A std::string containing the result message.

References DEBUG, and LDAP_DEBUG_TRACE.


Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  s,
LDAPResult l 
) [friend]

This method can be used to dump the data of a LDAPResult-Object.

It is only useful for debugging purposes at the moment


Member Data Documentation

const int LDAPResult::ADMIN_LIMIT_EXCEEDED = 11 [static]
const int LDAPResult::AFFECTS_MULTIPLE_DSAS = 71 [static]
const int LDAPResult::ALIAS_DEREFERENCING_PROBLEM = 36 [static]
const int LDAPResult::ALIAS_PROBLEM = 33 [static]
const int LDAPResult::ATTRIBUTE_OR_VALUE_EXISTS = 20 [static]
const int LDAPResult::AUTH_METHOD_NOT_SUPPORTED = 7 [static]
const int LDAPResult::AUTH_UNKNOWN = 86 [static]
const int LDAPResult::BUSY = 51 [static]
const int LDAPResult::CLIENT_LOOP = 96 [static]
const int LDAPResult::COMPARE_FALSE = 5 [static]
const int LDAPResult::COMPARE_TRUE = 6 [static]
const int LDAPResult::CONFIDENTIALITY_REQUIRED = 13 [static]
const int LDAPResult::CONNECT_ERROR = 91 [static]
const int LDAPResult::CONSTRAINT_VIOLATION = 19 [static]
const int LDAPResult::CONTROL_NOT_FOUND = 93 [static]
const int LDAPResult::DECODING_ERROR = 84 [static]
const int LDAPResult::ENCODING_ERROR = 83 [static]
const int LDAPResult::ENTRY_ALREADY_EXISTS = 68 [static]
const int LDAPResult::FILTER_ERROR = 87 [static]
const int LDAPResult::INAPPROPRIATE_AUTENTICATION = 48 [static]
const int LDAPResult::INAPPROPRIATE_MATCHING = 18 [static]
const int LDAPResult::INSUFFICIENT_ACCESS = 50 [static]
const int LDAPResult::INVALID_ATTRIBUTE_SYNTAX = 21 [static]
const int LDAPResult::INVALID_CREDENTIALS = 49 [static]
const int LDAPResult::INVALID_DN_SYNTAX = 34 [static]
const int LDAPResult::LOCAL_ERROR = 82 [static]
const int LDAPResult::LOOP_DETECT = 54 [static]
const int LDAPResult::MORE_RESULTS_TO_RETURN = 95 [static]
const int LDAPResult::NAMING_VIOLATION = 64 [static]
const int LDAPResult::NO_MEMORY = 90 [static]
const int LDAPResult::NO_RESULTS_RETURNED = 94 [static]
const int LDAPResult::NO_SUCH_ATTRIBUTE = 16 [static]
const int LDAPResult::NO_SUCH_OBJECT = 32 [static]
const int LDAPResult::NOT_ALLOWED_ON_NONLEAF = 66 [static]
const int LDAPResult::NOT_ALLOWED_ON_RDN = 67 [static]
const int LDAPResult::NOT_SUPPORTED = 92 [static]
const int LDAPResult::OBJECT_CLASS_VIOLATION = 65 [static]
const int LDAPResult::OPERATIONS_ERROR = 1 [static]
const int LDAPResult::OTHER = 80 [static]
const int LDAPResult::PARAM_ERROR = 89 [static]
const int LDAPResult::PROTOCOL_ERROR = 2 [static]
const int LDAPResult::REFERRAL = 10 [static]
const int LDAPResult::REFERRAL_LIMIT_EXCEEDED = 97 [static]
const int LDAPResult::SASL_BIND_IN_PROGRESS = 14 [static]
const int LDAPResult::SERVER_DOWN = 81 [static]
const int LDAPResult::SIZE_LIMIT_EXCEEDED = 4 [static]
const int LDAPResult::STRONG_AUTH_REQUIRED = 8 [static]
const int LDAPResult::SUCCESS = 0 [static]
const int LDAPResult::TIME_LIMIT_EXCEEDED = 3 [static]
const int LDAPResult::TIMEOUT = 85 [static]
const int LDAPResult::UNAVAILABLE = 52 [static]
const int LDAPResult::UNDEFINED_ATTRIBUTE_TYP = 17 [static]
const int LDAPResult::UNWILLING_TO_PERFORM = 53 [static]
const int LDAPResult::USER_CANCELLED = 88 [static]

The documentation for this class was generated from the following files:
Generated on Mon Jul 5 13:35:54 2010 for ldapsdk by  doxygen 1.6.3