Qt Jambi: Accessing the content of QNetworkReply

Posted by Richard on Stack Overflow See other posts from Stack Overflow or by Richard
Published on 2010-06-03T17:49:32Z Indexed on 2010/06/03 17:54 UTC
Read the original article Hit count: 359

Hi All,

I'm having trouble accessing the content of QNetworkReply objects. Content appears to be empty or zero. According to the docs (translating from c++ to java) I think I've got this set up correctly, but to no avail. Additionally an "Unknown error" is being reported.

Any ideas much appreciated. Code:

public class Test extends QObject {

private QWebPage page;

public Test() {

    page = new QWebPage();

    QNetworkAccessManager nac = new QNetworkAccessManager();
    nac.finished.connect(this, "requestFinished(QNetworkReply)");

    page.setNetworkAccessManager(nac);

    page.loadProgress.connect(this, "loadProgress(int)");
    page.loadFinished.connect(this, "loadFinished()");

}

public void requestFinished(QNetworkReply reply) {

    reply.reset();
    reply.open(OpenModeFlag.ReadOnly);

    reply.readyRead.connect(this, "ready()");  // never gets called

    System.out.println("bytes: " + reply.url().toString());  // writes out asset uri no problem
    System.out.println("bytes: " + reply.bytesToWrite());  // 0
    System.out.println("At end: " + reply.atEnd());   // true
    System.out.println("Error: " + reply.errorString());   // "Unknown error"
}

public void loadProgress(int progress) {
    System.out.println("Loaded " + progress + "%");
}

public void loadFinished() {
    System.out.println("Done");
}

public void ready() {
    System.out.println("Ready");
}

public void open(String url) {
    page.mainFrame().load(new QUrl(url));
}

public static void main(String[] args) {

    QApplication.initialize(new String[] { });

    Test t = new Test();
    t.open("http://news.bbc.co.uk");

    QApplication.exec();
}

}

© Stack Overflow or respective owner

Related posts about qt

Related posts about qt-jambi