Reformat ALL the source!
[quassel.git] / src / client / clientuserinputhandler.h
index f459ac5..4b7db83 100644 (file)
 #ifndef CLIENTUSERINPUTHANDLER_H_
 #define CLIENTUSERINPUTHANDLER_H_
 
-#include <QPair>
+#include "basichandler.h"
 
-#include "clientaliasmanager.h"
-#include "bufferinfo.h"
+class BufferInfo;
+class NetworkId;
 
-class ClientUserInputHandler : public QObject {
-  Q_OBJECT
+class ClientUserInputHandler : public BasicHandler
+{
+    Q_OBJECT
 
 public:
-  ClientUserInputHandler(QObject *parent = 0);
+    ClientUserInputHandler(QObject *parent = 0);
 
 public slots:
-  void handleUserInput(const BufferInfo &bufferInfo, const QString &msg);
+    void handleUserInput(const BufferInfo &bufferInfo, const QString &msg);
 
 signals:
-  void sendInput(const BufferInfo &, const QString &);
+    void sendInput(const BufferInfo &, const QString &);
 
 private slots:
-  void clientConnected();
-  void clientDisconnected();
-  void initDone();
-  void completionSuffixChanged(const QVariant &);
+    void completionSuffixChanged(const QVariant &);
+
+    void handleExec(const BufferInfo &bufferInfo, const QString &execString);
+    void handleJoin(const BufferInfo &bufferInfo, const QString &text);
+    void handleQuery(const BufferInfo &bufferInfo, const QString &text);
+    void defaultHandler(const QString &cmd, const BufferInfo &bufferInfo, const QString &text);
 
 private:
-  bool _initialized;
-  QRegExp _nickRx;
-  ClientAliasManager _aliasManager;
-  AliasManager::CommandList _inputBuffer;
+    QRegExp _nickRx;
+
+    //! Helper method for switching to new/existing buffers
+    /** Immediately switches to the given buffer or schedules a switch for whenever
+      * the buffer is created
+      */
+    void switchBuffer(const NetworkId &networkId, const QString &bufferName);
 };
 
+
 #endif