/***************************************************************************
- * Copyright (C) 2005/06 by The Quassel Team *
+ * Copyright (C) 2005/06 by the Quassel Project *
* devel@quassel-irc.org *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
- * (at your option) any later version. *
+ * (at your option) version 3. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
#include <QStringList>
#include <QVariantMap>
+#include "syncableobject.h"
+
class IrcUser;
-class NetworkInfo;
+class Network;
class SignalProxy;
-class IrcChannel : public QObject {
+class IrcChannel : public SyncableObject {
Q_OBJECT
Q_PROPERTY(QString name READ name STORED false)
Q_PROPERTY(QString topic READ topic WRITE setTopic STORED false)
public:
- IrcChannel(const QString &channelname, NetworkInfo *networkInfo);
+ IrcChannel(const QString &channelname, Network *network);
~IrcChannel();
bool isKnownUser(IrcUser *ircuser) const;
bool isValidChannelUserMode(const QString &mode) const;
- bool initialized() const;
-
QString name() const;
QString topic() const;
QString userModes(IrcUser *ircuser) const;
QString userModes(const QString &nick) 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 setTopic(const QString &topic);
// init seters
void initSetUserModes(const QVariantMap &usermodes);
- void setInitialized();
-
signals:
void topicSet(QString topic);
void userModesSet(QString nick, QString modes);
void ircUserJoined(IrcUser *ircuser);
void ircUserParted(IrcUser *ircuser);
- void ircUserDestroyed(IrcUser *ircuser);
void ircUserNickSet(IrcUser *ircuser, QString nick);
void ircUserModeAdded(IrcUser *ircuser, QString mode);
void ircUserModeRemoved(IrcUser *ircuser, QString mode);
void ircUserModesSet(IrcUser *ircuser, QString modes);
- void initDone();
-
private slots:
void ircUserDestroyed();
void ircUserNickSet(QString nick);
QHash<IrcUser *, QString> _userModes;
- NetworkInfo *networkInfo;
+ Network *network;
+
+ QTextCodec *_codecForEncoding;
+ QTextCodec *_codecForDecoding;
};
#endif