/***************************************************************************
- * Copyright (C) 2005-09 by the Quassel Project *
+ * Copyright (C) 2005-2010 by the Quassel Project *
* devel@quassel-irc.org *
* *
* This program is free software; you can redistribute it and/or modify *
if(info.rejoinChannels != rejoinChannels()) setRejoinChannels(info.rejoinChannels);
}
-QString Network::prefixToMode(const QString &prefix) {
+QString Network::prefixToMode(const QString &prefix) const {
if(prefixes().contains(prefix))
return QString(prefixModes()[prefixes().indexOf(prefix)]);
else
return QString();
}
-QString Network::modeToPrefix(const QString &mode) {
+QString Network::modeToPrefix(const QString &mode) const {
if(prefixModes().contains(mode))
return QString(prefixes()[prefixModes().indexOf(mode)]);
else
return nicks;
}
-QString Network::prefixes() {
+QString Network::prefixes() const {
if(_prefixes.isNull())
determinePrefixes();
return _prefixes;
}
-QString Network::prefixModes() {
+QString Network::prefixModes() const {
if(_prefixModes.isNull())
determinePrefixes();
IrcUser *Network::newIrcUser(const QString &hostmask, const QVariantMap &initData) {
QString nick(nickFromMask(hostmask).toLower());
if(!_ircUsers.contains(nick)) {
- IrcUser *ircuser = new IrcUser(hostmask, this);
+ IrcUser *ircuser = ircUserFactory(hostmask);
if(!initData.isEmpty()) {
ircuser->fromVariantMap(initData);
ircuser->setInitialized();
return info;
}
-QByteArray Network::bufferKey(const QString &recipient) const {
- return _keyHash[recipient.toLower()];
-}
-
-void Network::setBufferKey(const QString &recipient, const QByteArray &key) {
- _keyHash[recipient.toLower()] = key;
-}
-
// ====================
// Public Slots:
// ====================
// ====================
// Private:
// ====================
-void Network::determinePrefixes() {
+void Network::determinePrefixes() const {
// seems like we have to construct them first
QString prefix = support("PREFIX");
_prefixModes = defaultPrefixModes;
return;
}
+ // clear the existing modes, just in case we're run multiple times
+ _prefixes = QString();
+ _prefixModes = QString();
// we just assume that in PREFIX are only prefix chars stored
for(int i = 0; i < defaultPrefixes.size(); i++) {
if(prefix.contains(defaultPrefixes[i])) {
- _prefixes += defaultPrefixes[i];
- _prefixModes += defaultPrefixModes[i];
+ _prefixes += defaultPrefixes[i];
+ _prefixModes += defaultPrefixModes[i];
}
}
// check for success
// check if it's only prefix modes
for(int i = 0; i < defaultPrefixes.size(); i++) {
if(prefix.contains(defaultPrefixModes[i])) {
- _prefixes += defaultPrefixes[i];
- _prefixModes += defaultPrefixModes[i];
+ _prefixes += defaultPrefixes[i];
+ _prefixModes += defaultPrefixModes[i];
}
}
// now we've done all we've could...
QDebug operator<<(QDebug dbg, const NetworkInfo &i) {
dbg.nospace() << "(id = " << i.networkId << " name = " << i.networkName << " identity = " << i.identity
- << " codecForServer = " << i.codecForServer << " codecForEncoding = " << i.codecForEncoding << " codecForDecoding = " << i.codecForDecoding
- << " serverList = " << i.serverList << " useRandomServer = " << i.useRandomServer << " perform = " << i.perform
- << " useAutoIdentify = " << i.useAutoIdentify << " autoIdentifyService = " << i.autoIdentifyService << " autoIdentifyPassword = " << i.autoIdentifyPassword
+ << " codecForServer = " << i.codecForServer << " codecForEncoding = " << i.codecForEncoding << " codecForDecoding = " << i.codecForDecoding
+ << " serverList = " << i.serverList << " useRandomServer = " << i.useRandomServer << " perform = " << i.perform
+ << " useAutoIdentify = " << i.useAutoIdentify << " autoIdentifyService = " << i.autoIdentifyService << " autoIdentifyPassword = " << i.autoIdentifyPassword
<< " useSasl = " << i.useSasl << " saslAccount = " << i.saslAccount << " saslPassword = " << i.saslPassword
<< " useAutoReconnect = " << i.useAutoReconnect << " autoReconnectInterval = " << i.autoReconnectInterval
- << " autoReconnectRetries = " << i.autoReconnectRetries << " unlimitedReconnectRetries = " << i.unlimitedReconnectRetries
- << " rejoinChannels = " << i.rejoinChannels << ")";
+ << " autoReconnectRetries = " << i.autoReconnectRetries << " unlimitedReconnectRetries = " << i.unlimitedReconnectRetries
+ << " rejoinChannels = " << i.rejoinChannels << ")";
return dbg.space();
}