ldap: Some cleanups for GH-170
[quassel.git] / src / core / ldapauthenticator.h
index 3b7c2aa..a149806 100644 (file)
@@ -1,5 +1,5 @@
 /***************************************************************************
- *   Copyright (C) 2005-2015 by the Quassel Project                        *
+ *   Copyright (C) 2005-2016 by the Quassel Project                        *
  *   devel@quassel-irc.org                                                 *
  *                                                                         *
  *   This program is free software; you can redistribute it and/or modify  *
 
 /* This file contains an implementation of an LDAP Authenticator, as an example
  * of what a custom external auth provider could do.
- * 
+ *
  * It's based off of this pull request for quassel by abustany:
  * https://github.com/quassel/quassel/pull/4/
- * 
+ *
  */
 
-#ifndef LDAPAUTHENTICATOR_H
-#define LDAPAUTHENTICATOR_H
+#pragma once
 
 #include "authenticator.h"
 
 #include "core.h"
 
 // Link against LDAP.
+/* We should use openldap on windows if at all possible, rather than trying to
+ * write some kind of compatiblity routine.
+#ifdef Q_CC_MSVC
+#include <windows.h>
+#include <winldap.h>
+#else*/
 #include <ldap.h>
+//#endif
 
 // Default LDAP server port.
 #define DEFAULT_LDAP_PORT 389
@@ -50,15 +56,17 @@ public:
 public slots:
     /* General */
     bool isAvailable() const;
-    QString displayName() const;
+    QString backendId() const;
     QString description() const;
     virtual QStringList setupKeys() const;
     virtual QVariantMap setupDefaults() const;
+
+    virtual inline bool canChangePassword() const { return false; }
+
     bool setup(const QVariantMap &settings = QVariantMap());
     State init(const QVariantMap &settings = QVariantMap());
     UserId validateUser(const QString &user, const QString &password);
-       
+
 protected:
     virtual void setConnectionProperties(const QVariantMap &properties);
     bool ldapConnect();
@@ -76,14 +84,11 @@ private:
     int _port;
     QString _bindDN;
     QString _baseDN;
-       QString _filter;
+    QString _filter;
     QString _bindPassword;
     QString _uidAttribute;
 
-       // The actual connection object.
-       LDAP *_connection;
-       
-};
-
+    // The actual connection object.
+    LDAP *_connection;
 
-#endif
+};