00001
00002
00003
00004
00005
00006 #ifndef LDAP_BIND_REQUEST_H
00007 #define LDAP_BIND_REQUEST_H
00008
00009 #include <LDAPRequest.h>
00010 #include <LDAPResult.h>
00011 #include <SaslInteractionHandler.h>
00012
00013 class LDAPBindRequest : LDAPRequest {
00014 private:
00015 std::string m_dn;
00016 std::string m_cred;
00017 std::string m_mech;
00018
00019 public:
00020 LDAPBindRequest( const LDAPBindRequest& req);
00021
00022 LDAPBindRequest(const std::string&, const std::string& passwd,
00023 LDAPAsynConnection *connect, const LDAPConstraints *cons,
00024 bool isReferral=false);
00025 virtual ~LDAPBindRequest();
00026 virtual LDAPMessageQueue *sendRequest();
00027 };
00028
00029 class LDAPSaslBindRequest : LDAPRequest
00030 {
00031 public:
00032 LDAPSaslBindRequest( const std::string& mech, const std::string& cred,
00033 LDAPAsynConnection *connect, const LDAPConstraints *cons,
00034 bool isReferral=false);
00035 virtual LDAPMessageQueue *sendRequest();
00036 virtual ~LDAPSaslBindRequest();
00037
00038 private:
00039 std::string m_mech;
00040 std::string m_cred;
00041 };
00042
00043 class LDAPSaslInteractiveBind : LDAPRequest
00044 {
00045 public:
00046 LDAPSaslInteractiveBind( const std::string& mech, int flags,
00047 SaslInteractionHandler *sih, LDAPAsynConnection *connect,
00048 const LDAPConstraints *cons, bool isReferral=false);
00049 virtual LDAPMessageQueue *sendRequest();
00050 virtual LDAPMsg* getNextMessage() const;
00051 virtual ~LDAPSaslInteractiveBind();
00052
00053 private:
00054 std::string m_mech;
00055 int m_flags;
00056 SaslInteractionHandler *m_sih;
00057 LDAPResult *m_res;
00058 };
00059 #endif //LDAP_BIND_REQUEST_H
00060