]> git.sur5r.net Git - openldap/blobdiff - contrib/ldapc++/src/LDAPBindRequest.h
Update guide Copyright/License handling
[openldap] / contrib / ldapc++ / src / LDAPBindRequest.h
index 33a74764bd8eb4043f73407efc085cf524bccb88..338c1d6c158e3df063dc726239d028bd6516753a 100644 (file)
@@ -1,5 +1,6 @@
+// $OpenLDAP$
 /*
- * Copyright 2000, OpenLDAP Foundation, All Rights Reserved.
+ * Copyright 2000-2011 The OpenLDAP Foundation, All Rights Reserved.
  * COPYING RESTRICTIONS APPLY, see COPYRIGHT file
  */
 
@@ -7,6 +8,8 @@
 #define LDAP_BIND_REQUEST_H
 
 #include <LDAPRequest.h>
+#include <LDAPResult.h>
+#include <SaslInteractionHandler.h>
 
 class LDAPBindRequest : LDAPRequest {
     private:
@@ -15,14 +18,44 @@ class LDAPBindRequest : LDAPRequest {
         std::string m_mech;
 
     public:
-        LDAPBindRequest(const LDAPBindRequest& req);
+        LDAPBindRequest( const LDAPBindRequest& req);
         //just for simple authentication
         LDAPBindRequest(const std::string&, const std::string& passwd, 
                 LDAPAsynConnection *connect, const LDAPConstraints *cons, 
                 bool isReferral=false);
         virtual ~LDAPBindRequest();
         virtual LDAPMessageQueue *sendRequest();
-        virtual LDAPRequest* followReferral(LDAPMsg* urls);
+};
+
+class LDAPSaslBindRequest : LDAPRequest
+{
+    public:
+        LDAPSaslBindRequest( const std::string& mech, const std::string& cred, 
+        LDAPAsynConnection *connect, const LDAPConstraints *cons, 
+                bool isReferral=false);
+        virtual LDAPMessageQueue *sendRequest();
+        virtual ~LDAPSaslBindRequest();
+
+    private:
+        std::string m_mech;
+        std::string m_cred;
+};
+
+class LDAPSaslInteractiveBind : LDAPRequest
+{
+    public:
+        LDAPSaslInteractiveBind( const std::string& mech, int flags,
+                SaslInteractionHandler *sih, LDAPAsynConnection *connect, 
+                const LDAPConstraints *cons, bool isReferral=false);
+        virtual LDAPMessageQueue *sendRequest();
+        virtual LDAPMsg* getNextMessage() const;
+        virtual ~LDAPSaslInteractiveBind();
+
+    private:
+        std::string m_mech;
+        int m_flags;
+        SaslInteractionHandler *m_sih;
+        LDAPResult *m_res;
 };
 #endif //LDAP_BIND_REQUEST_H