Bulk-insert messages into the db (again)
[quassel.git] / src / core / coresession.h
index 3f36497..9d8ba55 100644 (file)
@@ -38,8 +38,11 @@ class CoreIrcListHelper;
 class CoreNetwork;
 class CoreNetworkConfig;
 class CoreSessionEventProcessor;
+class CtcpParser;
 class EventManager;
+class EventStringifier;
 class IrcParser;
+class MessageEvent;
 class NetworkConnection;
 class SignalProxy;
 
@@ -69,7 +72,9 @@ public:
   AliasManager &aliasManager() { return _aliasManager; }
 
   inline EventManager *eventManager() const { return _eventManager; }
-  inline CoreSessionEventProcessor *eventProcessor() const { return _eventProcessor; }
+  inline EventStringifier *eventStringifier() const { return _eventStringifier; }
+  inline CoreSessionEventProcessor *sessionEventProcessor() const { return _sessionEventProcessor; }
+  inline CtcpParser *ctcpParser() const { return _ctcpParser; }
   inline IrcParser *ircParser() const { return _ircParser; }
 
   inline CoreIrcListHelper *ircListHelper() const { return _ircListHelper; }
@@ -143,12 +148,14 @@ signals:
 
   void networkCreated(NetworkId);
   void networkRemoved(NetworkId);
+  void networkDisconnected(NetworkId);
 
 private slots:
   void removeClient(QIODevice *dev);
 
   void recvStatusMsgFromServer(QString msg);
   void recvMessageFromServer(NetworkId networkId, Message::Type, BufferInfo::Type, const QString &target, const QString &text, const QString &sender = "", Message::Flags flags = Message::None);
+  void processMessages();
 
   void destroyNetwork(NetworkId);
 
@@ -161,13 +168,12 @@ private slots:
 
   void saveSessionState() const;
 
-protected:
-  virtual void customEvent(QEvent *event);
-
 private:
   void loadSettings();
   void initScriptEngine();
-  void processMessages();
+
+  /// Hook for converting events to the old displayMsg() handlers
+  Q_INVOKABLE void processMessageEvent(MessageEvent *event);
 
   UserId _user;
 
@@ -186,13 +192,14 @@ private:
   CoreCoreInfo _coreInfo;
 
   EventManager *_eventManager;
-  CoreSessionEventProcessor *_eventProcessor;
+  EventStringifier *_eventStringifier; // should eventually move into client
+  CoreSessionEventProcessor *_sessionEventProcessor;
+  CtcpParser *_ctcpParser;
   IrcParser *_ircParser;
 
   QScriptEngine *scriptEngine;
 
   QList<RawMessage> _messageQueue;
-  bool _processMessages;
   CoreIgnoreListManager _ignoreListManager;
 };