1// $OpenLDAP$
2/*
3 * Copyright 2000-2011 The OpenLDAP Foundation, All Rights Reserved.
4 * COPYING RESTRICTIONS APPLY, see COPYRIGHT file
5 */
6
7#ifndef LDAP_EXT_RESULT_H
8#define LDAP_EXT_RESULT_H
9
10#include <ldap.h>
11
12#include <LDAPResult.h>
13
14class LDAPRequest;
15
16/**
17 * Object of this class are created by the LDAPMsg::create method if
18 * results for an Extended Operation were returned by a LDAP server.
19 */
20class LDAPExtResult : public LDAPResult {
21    public :
22        /**
23         * Constructor that creates an LDAPExtResult-object from the C-API
24         * structures
25         */
26        LDAPExtResult(const LDAPRequest* req, LDAPMessage* msg);
27
28        /**
29         * The Destructor
30         */
31        virtual ~LDAPExtResult();
32
33        /**
34         * @returns The OID of the Extended Operation that has returned
35         *          this result.
36         */
37        const std::string& getResponseOid() const;
38
39        /**
40         * @returns If the result contained data this method will return
41         *          the data to the caller as a std::string.
42         */
43        const std::string& getResponse() const;
44
45    private:
46        std::string m_oid;
47        std::string m_data;
48};
49
50#endif // LDAP_EXT_RESULT_H
51