Make ping timeouts and auto-WHO configurable
[quassel.git] / src / client / client.h
index dec806c..57c4909 100644 (file)
@@ -43,6 +43,7 @@ class NetworkModel;
 class BufferModel;
 class BufferSyncer;
 class BufferViewOverlay;
+class ClientAliasManager;
 class ClientBacklogManager;
 class ClientBufferViewManager;
 class ClientIrcListHelper;
@@ -50,6 +51,7 @@ class ClientSyncer;
 class ClientUserInputHandler;
 class IrcUser;
 class IrcChannel;
+class NetworkConfig;
 class SignalProxy;
 struct NetworkInfo;
 
@@ -62,6 +64,7 @@ public:
     RemoteCore
   };
 
+  static bool instanceExists();
   static Client *instance();
   static void destroy();
   static void init(AbstractUi *);
@@ -102,11 +105,13 @@ public:
   static inline AbstractMessageProcessor *messageProcessor() { return instance()->_messageProcessor; }
   static inline SignalProxy *signalProxy() { return instance()->_signalProxy; }
 
+  static inline ClientAliasManager *aliasManager() { return instance()->_aliasManager; }
   static inline ClientBacklogManager *backlogManager() { return instance()->_backlogManager; }
   static inline ClientIrcListHelper *ircListHelper() { return instance()->_ircListHelper; }
   static inline ClientBufferViewManager *bufferViewManager() { return instance()->_bufferViewManager; }
   static inline BufferViewOverlay *bufferViewOverlay() { return instance()->_bufferViewOverlay; }
   static inline ClientUserInputHandler *inputHandler() { return instance()->_inputHandler; }
+  static inline NetworkConfig *networkConfig() { return instance()->_networkConfig; }
 
   static AccountId currentCoreAccount();
 
@@ -188,6 +193,8 @@ private slots:
   void requestInitialBacklog();
   void createDefaultBufferView();
 
+  void sendBufferedUserInput();
+
 private:
   Client(QObject *parent = 0);
   virtual ~Client();
@@ -204,11 +211,13 @@ private:
   NetworkModel * _networkModel;
   BufferModel * _bufferModel;
   BufferSyncer * _bufferSyncer;
+  ClientAliasManager *_aliasManager;
   ClientBacklogManager *_backlogManager;
   ClientBufferViewManager *_bufferViewManager;
   BufferViewOverlay *_bufferViewOverlay;
   ClientIrcListHelper *_ircListHelper;
   ClientUserInputHandler *_inputHandler;
+  NetworkConfig *_networkConfig;
 
   MessageModel *_messageModel;
   AbstractMessageProcessor *_messageProcessor;
@@ -226,6 +235,8 @@ private:
   QString _debugLogBuffer;
   QTextStream _debugLog;
 
+  QList<QPair<BufferInfo, QString> > _userInputBuffer;
+
   friend class ClientSyncer;
 };