This should fix a bug resulting in a crash, when a IrcUser object was not destroyed...
[quassel.git] / src / common / networkinfo.h
index 6f2ab48..a457730 100644 (file)
@@ -29,7 +29,6 @@
 #include <QPointer>
 
 class SignalProxy;
-class Synchronizer;
 class IrcUser;
 class IrcChannel;
 
@@ -42,13 +41,15 @@ class NetworkInfo : public QObject {
   Q_PROPERTY(QString myNick READ myNick WRITE setMyNick STORED false)
 
 public:
-  NetworkInfo(const uint &networkid, SignalProxy *proxy, QObject *parent = 0);
-  //  virtual ~NetworkInfo();
+  NetworkInfo(const uint &networkid, QObject *parent = 0);
+  //virtual ~NetworkInfo();
 
   uint networkId() const;
   bool initialized() const;
-  Synchronizer *synchronizer();
 
+  SignalProxy *proxy() const;
+  void setProxy(SignalProxy *proxy);
+  
   bool isMyNick(const QString &nick) const;
   bool isMyNick(IrcUser *ircuser) const;
 
@@ -88,6 +89,7 @@ public slots:
   void removeSupport(const QString &param);
 
   inline void addIrcUser(const QString &hostmask) { newIrcUser(hostmask); }
+  void removeIrcUser(QString nick);
   
   //init geters
   QVariantMap initSupports() const;
@@ -104,23 +106,26 @@ public slots:
   // these slots are to keep the hashlists of all users and the
   // channel lists up to date
   void ircUserNickChanged(QString newnick);
+  void setInitialized();
 
+private slots:
   void ircUserDestroyed();
   void channelDestroyed();
-
-  void setInitialized();
+  void removeIrcUser(IrcUser *ircuser);
   
 signals:
   void networkNameSet(const QString &networkName);
   void currentServerSet(const QString &currentServer);
   void myNickSet(const QString &mynick);
 
-  void supportAdded(const QString &param, const QString &value = QString());
+  void supportAdded(const QString &param, const QString &value);
   void supportRemoved(const QString &param);
   
   void ircUserAdded(QString hostmask);
   void ircChannelAdded(QString channelname);
 
+  void ircUserRemoved(QString nick);
+  
   void initDone();
   void ircUserInitDone();
   void ircChannelInitDone();
@@ -143,9 +148,9 @@ private:
   //QVariantMap networkSettings;
   //QVariantMap identity;
   
-  QPointer<Synchronizer> _synchronizer;
-  
+  QPointer<SignalProxy> _proxy;
   void determinePrefixes();
+
 };
 
 #endif