fix OidentdConfigGenerator includes
[quassel.git] / src / core / oidentdconfiggenerator.h
index 9e05162..edc5900 100644 (file)
 #include <QDateTime>
 #include <QHostAddress>
 #include <QMutex>
+#include <QByteArray>
+
+#ifndef Q_OS_WIN32
+#  include <sys/types.h>
+#  include <sys/stat.h>
+#endif /* Q_OS_WIN32 */
 
 #include "quassel.h"
 #include "coreidentity.h"
 
+//!  Produces oidentd configuration files
+/*!
+  Upon IRC connect this class puts the clients' ident data into an oidentd configuration file.
+
+  The default path is <~/.oidentd.conf>.
+
+  For oidentd to incorporate this file, the global oidentd.conf has to state something like this:
+
+  user "quassel" {
+    default {
+      allow spoof
+      allow spoof_all
+    }
+  }
+
+*/
+
 class OidentdConfigGenerator : public QObject
 {
     Q_OBJECT
 public:
   explicit OidentdConfigGenerator(QObject *parent = 0);
+  ~OidentdConfigGenerator();
 
-signals:
-    
 public slots:
   bool addSocket(const CoreIdentity *identity, const QHostAddress &localAddress, quint16 localPort, const QHostAddress &peerAddress, quint16 peerPort);
   bool removeSocket(const CoreIdentity *identity, const QHostAddress &localAddress, quint16 localPort, const QHostAddress &peerAddress, quint16 peerPort);
@@ -46,13 +68,14 @@ public slots:
 private:
   bool init();
   bool writeConfig();
-  bool parseConfig(bool keepQuasselStanzas = true);
+  bool parseConfig(bool readQuasselStanzas = false);
   bool lineByUs(const QByteArray &line);
 
   bool _initialized;
   QDateTime _lastSync;
   QFile *_configFile;
-  QByteArray _config;
+  QByteArray _parsedConfig;
+  QByteArray _quasselConfig;
   // Mutex isn't strictly necessary at the moment, since with the current invocation in Core only one instance at a time exists
   QMutex _mutex;