diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-27 11:11:40 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-27 11:11:40 +0000 |
commit | 7731832751ab9f3c6ddeb66f186d3d7fa1934a6d (patch) | |
tree | e91015872543a59be2aad26c2fea02e41b57005d /contrib/ldapc++/src/LDAPExtResult.cpp | |
parent | Initial commit. (diff) | |
download | openldap-upstream/2.4.57+dfsg.tar.xz openldap-upstream/2.4.57+dfsg.zip |
Adding upstream version 2.4.57+dfsg.upstream/2.4.57+dfsgupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'contrib/ldapc++/src/LDAPExtResult.cpp')
-rw-r--r-- | contrib/ldapc++/src/LDAPExtResult.cpp | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/contrib/ldapc++/src/LDAPExtResult.cpp b/contrib/ldapc++/src/LDAPExtResult.cpp new file mode 100644 index 0000000..164a86c --- /dev/null +++ b/contrib/ldapc++/src/LDAPExtResult.cpp @@ -0,0 +1,49 @@ +// $OpenLDAP$ +/* + * Copyright 2000-2021 The OpenLDAP Foundation, All Rights Reserved. + * COPYING RESTRICTIONS APPLY, see COPYRIGHT file + */ + +#include "debug.h" +#include <lber.h> +#include "LDAPRequest.h" +#include "LDAPException.h" + +#include "LDAPResult.h" +#include "LDAPExtResult.h" + +using namespace std; + +LDAPExtResult::LDAPExtResult(const LDAPRequest* req, LDAPMessage* msg) : + LDAPResult(req, msg){ + DEBUG(LDAP_DEBUG_CONSTRUCT,"LDAPExtResult::LDAPExtResult()" << endl); + char* oid = 0; + BerValue* data = 0; + LDAP* lc = req->getConnection()->getSessionHandle(); + int err=ldap_parse_extended_result(lc, msg, &oid, &data, 0); + if(err != LDAP_SUCCESS){ + ber_bvfree(data); + ldap_memfree(oid); + throw LDAPException(err); + }else{ + m_oid=string(oid); + ldap_memfree(oid); + if(data){ + m_data=string(data->bv_val, data->bv_len); + ber_bvfree(data); + } + } +} + +LDAPExtResult::~LDAPExtResult(){ + DEBUG(LDAP_DEBUG_DESTROY,"LDAPExtResult::~LDAPExtResult()" << endl); +} + +const string& LDAPExtResult::getResponseOid() const{ + return m_oid; +} + +const string& LDAPExtResult::getResponse() const{ + return m_data; +} + |