Reformat ALL the source!
[quassel.git] / src / core / coreirclisthelper.h
index 84303ad..2660c28 100644 (file)
@@ -1,5 +1,5 @@
 /***************************************************************************
- *   Copyright (C) 2005-08 by the Quassel Project                          *
+ *   Copyright (C) 2005-09 by the Quassel Project                          *
  *   devel@quassel-irc.org                                                 *
  *                                                                         *
  *   This program is free software; you can redistribute it and/or modify  *
 
 #include "coresession.h"
 
-class CoreIrcListHelper : public IrcListHelper {
-  Q_OBJECT
+class QTimerEvent;
+
+class CoreIrcListHelper : public IrcListHelper
+{
+    SYNCABLE_OBJECT
+        Q_OBJECT
 
 public:
-  inline CoreIrcListHelper(CoreSession *coreSession) : IrcListHelper(coreSession), _coreSession(coreSession) {};
+    inline CoreIrcListHelper(CoreSession *coreSession) : IrcListHelper(coreSession), _coreSession(coreSession) {};
+
+    inline virtual const QMetaObject *syncMetaObject() const { return &IrcListHelper::staticMetaObject; }
 
-  inline virtual const QMetaObject *syncMetaObject() const { return &IrcListHelper::staticMetaObject; }
+    inline CoreSession *coreSession() const { return _coreSession; }
 
-  inline CoreSession *coreSession() const { return _coreSession; }
+    inline bool requestInProgress(const NetworkId &netId) const { return _channelLists.contains(netId); }
 
 public slots:
-  virtual QVariantList requestChannelList(const NetworkId &netId, const QStringList &channelFilters);
-  bool addChannel(const NetworkId &netId, const QString &channelName, quint32 userCount, const QString &topic);
-  bool endOfChannelList(const NetworkId &netId);
+    virtual QVariantList requestChannelList(const NetworkId &netId, const QStringList &channelFilters);
+    bool addChannel(const NetworkId &netId, const QString &channelName, quint32 userCount, const QString &topic);
+    bool endOfChannelList(const NetworkId &netId);
+
+protected:
+    void timerEvent(QTimerEvent *event);
 
 private:
-  CoreSession *_coreSession;
+    bool dispatchQuery(const NetworkId &netId, const QString &query);
 
-  QHash<NetworkId, QString> _queuedQuery;
-  QHash<NetworkId, QList<ChannelDescription> > _channelLists;
-  QHash<NetworkId, QVariantList> _finishedChannelLists;
+private:
+    CoreSession *_coreSession;
+
+    QHash<NetworkId, QString> _queuedQuery;
+    QHash<NetworkId, QList<ChannelDescription> > _channelLists;
+    QHash<NetworkId, QVariantList> _finishedChannelLists;
+    QHash<int, NetworkId> _queryTimeout;
 };
 
+
 #endif //COREIRCLISTHELPER_H