Project

General

Profile

Support #3700 » QtObject.C

Anton Kudryavtsev, 12/12/2014 12:07 PM

 
/*
* Copyright (C) 2008 Emweb bvba, Heverlee, Belgium.
*
* Permission is hereby granted, free of charge, to any person
* obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without
* restriction, including without limitation the rights to use,
* copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following
* conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
* OTHER DEALINGS IN THE SOFTWARE.
*/

#include "HelloApplication.h"
#include "QtObject.h"
#include <QtNetwork>
#include <QByteArray>
#include <QUrl>
#include <QDebug>
#include <QNetworkReply>
#include <QNetworkRequest>

QtObject::QtObject(Dictionary *wt, QObject *parent)
: QObject(parent),
wt_(wt)
{
m_connectionManager = new QNetworkAccessManager();
m_connectionManager->setNetworkAccessible(QNetworkAccessManager::Accessible);
QObject::connect( m_connectionManager, SIGNAL( finished( QNetworkReply* ) ), this, SLOT( replyFinished( QNetworkReply* ) ) );
QObject::connect( this, SIGNAL( greet( QString ) ), this, SLOT( doGreet( QString ) ) );
}

void QtObject::passGreet(const QString& name)
{
m_connectionManager->get( QNetworkRequest(QUrl("http://ya.ru/") ) );
}

void QtObject::doGreet(const QString& name)
{
wt_->doGreet(name);
}

void QtObject::replyFinished( QNetworkReply* reply )
{
QSharedPointer<QNetworkReply> replyPtr( reply, &QObject::deleteLater );
const QString body ( QString::fromUtf8( replyPtr->readAll().data() ) );
qDebug()<<body;
emit greet(QString("try set text"));
}
(2-2/4)