[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: extragear/network/kmldonkey
From: Aleksey Markelov <markelovai () gmail ! com>
Date: 2009-07-02 15:34:19
Message-ID: 1246548859.264086.16120.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 990530 by amarkelov:
--qt3 warnings/more consistent use of donkeymessage methods
M +3 -8 kmldonkey/statspagegnutella.cpp
M +2 -1 kmldonkey/statspagegnutella.h
M +2 -6 kmldonkey/statspageovernet.cpp
M +3 -3 kmldonkey/statspageovernet.h
M +2 -2 libkmldonkey/CMakeLists.txt
M +7 -0 libkmldonkey/donkeymessage.cpp
M +5 -0 libkmldonkey/donkeymessage.h
M +9 -8 libkmldonkey/donkeyprotocol.cpp
M +3 -1 libkmldonkey/donkeyprotocol.h
M +2 -2 libkmldonkey/ed2kurl.cpp
M +4 -21 libkmldonkey/fileinfo.cpp
M +2 -1 libkmldonkey/hostdialog.cpp
M +2 -2 libkmldonkey/hostmanager.cpp
M +10 -22 libkmldonkey/searchinfo.cpp
M +5 -5 libkmldonkey/searchquery.cpp
--- trunk/extragear/network/kmldonkey/kmldonkey/statspagegnutella.cpp #990529:990530
@@ -39,8 +39,8 @@
{
browser->clear();
QStringList list = res.split("\n");
- for (QStringList::Iterator it = list.begin(); it != list.end(); ++it) {
- browser->append( *it );
+ foreach (const QString &str, res.split('\n')) {
+ browser->append(str);
}
}
@@ -57,17 +57,12 @@
browser = new KTextBrowser(box);
//browser->setTextFormat(Q3TextBrowser::RichText);
- callback = 0;
}
void StatsPageGnutella::slotUpdate()
{
if (! KMLDonkey::App->donkey->isConnected()) return;
- if (! callback) {
- callback = new StatsPageGnutellaCallback;
- callback->browser = browser;
- }
- KMLDonkey::App->donkey->sendConsoleMessage("gstats", callback);
+ KMLDonkey::App->donkey->sendConsoleMessage("gstats", new \
StatsPageGnutellaCallback(browser)); }
void StatsPageGnutella::showEvent(QShowEvent* /*event*/)
--- trunk/extragear/network/kmldonkey/kmldonkey/statspagegnutella.h #990529:990530
@@ -35,7 +35,9 @@
class StatsPageGnutellaCallback : public ConsoleCallbackInterface
{
public:
+ StatsPageGnutellaCallback(KTextBrowser *b) : browser(b) {}
void callback(const QString& cmd, const QString& res);
+private:
KTextBrowser *browser;
};
@@ -51,7 +53,6 @@
private:
KVBox *box;
KTextBrowser *browser;
- StatsPageGnutellaCallback *callback;
};
#endif
--- trunk/extragear/network/kmldonkey/kmldonkey/statspageovernet.cpp #990529:990530
@@ -61,7 +61,6 @@
setResizePolicy(Q3ScrollView::AutoOneFit);
//viewport()->setBackgroundMode(PaletteBackground);
box = 0;
- callback = 0;
}
void StatsPageOvernet::parseOvmd4(const QString &res)
@@ -84,7 +83,7 @@
s = *it;
QRegExp rx("^Search (file|keyword) \
for[\\s]*([a-zA-Z0-9]+)[\\s]*\\((.*)\\).*");
- if (rx.search(s) >= 0) {
+ if (rx.indexIn(s) >= 0) {
if(rx.cap(1) == "file") {
if (! viewFile) {
viewFile = new K3ListView(box);
@@ -177,10 +176,7 @@
void StatsPageOvernet::slotUpdate()
{
if (! KMLDonkey::App->donkey->isConnected()) return;
- if (! callback) {
- callback = new StatsPageOvernetCallback;
- callback->page = this;
- }
+ StatsPageOvernetCallback * callback = new StatsPageOvernetCallback(this);
//FIXME cause of bug http://bugs.kde.org/show_bug.cgi?id=87123
// we just send both kind of messages. That's not nice and
--- trunk/extragear/network/kmldonkey/kmldonkey/statspageovernet.h #990529:990530
@@ -40,8 +40,10 @@
class StatsPageOvernetCallback : public ConsoleCallbackInterface
{
public:
+ StatsPageOvernetCallback(StatsPageOvernet *p) : page(p) {}
void callback(const QString& cmd, const QString& res);
- StatsPageOvernet *page;
+private:
+ QPointer<StatsPageOvernet> page;
};
class StatsPageOvernet : public Q3ScrollView
@@ -63,8 +65,6 @@
void hideEvent(QHideEvent *);
private:
- StatsPageOvernetCallback *callback;
-
void addItem(QString text);
};
--- trunk/extragear/network/kmldonkey/libkmldonkey/CMakeLists.txt #990529:990530
@@ -27,8 +27,8 @@
qt4_wrap_cpp(libkmldonkey_LIB_SRCS protocoliface.h)
-#add_definitions(-DQT3_SUPPORT -DQT3_SUPPORT_WARNINGS)
-add_definitions(-DQT3_SUPPORT)
+add_definitions(-DQT3_SUPPORT -DQT3_SUPPORT_WARNINGS)
+#add_definitions(-DQT3_SUPPORT)
add_definitions(${QT_DEFINITIONS} ${KDE4_DEFINITIONS})
kde4_add_library(libkmldonkey SHARED ${libkmldonkey_LIB_SRCS})
--- trunk/extragear/network/kmldonkey/libkmldonkey/donkeymessage.cpp #990529:990530
@@ -265,6 +265,13 @@
return QHostAddress(qToBigEndian<qint32>(readInt32())).toString();
}
+
+void DonkeyMessage::writeIPAddress(const QHostAddress &addr)
+{
+ qint32 ipv4 = qFromBigEndian(addr.toIPv4Address());
+ writeInt32(ipv4);
+}
+
QString DonkeyMessage::readAddress()
{
if (readInt8())
--- trunk/extragear/network/kmldonkey/libkmldonkey/donkeymessage.h #990529:990530
@@ -30,6 +30,7 @@
#include <kmldonkey_export.h>
+class QHostAddress;
class QString;
class QTextCodec;
@@ -143,6 +144,10 @@
//! Read an IP address from the message.
/*! \return A string describing an IP address. */
QString readIPAddress();
+ /**
+ * Writes an IP address to the message in little endian order
+ */
+ void writeIPAddress(const QHostAddress &addr);
//! Read an encoded IP address from the message.
/*! \return A string describing an IP address. */
QString readAddress();
--- trunk/extragear/network/kmldonkey/libkmldonkey/donkeyprotocol.cpp #990529:990530
@@ -260,9 +260,11 @@
const QString cmd = rx.cap(1).trimmed();
const QString res = rx.cap(2).trimmed();
ConsoleCallbackInterface* cb = consoleCallbacks.value(cmd);
- if (!cb || res.startsWith("No such command")) break;
+ if (!cb) break;
- cb->callback(cmd, res);
+ if (!res.startsWith("No such command")) {
+ cb->callback(cmd, res);
+ }
consoleCallbacks.remove(cmd);
//check if this callback is referenced several times before deleting
if (consoleCallbacks.key(cb).isNull()) delete cb;
@@ -300,7 +302,7 @@
for (i=0; i<j; i++) {
int nw = msg->readInt32();
int s = msg->readInt32();
- clientstatsmap.replace(nw, s);
+ clientstatsmap.insert(nw, s);
}
emit clientStats(ul,dl,sh,nsh,tul,tdl,uul,udl,ndl,ncp,&clientstatsmap);
} break;
@@ -612,7 +614,7 @@
if (! ok) break;
value = msg->readString(&ok);
if (! ok) break;
- options.replace(key,value);
+ options.insert(key,value);
}
emit optionsUpdated();
} break;
@@ -797,7 +799,7 @@
int i, j = msg->readInt16();
for (i=0; i<j; i++) {
int num = msg->readInt32();
- upload.replace(num, true);
+ upload.insert(num, true);
refreshClientInfo(num);
}
for (QMap<int,bool>::Iterator it = upload.begin(); it != upload.end(); \
++it) @@ -973,7 +975,7 @@
{
downloadstarted = true;
QRegExp rx("^(ftp|http)://.+");
- if (rx.search(url) >= 0 && ! url.toLower().endsWith(".torrent")) {
+ if (rx.indexIn(url) >= 0 && ! url.toLower().endsWith(".torrent")) {
sendConsoleMessage("http \"" + url + "\"");
}
else {
@@ -1039,8 +1041,7 @@
{
DonkeyMessage out(AddServer_query);
out.writeInt32(network);
- out.writeInt8(1); // True means following IP address is a string
- out.writeString(ip);
+ out.writeIPAddress(QHostAddress(ip));
out.writeInt16(port);
m_socket->sendMessage(out);
}
--- trunk/extragear/network/kmldonkey/libkmldonkey/donkeyprotocol.h #990529:990530
@@ -801,7 +801,9 @@
* If callback is defined, then the result will be send through
* callback->callback( result );
* /param msg consoleMessage()
- * /param callback callback-function
+ * /param callback callback-function. Single object can be used as callback for \
several + * messages. DonkeyProtocol takes ownership and will delete callback \
when it's no longer + * linked to any message.
*/
void sendConsoleMessage(const QString& msg, ConsoleCallbackInterface* callback = \
0);
--- trunk/extragear/network/kmldonkey/libkmldonkey/ed2kurl.cpp #990529:990530
@@ -35,13 +35,13 @@
QRegExp fre("^ed2k://\\|file\\|([^|]+)\\|(\\d+)\\|([0-9a-fA-F]+)\\|/?$");
QRegExp sre("^ed2k://\\|server\\|(\\d+\\.\\d+\\.\\d+\\.\\d+)\\|(\\d+)\\|/?$");
- if (fre.search(url) >= 0) {
+ if (fre.indexIn(url) >= 0) {
type = "file";
name = fre.cap(1).replace('+', ' ');
size = fre.cap(2).toULong();
hash = FileInfo::stringToMd4(fre.cap(3));
}
- else if (sre.search(url) >= 0) {
+ else if (sre.indexIn(url) >= 0) {
type = "server";
address = sre.cap(1);
port = sre.cap(2).toUShort();
--- trunk/extragear/network/kmldonkey/libkmldonkey/fileinfo.cpp #990529:990530
@@ -104,7 +104,7 @@
j = msg->readInt16();
for (i=0; i<j; i++) {
int av_net = msg->readInt32();
- availability.replace(av_net, msg->readByteArray());
+ availability.insert(av_net, msg->readByteArray());
}
speed = msg->readFloat();
@@ -405,30 +405,13 @@
QString FileInfo::md4ToString(const QByteArray& hash)
{
- char foo[33], bar[16];
- int i;
- foo[0] = 0;
- for (i=0; i<16; i++) {
- sprintf(bar, "%02x", (unsigned char)hash[i]);
- strcat(foo, bar);
- }
- return QString(foo).toUpper();
+ return QString( hash.toHex().toUpper() );
}
-static const QString hexmap = "0123456789ABCDEF";
-
QByteArray FileInfo::stringToMd4(const QString& hash)
{
- QByteArray out(16);
- if (hash.length() != 32) return out;
- QString in = hash.toUpper();
- int b;
- for (int i=0; i<(int)in.length(); i+=2) {
- b = hexmap.find(in[i]) << 4;
- b |= hexmap.find(in[i+1]);
- out[i>>1] = b;
- }
- return out;
+ if (hash.length() != 32) return QByteArray(16,0);
+ return QByteArray::fromHex( hash.toAscii() );
}
// Utility functions
--- trunk/extragear/network/kmldonkey/libkmldonkey/hostdialog.cpp #990529:990530
@@ -125,7 +125,8 @@
{
QLabel* label = new QLabel(i18n("Address:"), hostFrame);
hostFrameLayout->addWidget( label, 1, 0 );
- addressEntry = new QLineEdit( hostFrame, "addressEntry" );
+ addressEntry = new QLineEdit( hostFrame );
+ addressEntry->setObjectName( "addressEntry" );
addressEntry->setMinimumWidth(160);
hostFrameLayout->addWidget( addressEntry, 1, 1 );
label->setBuddy( addressEntry );
--- trunk/extragear/network/kmldonkey/libkmldonkey/hostmanager.cpp #990529:990530
@@ -81,13 +81,13 @@
if (group.readEntry("Default", false) && m_default.isNull())
m_default = entry->name();
- m_hosts.replace(entry->name(), entry);
+ m_hosts.insert(entry->name(), entry);
}
}
if (m_hosts.empty()) { // create default
DonkeyHost* entry = new DonkeyHost("MLDonkey", "localhost", 4001, 4080, \
"admin", "", HostInterface::External); m_default = entry->name();
- m_hosts.replace(entry->name(), entry);
+ m_hosts.insert(entry->name(), entry);
}
if (m_default.isNull()) {
QMap<QString,HostInterface*>::Iterator it = m_hosts.begin();
--- trunk/extragear/network/kmldonkey/libkmldonkey/searchinfo.cpp #990529:990530
@@ -42,27 +42,14 @@
num = msg->readInt32();
net = msg->readInt32();
- QString s;
- for (i = msg->readInt16(); i; i--) {
- s = msg->readString(&ok);
- if(! ok) return;
- names.append(s);
- if (name.length() < s.length()) name = s;
+ names = msg->readStringList();
+ foreach (const QString &n, names) {
+ if (name.length() < n.length()) name = n;
}
- uids.clear();
- if (proto > 26) {
- for (i = msg->readInt16(); i; i--) {
- s = msg->readString(&ok);
- if (!ok) return;
- uids.append(s);
- }
- } else {
- QByteArray md4 = QByteArray(16);
- for (i=0; i<16; i++)
- md4[i] = msg->readInt8();
- uids.append(QString("urn:ed2k:") + FileInfo::md4ToString(md4));
- }
+ uids = proto > 26
+ ? msg->readStringList()
+ : QStringList( QString("urn:ed2k:") + FileInfo::md4ToString( msg->readMd4() \
) );
size = msg->readInt64();
format = msg->readString(&ok);
@@ -123,10 +110,11 @@
QString ResultInfo::resultUid(const QString& type) const
{
QRegExp match(QString("^urn:") + type + ":");
- QStringList results = uids.grep(match);
- if (!results.count()) return QString::null;
+ QStringList results = uids.filter(match);
+ if (!results.count()) return QString();
+
QString result(results.first());
- result.replace(match, "");
+ result.remove(match);
return result;
}
--- trunk/extragear/network/kmldonkey/libkmldonkey/searchquery.cpp #990529:990530
@@ -127,7 +127,7 @@
{
// First seek for SearchQueryList's
QRegExp rxlist("(\\(.*\\))[\\s]*(AND|AND[\\s]*NOT|OR)[\\s]*(\\(.*\\))");
- int pos = rxlist.search(querystring);
+ int pos = rxlist.indexIn(querystring);
if(pos >= 0) {
QString op = rxlist.cap(2).trimmed().simplified();
if(op == "AND") {
@@ -151,11 +151,11 @@
// Clean the querystring
QRegExp rxq("^[\\s]*[\\(]+(.*)[\\)]+[\\s]*$");
- QString qs = (rxq.search(querystring) >= 0) ? rxq.cap(1) : querystring;
+ QString qs = (rxq.indexIn(querystring) >= 0) ? rxq.cap(1) : querystring;
// Look for [...]>0 or [...]<0
QRegExp rx1("\\[(.*)\\][\\s]*(>|<)[\\s]*\\[([0-9]+)\\]");
- if(rx1.search(qs) >= 0) {
+ if(rx1.indexIn(qs) >= 0) {
QString op = rx1.cap(1).trimmed();
if(op == "size") {
QString sizeop = rx1.cap(2).trimmed();
@@ -175,7 +175,7 @@
// look for [...]CONTAINS[...]
QRegExp rx2("\\[(.*)\\][\\s]*CONTAINS[\\s]*\\[(.*)\\]");
- if(rx2.search(qs) >= 0) {
+ if(rx2.indexIn(qs) >= 0) {
QString op = rx2.cap(1).trimmed();
if(op == "format")
return new QueryFormat(QString::null, rx2.cap(2));
@@ -194,7 +194,7 @@
// and finally look for CONTAINS[...]
QRegExp rx3("CONTAINS[\\s]*\\[(.*)\\]");
- if(rx3.search(qs) >= 0)
+ if(rx3.indexIn(qs) >= 0)
return new QueryKeywords(QString::null, rx3.cap(1));
kDebug() << "SearchQuery::getQuery() Unknown querystring " << qs;
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic