SignalProxy now only allows syncing for classes derived from the new
[quassel.git] / src / common / networkinfo.h
index 0c6516b..2caa4dc 100644 (file)
@@ -1,5 +1,5 @@
 /***************************************************************************
- *   Copyright (C) 2005-07 by the Quassel IRC Team                         *
+ *   Copyright (C) 2005-08 by the Quassel Project                          *
  *   devel@quassel-irc.org                                                 *
  *                                                                         *
  *   This program is free software; you can redistribute it and/or modify  *
 #include <QPointer>
 
 #include "types.h"
+#include "syncableobject.h"
 
 class SignalProxy;
 class IrcUser;
 class IrcChannel;
 
 
-class NetworkInfo : public QObject {
+class NetworkInfo : public SyncableObject {
   Q_OBJECT
 
   Q_PROPERTY(QString networkName READ networkName WRITE setNetworkName STORED false)
@@ -51,7 +52,7 @@ public:
 
   SignalProxy *proxy() const;
   void setProxy(SignalProxy *proxy);
-  
+
   bool isMyNick(const QString &nick) const;
   bool isMyNick(IrcUser *ircuser) const;
 
@@ -61,7 +62,7 @@ public:
   QString prefixToMode(const QCharRef &prefix);
   QString modeToPrefix(const QString &mode);
   QString modeToPrefix(const QCharRef &mode);
-  
+
   QString networkName() const;
   QString currentServer() const;
   QString myNick() const;
@@ -73,15 +74,30 @@ public:
 
   bool supports(const QString &param) const;
   QString support(const QString &param) const;
-  
+
   IrcUser *newIrcUser(const QString &hostmask);
+  IrcUser *newIrcUser(const QByteArray &hostmask);
   IrcUser *ircUser(QString nickname) const;
+  IrcUser *ircUser(const QByteArray &nickname) const;
   QList<IrcUser *> ircUsers() const;
-  
+
   IrcChannel *newIrcChannel(const QString &channelname);
+  IrcChannel *newIrcChannel(const QByteArray &channelname);
   IrcChannel *ircChannel(QString channelname);
+  IrcChannel *ircChannel(const QByteArray &channelname);
+  
   QList<IrcChannel *> ircChannels() const;
 
+  QTextCodec *codecForEncoding() const;
+  QTextCodec *codecForDecoding() const;
+  void setCodecForEncoding(const QString &codecName);
+  void setCodecForEncoding(QTextCodec *codec);
+  void setCodecForDecoding(const QString &codecName);
+  void setCodecForDecoding(QTextCodec *codec);
+
+  QString decodeString(const QByteArray &text) const;
+  QByteArray encodeString(const QString string) const;
+
 public slots:
   void setNetworkName(const QString &networkName);
   void setCurrentServer(const QString &currentServer);
@@ -153,6 +169,9 @@ private:
   QPointer<SignalProxy> _proxy;
   void determinePrefixes();
 
+  QTextCodec *_codecForEncoding;
+  QTextCodec *_codecForDecoding;
+
 };
 
 #endif