Ejemplo n.º 1
0
void QDSActionPrivate::connectToChannel()
{
    // Connect slots to response messages
    if ( mResponseChannel == 0 ) {
        mResponseChannel = new QtopiaIpcAdaptor( responseChannel() );

        QtopiaIpcAdaptor::connect(
            mResponseChannel,
            MESSAGE( heartbeat() ),
            this,
            SLOT(heartbeatSlot()),
            QtopiaIpcAdaptor::SenderIsChannel );

        QtopiaIpcAdaptor::connect(
            mResponseChannel,
            MESSAGE( response() ),
            this,
            SLOT(responseSlot()),
            QtopiaIpcAdaptor::SenderIsChannel );

        QtopiaIpcAdaptor::connect(
            mResponseChannel,
            MESSAGE( response( const QDSData& ) ),
            this,
            SLOT(responseSlot(QDSData)),
            QtopiaIpcAdaptor::SenderIsChannel );

        QtopiaIpcAdaptor::connect(
            mResponseChannel,
            MESSAGE( error( const QString& ) ),
            this,
            SLOT(errorSlot(QString)),
            QtopiaIpcAdaptor::SenderIsChannel );
    }
Ejemplo n.º 2
0
void HttpGet::run()
{
    if (!m_connection->m_networkAccessManager) {
        m_message = "Invalid Network Access Manager";
        m_status = Error;
        finished();
        return;
    }

    m_status = Running;
    QNetworkRequest request;
    request.setUrl(m_url);
    QLOG_DEBUG() << "Retrieving:" << m_url;

    m_networkReply = m_connection->m_networkAccessManager->get(request);

    connect(m_networkReply, SIGNAL(readyRead()), &m_timer, SLOT(start()));

    if (m_file) {
        connect(m_networkReply, SIGNAL(readyRead()), this, SLOT(readToFile()));
        connect(m_networkReply, SIGNAL(finished()),  this, SLOT(closeFile()) );
    } else {
        connect(m_networkReply, SIGNAL(readyRead()), this, SLOT(readToString()));
    }

    connect(m_networkReply, SIGNAL(finished()),  this, SLOT(finishedSlot()) );
    connect(m_networkReply, SIGNAL(error(QNetworkReply::NetworkError)),
            this, SLOT(errorSlot(QNetworkReply::NetworkError)));

    m_timer.start();
}
Ejemplo n.º 3
0
/*!
 * \brief Rs232DevicePrivate::Rs232DevicePrivate - CTor
 * \param info
 * \param parent
 */
Rs232DevicePrivate::Rs232DevicePrivate(const QSerialPortInfo &info, QObject *parent) :
    QSerialPort(info, parent)
{
    m_debug = false;

    qDebug() << headDebug << "CTor" << info.portName();

    // Faccio partire un timer: se entro il suo timeout non ho trovato il converter mi autodistruggo
    connect (&m_timerAutodelete, SIGNAL(timeout()), this, SLOT(deleteLater()));
    m_timerAutodelete.start(2000);

    connect (&m_timerSendGetId, SIGNAL(timeout()), this, SLOT(sendMsgGetId()));

    // Sono riuscito a configurare la porta?
    if (configPort())
    {
        // Si, la porta e' fisica e non virtuale.
        m_statoParser = STATO_RS232_DLE_STX;
        m_checksum = 0;

        connect(this, SIGNAL(error(QSerialPort::SerialPortError)),
                this, SLOT(errorSlot(QSerialPort::SerialPortError)));
        connect(this, SIGNAL(readyRead()), this, SLOT(fromDeviceSlot()));

        // Spedisco il messaggio per sapere se e' collegato un converter
        sendMsgGetId();
    }
}
Ejemplo n.º 4
0
/*!
 * \brief SerialDev::configPort - Parametri per configurare la porta seriale
 * \return true se riesce a configurare correttamente la porta seriale
 */
bool SerialDev::configPort (const QString &name)
{
    bool debugVal = m_debug;
    m_debug = true;
    setPortName(name);

    if (!open(QIODevice::ReadWrite)) {
        QString testo = QString("Can't open %1, error code %2")
                    .arg(portName()).arg(error());
        debug(testo);
        return false;
    }

    if (!setBaudRate(QSerialPort::Baud115200)) {
        QString testo = QString("Can't set rate 115200 baud to port %1, error code %2")
                     .arg(portName()).arg(error());
        debug(testo);
        return false;
    }

    if (!setDataBits(QSerialPort::Data8)) {
        QString testo = QString("Can't set 8 data bits to port %1, error code %2")
                     .arg(portName()).arg(error());
        debug(testo);
        return false;
    }

    if (!setParity(QSerialPort::NoParity)) {
        QString testo = QString("Can't set no patity to port %1, error code %2")
                     .arg(portName()).arg(error());
        debug(testo);
        return false;
    }

    if (!setStopBits(QSerialPort::OneStop)) {
        QString testo = QString("Can't set 1 stop bit to port %1, error code %2")
                     .arg(portName()).arg(error());
        debug(testo);
        return false;
    }

    if (!setFlowControl(QSerialPort::NoFlowControl)) {
        QString testo = QString("Can't set no flow control to port %1, error code %2")
                     .arg(portName()).arg(error());
        debug(testo);
        return false;
    }

    connect(this, SIGNAL(error(QSerialPort::SerialPortError)),
            this, SLOT(errorSlot(QSerialPort::SerialPortError)));
    connect(this, SIGNAL(readyRead()), this, SLOT(fromDeviceSlot()));

    m_debug = debugVal;
   return true;
}
Ejemplo n.º 5
0
GBluetoothServer::GBluetoothServer(QBluetoothServiceInfo::Protocol x,QObject *parent,VM *pVM)  : QBluetoothServer(x,parent)
{
	this->pVM = pVM;
	this->pParaList = ring_list_new(0);
	strcpy(this->cerrorEvent,"");
	strcpy(this->cnewConnectionEvent,"");

	QObject::connect(this, SIGNAL(error(QBluetoothServer::Error)),this, SLOT(errorSlot()));
	QObject::connect(this, SIGNAL(newConnection()),this, SLOT(newConnectionSlot()));

}
Ejemplo n.º 6
0
void HttpPost::run()
{
    if (!m_connection->m_networkAccessManager) {
        m_message = "Invalid Network Access Manager";
        m_status = Error;
        finished();
        return;
    }

    m_status = Running;
    QNetworkRequest request;

    request.setUrl(m_url);
    request.setHeader(QNetworkRequest::ContentTypeHeader, "text/plain; charset=UTF-8");

    QByteArray data(m_postData.toLatin1());

    qDebug() << "POST:" << data;

    m_networkReply = m_connection->m_networkAccessManager->post(request, data);

    QList<QByteArray> headers(m_networkReply->request().rawHeaderList());

    QList<QByteArray>::iterator iter;
    for (iter = headers.begin(); iter != headers.end(); ++iter) {
        qDebug() << "HEADER:" << *iter << m_networkReply->request().rawHeader(*iter);
    }

    connect(m_networkReply, SIGNAL(readyRead()), &m_timer, SLOT(start()));
    connect(m_networkReply, SIGNAL(readyRead()), this, SLOT(readToString()));
    connect(m_networkReply, SIGNAL(finished()),  this, SLOT(finishedSlot()) );
    connect(m_networkReply, SIGNAL(error(QNetworkReply::NetworkError)),
            this, SLOT(errorSlot(QNetworkReply::NetworkError)));

    m_timer.start();
}
Ejemplo n.º 7
0
void CtrlComm::run() {

        openComm();

        carSocket_ = new QTcpSocket();

        //       carSocket_->setSocketOption(QAbstractSocket::SendBufferSizeSocketOption,
        //       0);

        connect(carSocket_, SIGNAL(connected()), this, SLOT(connectedSlot()),
                Qt::DirectConnection);
        connect(carSocket_, SIGNAL(disconnected()), this, SLOT(disconnectedSlot()),
                Qt::DirectConnection);
        connect(carSocket_, SIGNAL(readyRead()), this, SLOT(readyReadSlot()),
                Qt::DirectConnection);
        connect(carSocket_, SIGNAL(error(QAbstractSocket::SocketError)), this,
                SLOT(errorSlot(QAbstractSocket::SocketError)), Qt::DirectConnection);

        connect(this, SIGNAL(sendToServerSignal(QByteArray)), this,
                SLOT(sendToServer(QByteArray)), Qt::DirectConnection);

        QSettings *configIniRead = new QSettings("xcar.ini", QSettings::IniFormat);

        QString ipResult = configIniRead->value("/cmd_server/ip").toString();
        QString portResult = configIniRead->value("/cmd_server/port").toString();

        delete configIniRead;

        char tmpdata[5] = {(unsigned char)0xff, (unsigned char)0x02,
                           (unsigned char)0x02, (unsigned char)0x80,
                           (unsigned char)0xff};

        connectToServer(ipResult.toStdString().c_str(), portResult.toShort());

        while (true) {

#if 1
                if (!serial_->isOpen()) {
                        sleep(1);
                        //    emit sendToServerSignal(tmpdata);
                        LOG_ERROR << "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
                        continue;
                }
                unsigned char tmp[5];
                memset(&tmp, 0x00, 5);
                int count = serial_->readData((char *)tmp, 5, timeOut);
                if (count <= 0) {
                        //        emit sendToServerSignal(tmpdata);
                        continue;
                }

                //                   LOG_ERROR<<"1 ===================================== not
                //                   find data\n ";
                //     carSocket_->write((const char*)tmp, count);
                //               LOG_ERROR<<"2 ===================================== not
                //               find data\n ";
                // carSocket_->waitForBytesWritten(timeOut);
                //           LOG_ERROR<<"3 ===================================== not find
                //           data\n ";
                //             continue;

                QByteArray okData((const char *)tmp);

                serialArray_.append(okData);
                //       LOG_DEBUG<<"[Serial], recv data: "<<serialArray_.toHex();

                // 0xFF 0xFF
                char spos[2] = {(unsigned char)0xff};
                char epos[2] = {(unsigned char)0xff};


                int startPos = serialArray_.indexOf(spos, 0);
                if (startPos == -1) {
                        LOG_ERROR << "1 not find data\n ";
                        serialArray_.clear();
                        continue;
                }

                int endPos = serialArray_.indexOf(epos, startPos + 1);
                if (endPos == -1) {
                        LOG_ERROR << "2 not find data\n ";
                        continue;
                }

                if (endPos - startPos == 1) {
                        serialArray_.clear();
                        //TODO !!! LOG_ERROR << "3 not find data\n ";
                        continue;
                }

                QByteArray serialBuf = serialArray_.mid(startPos, endPos - startPos + 1);

                if (serialBuf[1] == 0x02 &&
                                (serialBuf[3] != 0x80 || serialBuf[3] != 0x7f)) {
                        QByteArray t = serialBuf.toHex();
                        //  LOG_ERROR<<t;
                }
                serialArray_.clear();

                char light_front[5] = {(unsigned char)0xff, (unsigned char)0x03,
                                       (unsigned char)0x03, (unsigned char)0x01};
                char light_back[5] = {(unsigned char)0xff, (unsigned char)0x03,
                                      (unsigned char)0x03, (unsigned char)0x02};

                char power[3] = {(unsigned char)0xff, (unsigned char)0x07};

                if (serialBuf.indexOf(light_front, 0) == 0) {

                        emit sendLightMode(1);
                }
                else if (serialBuf.indexOf(light_back, 0) == 0) {

                        emit sendLightMode(2);
                }
                else if (serialBuf.indexOf(power, 0) == 0) {

                        short a = serialBuf[2];
                        short b = serialBuf[3];
                        int value = a << 8 | b;
                        emit showLeftPowerSignal(value);
                }

#endif
                //  sleep(0.1);
                if (isConnected_) {
                        //            f = sendToServer(tmp);
                        //                   QByteArray serialBuf;
                        //                 serialBuf.append("test socket\n");
                        emit sendToServerSignal(serialBuf);
                        //                  LOG_INFO<<"*****************\n";
                        //   printf("send: %x\n", tmp);
                } else
                        ; // printf("not connected !\n");
        }
}
Ejemplo n.º 8
0
//reply finished
void Downloader::finishedSlot(){

    if (reply->error() == QNetworkReply::NoError){
        QVariant possibleRedirectUrl = reply->attribute(QNetworkRequest::RedirectionTargetAttribute);

        if (!possibleRedirectUrl.toUrl().isEmpty()) {
            //there is redirect
            //make new request
            //emit sendInfo("Redirected to "+possibleRedirectUrl.toUrl().toString());

            reply->deleteLater();
            reply = nam.get(QNetworkRequest(possibleRedirectUrl.toUrl())); //when this reply is finished this slot will get re-triggered

            emit sendInfo("Redirecting...");
            emit sendInfo("");
            tmpBuffer.clear(); //CLEAR THE GODDAMN BUFFER!!!!
            file->resize(0);

            //reconnect since deleting reply disconnects all slots
            QObject::connect(reply, SIGNAL(finished()), this, SLOT(finishedSlot()));
            QObject::connect(reply, SIGNAL(error(QNetworkReply::NetworkError)), this, SLOT(errorSlot(QNetworkReply::NetworkError)));
            QObject::connect(reply, SIGNAL(downloadProgress(qint64, qint64)), this, SLOT(progressSlot(qint64, qint64)));
        }
        else {
            //all ok
            emit sendInfo("Downloader exiting with no errors");

            //Read whatever is left
            tmpBuffer.append(reply->readAll());
            file->write(tmpBuffer);
            file->close();

            emit sendInfo("Handing off work to updater");
            emit finisheddl();
        }
    }
    else {
        if (!erroremitted) {
            emit sendInfo("Network err code: "+reply->errorString());
            erroremitted=true;
            emit finisheddl();
        }
    }
}
Ejemplo n.º 9
0
// Slot to be triggered from the updater thread
void Downloader::startDl() {
    if (reply==nullptr) {

        //Prep appdata file
        if (!QDir(config->APPDATA).exists()) {
            QDir().mkpath(config->APPDATA);
        }
        file = new QFile(config->APPDATA+"\\patch.zip");
        file->open(QFile::WriteOnly | QFile::Truncate);

        //nam.setNetworkAccessible(QNetworkAccessManager::Accessible);
        reply = nam.get(QNetworkRequest(url));

        emit sendInfo("Starting download");
        emit sendInfo(""); //empty line which will be removed for the progress text

        QObject::connect(reply, SIGNAL(finished()), this, SLOT(finishedSlot()));
        QObject::connect(reply, SIGNAL(error(QNetworkReply::NetworkError)), this, SLOT(errorSlot(QNetworkReply::NetworkError)));
        QObject::connect(reply, SIGNAL(downloadProgress(qint64, qint64)), this, SLOT(progressSlot(qint64, qint64)));
        QObject::connect(reply, SIGNAL(readyRead()), this, SLOT(writeToFileSlot()));
    }
    else {
        emit sendInfo("You can't start the same download several times!!!");
    }
}
Ejemplo n.º 10
0
#include "jsonreader.h"
#include <QJsonDocument>
#include <QJsonObject>
#include <QJsonValue>
#include <QJsonArray>
#include <QDebug>


JsonReader::JsonReader(ProgressBar *progressBar)
{
    QObject::connect(this,SIGNAL(progressBarSetup(QString,int,int)),progressBar,SLOT(setInfo(QString,int,int)));
    QObject::connect(this,SIGNAL(progressBarUpdate(QString,int)),progressBar,SLOT(setValue(QString,int)));
    QObject::connect(this,SIGNAL(progressFinished()),progressBar,SLOT(progressFinished()));
    emit progressBarSetup(QString("Checking for updates"),0,0);
    QObject::connect(&m_ApiReader,SIGNAL(sigJsonData(QString,ApiReader::DataType)),this,SLOT(readHttpData(QString,ApiReader::DataType)));
    QObject::connect(&m_ApiReader,SIGNAL(networkError(QString,NetworkHandler::ErrorCode)),this,SLOT(errorSlot(QString,NetworkHandler::ErrorCode)));
    m_ApiReader.startCheckUpdateNecessary();
    m_IterationStep = eIndexData;
}

void JsonReader::triggerLeagueRead()
{
    emit progressBarSetup(QString("Downloading leagues ..."),0,0);
    m_ApiReader.startLeageJsonDownload();
}

void JsonReader::triggerFixtureRead(QString leagueCaption,int matchday)
{
    emit progressBarSetup(QString("Downloading Fixtures ..."),0,0);
    m_ApiReader.startFixtureJsonDownload(m_LeagueNameMap.key(leagueCaption),matchday);
}